You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
fithia2/docs/v12.61 전략 완전 해설.md

12 KiB

return_max_long_v12.61 — 전략 완전 해설

SQS: 67.8 | 등록: 2026-03-30 | 저널: IMP-0893


한 줄 요약

이벤트 드리븐 롱 온리 전략. earnings_release, guidance_update, material_contract, other_material_event, management_change, unknown 6종 이벤트를 23개 엔진으로 처리하며, OOT 손실 유발 2개 엔진을 비활성화하고 저위험 슬리브를 소폭 증량한 sparse OOT 방어형 구성이다.


계보

v12.4   SQS 51.7  management_change 엔진 추가 (v11.49 donor graft)
v12.8   SQS 51.7  reaction_close_long_core macro_vix_max 25로 타이트화 (OOT 방어)
v12.13  SQS 51.2  bullish_raised 2개 엔진 동시 비활성화 테스트
v12.25  SQS 51.3  (파생 실험)
v12.31  SQS 51.3  (파생 실험)
v12.36  SQS 51.0  next_open_long_unknown_ome_orderly에 entropy 필터 추가
v12.42  SQS 59.2  reaction_close_long_core close_location_min 상향 (OOT tail 감소)
v12.59  SQS 60.3  guidance_unknown_orderly 소폭 증량 (de-risk 브랜치에서 CW 회복)
v12.61  SQS 67.8  earnings_mixed_inline_orderly 소폭 증량 → 최고 SQS

v12.61의 핵심 변경: earnings_mixed_inline_orderlyper_trade_risk_pct_override를 0.035 → 0.045로 증량. OOT 손실에 기여하지 않는 슬리브만 증량하여 test/CW를 개선하면서 sparse OOT gains를 보존하는 전략.


비활성화된 엔진

엔진 비활성화 이유
reaction_close_long_bullish_raised_priority sparse OOT에서 bullish-raised tax 집중 — OOT 손실 유발
next_open_long_bullish_raised_recovery_oneoff_largecap_tight 동일 계열 tail risk — 희소 OOT에서 리스크 대비 기여 미미

설정 전체

데이터셋

dataset_snapshot_id: midlarge-liquid-long-v1_bucketfix_full_audit_tier3tech
scoring_model: return_max_long_v13e

신호 (Signal)

파라미터 의미
score_threshold 0.45 일반 진입 최소 점수
a_tier_score_threshold 0.58 A-tier 분류 최소 점수
max_candidates_per_day 18 일일 최대 후보 수

리스크 (Risk)

파라미터 의미
per_trade_risk_pct 0.069 (6.9%) 기본 트레이드당 리스크
per_trade_risk_pct_a_tier 0.0759 (7.59%) A-tier 트레이드당 리스크
max_daily_new_risk_pct 1.5% 일일 최대 신규 리스크 한도
max_positions 24 최대 동시 포지션 수
max_positions_per_sector 5 섹터별 최대 포지션 수
max_position_value_pct 1.5% 포지션당 최대 자산 비중
max_adv_fraction 0.20 ADV 대비 최대 주문 비중
stop_atr_multiplier 1.45 ATR 기반 스탑 배율
macro_regime_neutral_size_scaler 1.0 중립 레짐 사이징 배율
macro_regime_risk_off_size_scaler 1.0 Risk-off 레짐 사이징 배율
veto_unknown_direction false unknown 방향 이벤트 허용
macro_regime_risk_off_a_tier_only false Risk-off 시 A-tier only 아님
allow_budget_downsizing true 예산 부족 시 사이징 하향 허용

실행 (Execution)

파라미터 의미
max_holding_days 12 최대 보유 기간
trailing_warmup_days 6 트레일링 스탑 시작 대기일
a_tier_target_1_r 3.5R A-tier 1차 목표
a_tier_target_1_fraction 0.0 A-tier 1차 목표 청산 비중 (0 = 전량 유지)
non_a_tier_target_1_r 2.25R 일반 1차 목표
non_a_tier_target_1_fraction 0.2 일반 1차 목표 청산 비중 (20%)
early_failure_no_progress_days 1 진전 없음 판단 대기일
early_failure_no_progress_r 0.15R 진전 없음 기준 (0.15R 미만)
early_failure_no_progress_fraction 1.0 진전 없음 시 전량 청산

