수정본
This commit is contained in:
@@ -11,11 +11,11 @@
|
||||
- 횡보장: 평균회귀 확대, 데이트레이딩 축소
|
||||
- 급락 후 반등: 공격적 매수, 포지션 확대
|
||||
|
||||
[모드 전환 규칙]
|
||||
[모드 전환 규칙] CLAUDE.md 섹션 8.5
|
||||
Aggressive: ATR백분위 < 30 AND ADX > 25 AND 5일수익률 > +2%
|
||||
Normal: 기본
|
||||
Defensive: ATR백분위 > 70 OR 5일수익률 < -3%
|
||||
Crisis: ATR백분위 > 90 OR 5일수익률 < -5% OR MDD > -10%
|
||||
Crisis: ATR백분위 > 90 OR 5일수익률 < -5% OR MDD < -10%
|
||||
|
||||
[통합 방식]
|
||||
기존 config.py 값은 Normal 모드 기본값으로 유지.
|
||||
@@ -298,32 +298,32 @@ def _determine_trading_mode(
|
||||
"""모드 전환 규칙 적용 (히스테리시스 포함).
|
||||
|
||||
[우선순위: Crisis > Defensive > Aggressive > Normal]
|
||||
|
||||
Crisis: ATR백분위 > 95 OR 5일수익률 < -8% OR MDD < -15%
|
||||
Defensive: ATR백분위 > 80 OR 5일수익률 < -5%
|
||||
CLAUDE.md 섹션 8.5:
|
||||
Crisis: ATR백분위 > 90 OR 5일수익률 < -5% OR MDD < -10%
|
||||
Defensive: ATR백분위 > 70 OR 5일수익률 < -3%
|
||||
Aggressive: ATR백분위 < 30 AND ADX > 25 AND 5일수익률 > +2%
|
||||
Normal: 기본
|
||||
|
||||
[히스테리시스] 현재 모드에서 해제되려면 진입 기준보다 완화된 조건 필요.
|
||||
예: Defensive 진입 ATR>80, 해제 ATR<70 (10%p 밴드)
|
||||
예: Defensive 진입 ATR>70, 해제 ATR<60 (10%p 밴드)
|
||||
→ 경계선에서 빈번한 전환(whipsaw) 방지.
|
||||
"""
|
||||
prev_mode = _current_params.trading_mode if _current_params else TradingMode.NORMAL.value
|
||||
|
||||
# Crisis 체크 (최우선) — 진짜 위기만
|
||||
if atr_percentile > 95 or recent_5d_return < -8.0 or mdd_current < -15.0:
|
||||
# Crisis 체크 (최우선) — CLAUDE.md 섹션 8.5 정합
|
||||
if atr_percentile > 90 or recent_5d_return < -5.0 or mdd_current < -10.0:
|
||||
return TradingMode.CRISIS.value
|
||||
# Crisis 해제: 더 완화된 조건 (히스테리시스)
|
||||
if prev_mode == TradingMode.CRISIS.value:
|
||||
if atr_percentile > 85 or recent_5d_return < -5.0 or mdd_current < -10.0:
|
||||
if atr_percentile > 80 or recent_5d_return < -3.0 or mdd_current < -8.0:
|
||||
return TradingMode.CRISIS.value # 아직 위기 유지
|
||||
|
||||
# Defensive 체크 — 일반적인 조정장
|
||||
if atr_percentile > 80 or recent_5d_return < -5.0:
|
||||
# Defensive 체크 — CLAUDE.md 섹션 8.5 정합
|
||||
if atr_percentile > 70 or recent_5d_return < -3.0:
|
||||
return TradingMode.DEFENSIVE.value
|
||||
# Defensive 해제: ATR<70, 5일수익>-3% (히스테리시스)
|
||||
# Defensive 해제: ATR<60, 5일수익>-1% (히스테리시스)
|
||||
if prev_mode == TradingMode.DEFENSIVE.value:
|
||||
if atr_percentile > 70 or recent_5d_return < -3.0:
|
||||
if atr_percentile > 60 or recent_5d_return < -1.0:
|
||||
return TradingMode.DEFENSIVE.value # 아직 방어 유지
|
||||
|
||||
# Aggressive 체크 (모든 조건 AND)
|
||||
|
||||
Reference in New Issue
Block a user