# ๐Ÿ“ˆ ๋ฆฌ์Šคํฌ ์ ์ˆ˜ ๊ธฐ๋ฐ˜ ์ „๋žต ํ…œํ”Œ๋ฆฟ ๊ฐœ๋… ์ •๋ฆฌ (`risk_adjusted_strategy.py`) --- ## โœ… ๋ชฉ์  `risk_adjusted_strategy.py`๋Š” **๋ฆฌ์Šคํฌ ์ ์ˆ˜(risk_score)**๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์ข…๋ชฉ๋ณ„ ์ „๋žต ์กฐ๊ฑด์„ ๋‹ค๋ฅด๊ฒŒ ์„ค์ •ํ•˜๋Š” ํ…œํ”Œ๋ฆฟ์ž…๋‹ˆ๋‹ค. > ๋ฆฌ์Šคํฌ๊ฐ€ ๋‚ฎ์€ ์ข…๋ชฉ์€ **๋” ๊ณต๊ฒฉ์ ์œผ๋กœ**, ๋ฆฌ์Šคํฌ๊ฐ€ ๋†’์€ ์ข…๋ชฉ์€ **๋ณด์ˆ˜์ ์œผ๋กœ ๋˜๋Š” ์ œ์™ธ**ํ•˜๋Š” ์ „๋žต ๊ตฌ์กฐ์ž…๋‹ˆ๋‹ค. --- ## ๐Ÿง  ์ „๋žต ์„ค๊ณ„ ๊ธฐ์ค€ | risk_score | TP ๋น„์œจ | SL ๋น„์œจ | ๋งค์ˆ˜ ์—ฌ๋ถ€ (action) | |------------|---------|---------|---------------------| | โ‰ฅ 80 | +7% | -3% | Buy | | 70 ~ 79 | +5% | -3% | Buy | | 60 ~ 69 | +3% | -2% | Buy | | < 60 | โ€” | โ€” | None (๋งค์ˆ˜ ์ œ์™ธ) | - TP: Target Price (๋ชฉํ‘œ ์ˆ˜์ต๋ฅ ) - SL: Stop Loss (์†์ ˆ ๊ธฐ์ค€) --- ## ๐Ÿ” ๋‚ด๋ถ€ ๋™์ž‘ ํ๋ฆ„ ```python df['entry_price'] = df['close'] if risk_score >= 80: target = price * 1.07 stop = price * 0.97 action = 'Buy' elif risk_score < 60: action = 'None' ``` --- ## ๐Ÿ“Š ์ถœ๋ ฅ ์˜ˆ์‹œ | symbol | entry_price | target_price | stop_loss | action | |--------|-------------|--------------|-----------|--------| | AAPL | 185.6 | 198.6 | 180.0 | Buy | | TSLA | 241.3 | โ€” | โ€” | None | --- ## โš™๏ธ ์ ์šฉ ์œ„์น˜ - `strategy_engine/templates/` ๋””๋ ‰ํ† ๋ฆฌ์— ์œ„์น˜ - `run_strategy.py` ๋˜๋Š” ๋ถ„์„ ์‹œ์ ์—์„œ `basic_strategy`์™€ ๊ต์ฒด ์‚ฌ์šฉ ๊ฐ€๋Šฅ --- ## ๐Ÿ”ง ํ–ฅํ›„ ํ™•์žฅ ๋ฐฉํ–ฅ | ํ™•์žฅ ํ•ญ๋ชฉ | ์„ค๋ช… | |-----------|------| | TP/SL ๋น„์œจ ํŠœ๋‹ | ROI ๋˜๋Š” ATR ๊ธฐ๋ฐ˜์œผ๋กœ ๋™์  ์กฐ์ • | | Buy/Sell ์กฐ๊ฑด ์ถ”๊ฐ€ | ์ƒ์Šน ํ™•๋ฅ , ๋ชจ๋ฉ˜ํ…€, ๊ฑฐ๋ž˜๋Ÿ‰ ๋“ฑ ๋ณตํ•ฉ ์กฐ๊ฑด ๋ฐ˜์˜ | | ์ „๋žต ์œ ํ˜• ๊ตฌ๋ถ„ | ๋ณด์ˆ˜ํ˜•/๊ณต๊ฒฉํ˜• ๋“ฑ ์‚ฌ์šฉ์ž ์„ ํƒ ๊ฐ€๋Šฅ ๊ตฌ์กฐ๋กœ ๊ฐœ์„  | --- ## โœ… ์ •๋ฆฌ - ์ด ์ „๋žต ํ…œํ”Œ๋ฆฟ์€ **risk_score์— ๋”ฐ๋ผ ์ „๋žต์„ ์œ ์—ฐํ•˜๊ฒŒ ์กฐ์ •**ํ•˜๋Š” ๊ตฌ์กฐ์ž…๋‹ˆ๋‹ค. - `basic_strategy.py`๋ณด๋‹ค **ํ•œ ๋‹จ๊ณ„ ์ •๊ตํ•œ ํŒ๋‹จ ๋กœ์ง**์„ ์ œ๊ณตํ•˜๋ฉฐ, - **๋ฆฌ์Šคํฌ ์ ์ˆ˜๋ฅผ ์ „๋žต์ ์œผ๋กœ ํ™œ์šฉ**ํ•˜๋Š” ๋Œ€ํ‘œ์ ์ธ ์ „๋žต ํ…œํ”Œ๋ฆฟ์ž…๋‹ˆ๋‹ค.