이벤트 타입 프로파일

타입 활성화 direction_filter max_holding_days_override
material_contract any 20일
other_material_event any 20일
unknown any 12일

23개 전략 엔진

활성화된 엔진 (23개)

엔진은 timing_class 기준 두 그룹으로 나뉜다.

same_day (reaction_close 계열) — 이벤트 당일 장 마감 전 진입, 다음 날 오픈 전에 분류 완료

엔진 이벤트 타입 VIX 상한 close_location ≥ volume_ratio ≥ 리스크 목표
reaction_close_long_core earnings, guidance 25 0.60 1.0 4.5% 기본
reaction_close_long_residual_lowclose_gap_d3 earnings, guidance 30 0.35 1.25 기본 3.0R
reaction_close_long_residual_smallcap_gap earnings, guidance 30 0.45 1.25 기본 3.0R
reaction_close_long_extreme_orderly earnings, guidance 30 0.83 6.0 기본 99R (트레일)
reaction_close_long_unknown_strong unknown 30 0.50 1.0 2.0% 기본

after_close / any (next_open 계열) — 장 마감 후 이벤트, 다음 날 오픈 진입

엔진 이벤트 타입 VIX 상한 close_location ≥ volume_ratio ≥ 리스크 목표 기타 필터
next_open_long_unknown_material_patient material_contract 30 0.50 0.8 기본 5.0R
next_open_long_bullish_raised_recovery earnings 30 0.03 1.2 0.35% 5.0R
next_open_long_unknown_inline_hivol earnings 30 0.74 2.1 기본 5.0R
next_open_long_guidance_unknown_orderly guidance 30 0.90 0.8 4.5% 6.0R
next_open_long_earnings_mixed_inline_orderly earnings 30 0.50 1.0 4.5% 5.0R
next_open_long_unknown_material_orderly material_contract 30 0.50 0.9 1.5% 5.0R
next_open_long_other_material_mixed_orderly other_material 30 0.45 1.0 3.5% 5.0R
next_open_long_guidance_unknown_premarket_orderly guidance 30 0.35 0.75 1.5% 5.0R
next_open_long_unknown_ome_orderly other_material 30 0.55 1.0 6.0% 5.0R entropy ≤ 1.98
next_open_long_mixed_ome_orderly other_material 30 0.50 0.8 1.5% 5.0R entropy ≤ 1.90
next_open_long_bullish_raised_recovery_broad_oneoff earnings 30 0.30 1.3 2.5% 5.0R
next_open_long_other_material_unknown_orderly other_material 30 0.35 0.75 0.3% 5.0R entropy ≤ 1.65
next_open_long_material_contract_mixed_micro_postmarket material_contract 30 0.60 0.5 1.5% 5.0R entropy ≤ 2.05
next_open_long_guidance_mixed_micro_postmarket_tight guidance 30 0.65 0.6 0.8% 5.0R entropy ≤ 1.65
next_open_long_guidance_mixed_micro_postmarket guidance 30 0.55 0.5 1.4% 5.0R entropy ≤ 1.70
next_open_long_earnings_unknown_inline_postmarket_strict earnings 30 0.10 1.2 0.8% 5.0R entropy ≤ 1.90
next_open_long_bullish_raised_strong earnings 0.96 1.2 1.5% 5.0R
next_open_long_management_change_unknown_premarket management_change 기본 기본

비활성화된 엔진 (2개)

엔진 비활성화 이유
reaction_close_long_bullish_raised_priority OOT bullish-raised 손실 집중
next_open_long_bullish_raised_recovery_oneoff_largecap_tight 희소 OOT tail risk

성과

Full Split (학습/검증/테스트)

구분 기간 거래수 수익률 Sharpe Win% MaxDD
Train 2022-03-02 ~ 2024-03-04 102 +167.4% 2.80 68.6% 6.6% 0.823
Valid 2024-03-05 ~ 2025-03-06 25 +74.4% 3.90 100% 5.6% 0.907
Test 2025-03-07 ~ 2026-03-24 24 +71.7% 7.46 100% 1.6% 0.935

SQS: 67.8 (공개 리더보드 기준)

Walk-Forward Validation (12 폴드, 2022~2026)

테스트 집계

