138 lines
3.6 KiB
JSON
138 lines
3.6 KiB
JSON
{
|
|
"portfolio_constraints": {
|
|
"min_cash_reserve_ratio": 0.2,
|
|
"max_cash_reserve_ratio": 0.3,
|
|
"min_cash_reserve_amount": 1000000,
|
|
"max_holdings_count": 5,
|
|
"max_position_size_ratio": 0.25,
|
|
"min_position_size_ratio": 0.05,
|
|
"max_sector_concentration": 0.4,
|
|
"rebalance_threshold": 0.1
|
|
},
|
|
"risk_management": {
|
|
"max_daily_loss": 0.03,
|
|
"max_daily_trades": 10,
|
|
"max_loss_per_trade": 0.05,
|
|
"trailing_stop_loss": 0.02,
|
|
"daily_profit_target": 0.05
|
|
},
|
|
"rules": [
|
|
{
|
|
"name": "RSI 과매도 반등 전략",
|
|
"description": "RSI가 30 이하로 과매도 상태이고, 거래량이 평균의 150% 이상일 때 매수",
|
|
"rule_type": "buy",
|
|
"is_active": true,
|
|
"priority": 1,
|
|
"conditions": {
|
|
"rsi_threshold": 30,
|
|
"volume_multiplier": 1.5,
|
|
"ma_proximity": 0.03,
|
|
"trend": "down"
|
|
},
|
|
"actions": {
|
|
"action_type": "buy",
|
|
"position_sizing": {
|
|
"method": "fixed_ratio",
|
|
"target_ratio": 0.15,
|
|
"min_amount": 500000
|
|
},
|
|
"take_profit": 5.0,
|
|
"stop_loss": 3.0
|
|
}
|
|
},
|
|
{
|
|
"name": "골든크로스 추세 추종",
|
|
"description": "20일선이 60일선을 상향 돌파하고 상승 추세가 확인될 때 매수",
|
|
"rule_type": "buy",
|
|
"is_active": true,
|
|
"priority": 2,
|
|
"conditions": {
|
|
"sma_short": 20,
|
|
"sma_long": 60,
|
|
"macd_signal": "positive",
|
|
"volume_trend": "increasing"
|
|
},
|
|
"actions": {
|
|
"action_type": "buy",
|
|
"position_sizing": {
|
|
"method": "fixed_ratio",
|
|
"target_ratio": 0.2,
|
|
"min_amount": 1000000
|
|
},
|
|
"take_profit": 10.0,
|
|
"stop_loss": 5.0
|
|
}
|
|
},
|
|
{
|
|
"name": "지지선 반등 전략",
|
|
"description": "주요 지지선에서 반등하고 긍정적인 뉴스나 이벤트가 있을 때 매수",
|
|
"rule_type": "buy",
|
|
"is_active": true,
|
|
"priority": 3,
|
|
"conditions": {
|
|
"support_level": "recent_low",
|
|
"bb_position": "lower_20",
|
|
"rsi_trend": "rising",
|
|
"volume_increase": true
|
|
},
|
|
"actions": {
|
|
"action_type": "buy",
|
|
"position_sizing": {
|
|
"method": "fixed_ratio",
|
|
"target_ratio": 0.15,
|
|
"min_amount": 500000
|
|
},
|
|
"take_profit": 7.0,
|
|
"stop_loss": 4.0
|
|
}
|
|
},
|
|
{
|
|
"name": "박스권 돌파 전략",
|
|
"description": "박스권 상단을 강한 거래량과 함께 돌파할 때 매수",
|
|
"rule_type": "buy",
|
|
"is_active": true,
|
|
"priority": 4,
|
|
"conditions": {
|
|
"breakout_period": 20,
|
|
"volume_multiplier": 2.0,
|
|
"rsi_max": 70,
|
|
"trend": "up"
|
|
},
|
|
"actions": {
|
|
"action_type": "buy",
|
|
"position_sizing": {
|
|
"method": "fixed_ratio",
|
|
"target_ratio": 0.2,
|
|
"min_amount": 1000000
|
|
},
|
|
"take_profit": 15.0,
|
|
"stop_loss": 5.0
|
|
}
|
|
},
|
|
{
|
|
"name": "모멘텀 추세 전략",
|
|
"description": "강한 상승 모멘텀이 지속되고 있을 때 추가 매수",
|
|
"rule_type": "buy",
|
|
"is_active": false,
|
|
"priority": 5,
|
|
"conditions": {
|
|
"consecutive_up_days": 3,
|
|
"volume_trend": "increasing",
|
|
"macd_histogram": "increasing",
|
|
"rsi_min": 50,
|
|
"rsi_max": 70
|
|
},
|
|
"actions": {
|
|
"action_type": "buy",
|
|
"position_sizing": {
|
|
"method": "fixed_ratio",
|
|
"target_ratio": 0.15,
|
|
"min_amount": 500000
|
|
},
|
|
"take_profit": 12.0,
|
|
"stop_loss": 4.0
|
|
}
|
|
}
|
|
]
|
|
}
|