지표
평균 수익률 +19.64%
중앙값 수익률 +15.01%
최저 수익률 +2.95%
양수 폴드 비율 100% (12/12)
평균 Profit Factor 20.52
평균 MaxDD 2.96%
평균 거래수 11.8
평균 Win Rate 80.67%

폴드별 테스트 결과

폴드 테스트 기간 수익률 Sharpe Win% 거래수
0 2023-03~2023-06 +8.0% 1.04 83% 6
1 2023-06~2023-09 +3.0% 0.54 44% 9
2 2023-09~2023-12 +9.0% 1.01 80% 10
3 2023-12~2024-03 +32.5% 2.04 88% 16
4 2024-03~2024-06 +15.8% 1.07 58% 12
5 2024-06~2024-09 +11.3% 0.93 67% 15
6 2024-09~2024-12 +14.2% 1.90 78% 9
7 2024-12~2025-03 +17.5% 1.87 70% 20
8 2025-03~2025-06 +9.0% 1.41 100% 7
9 2025-06~2025-09 +44.8% 2.78 100% 12
10 2025-09~2025-12 +23.3% 3.45 100% 11
11 2025-12~2026-03 +47.5% 6.68 100% 15

설계 포인트

1. OOT 방어 구조

reaction_close_long_bullish_raised_prioritynext_open_long_bullish_raised_recovery_oneoff_largecap_tight 비활성화는 v12 계열 전체의 핵심 설계다. Sparse OOT(2020-2021 데이터)에서 bullish-raised 계열이 손실을 집중시키는 경향이 확인되어, 이 두 슬리브를 제거하면서 나머지 bullish-raised 엔진(next_open_long_bullish_raised_recovery, next_open_long_bullish_raised_recovery_broad_oneoff, next_open_long_bullish_raised_strong)은 유지했다.

2. de-risk 브랜치 증량 전략

reaction_close_long_coremacro_vix_max=25 타이트화(v12.8)로 고변동 환경에서의 노출을 줄이고, 그 빈 예산을 OOT에서 손실을 내지 않는 저위험 슬리브들(guidance_unknown_orderly, earnings_mixed_inline_orderly)로 채웠다. v12.59에서 guidance, v12.61에서 earnings_mixed를 각각 소폭 증량하여 SQS를 60.3 → 67.8로 끌어올렸다.

3. Entropy 필터

other_material_event와 일부 소형주 지도계열 엔진에 pre_event_entropy_60d_max 제약을 추가. 이벤트 전 60일 엔트로피가 높으면(≥1.65~2.05) 노이즈성 이벤트 가능성이 높아 필터링한다.

4. 비대칭 사이징

엔진별 per_trade_risk_pct_override가 0.3%~6.9%로 크게 차이난다. 높은 리스크 엔진은 신호 품질이 높고 검증된 슬리브(reaction_close_long_core 4.5%, next_open_long_unknown_ome_orderly 6.0%), 낮은 리스크 엔진은 탐색적이거나 sparse 환경에서 불확실한 슬리브(next_open_long_bullish_raised_recovery 0.35%, next_open_long_other_material_unknown_orderly 0.3%).

5. A-tier 목표 구조

A-tier 엔진은 target_1_r=3.5R에서 청산 비중 0% → 전량 트레일링으로 넘어간다. 일반 엔진은 2.25R에서 20% 청산 후 나머지를 트레일링. 강한 신호일수록 조기 청산 없이 더 달린다.


활용 가이드

# Full split 재실행
python apps/backtester/run.py \
  --manifest configs/experiments/return_max_long_v12.61.json \
  --snapshot-dir data/parquet/midlarge-liquid-long-v1_bucketfix_full_audit_tier3tech \
  --output-root runs/v12.61_fullsplit

# 시나리오 테스트
fithia2 scenario-test --config return_max_long_v12.61

# 과적합 검사
fithia2 overfit-check --config return_max_long_v12.61 --quick

연관 실험

실험 관계 SQS
return_max_long_v12.59 직계 부모 60.3
return_max_long_v12.42 조부 59.2
return_max_long_v12.8 v12 OOT 방어 출발점 51.7
return_max_long_v11.49 management_change 엔진 donor
return_max_long_v7.70 현재 챔피언 76.9