Files
KArtSell.Aegis/docs/02_ALGORITHM_REFACTORING.md
T
kjh2064 dcd1322d41
ci / backend (push) Failing after 12s
ci / frontend (push) Failing after 19s
ci / static (push) Failing after 45s
Initial commit: Add project files
2026-08-02 05:15:36 +09:00

3.1 KiB
Raw Blame History

02. 알고리즘 리팩터링·고도화 기준

1. 생산 모델 경계

생산 엔진은 수익률 최대화 함수가 아니라 다음의 순서가 보존된 결정 상태기계다.

HARD_IMPAIRMENT
  → PORTFOLIO_SURVIVAL
  → DYNAMIC_PROFIT_FLOOR
  → CONCENTRATION_LIQUIDITY
  → OPPORTUNITY_COST
  → REENTRY_OPTION

상위 정책이 행동을 결정하면 하위 점수는 이를 상쇄하지 못한다. 모든 정책은 PolicyId, 입력 EvidenceId, ModelVersion, ConfigVersion, 허용오차와 반대증거를 남긴다.

2. Scalar Position 제거

기존 position: float 하나로는 Core와 Tactical, 기존 lot과 재진입 lot을 분리할 수 없다. 다음 모델로 전환한다.

Portfolio
 └─ PositionLot (원가·수량·개설/종료·세금 lot)
     └─ CycleState (Entry, Peak, Floor, BreachCount, LastSell, LastBuy)
         └─ ProtectionState / ReentryWatch
  • 부분매도는 특정 Lot/Cycle에 귀속된다.
  • 재진입은 새 CycleId와 새 Lot을 만든다.
  • Strategic Core는 정책상 보호 대상 비중과 Tactical 비중을 분리한다.
  • Hard Impairment는 자동 재진입을 금지한다.

3. Functional Core / Imperative Shell

Pure Core

  • SellPolicyChain.Evaluate(input)
  • ReentryPolicy.Evaluate(input)
  • PortfolioConstraintPolicy.Evaluate(input)
  • ExpectedUtilityCalculator.Calculate(input)

Imperative Shell

  • PIT data query
  • transaction, Dapper SQL
  • EvidenceSnapshot 저장
  • Outbox 발행
  • Hangfire schedule/retry
  • SignalR/Telegram 통지

4. 기대효용 계산 분해

한 개의 opaque score 대신 구성요소를 별도로 저장한다.

  • Hold expected return distribution P10/P50/P90
  • ES95와 영구가치훼손 확률×LGD
  • marginal portfolio risk
  • liquidity/slippage/tax/FX
  • replacement lower confidence edge
  • reentry option loss

Opportunity sell은 순우위의 신뢰하단이 0을 넘고 IPS·유동성·세금 제약을 통과할 때만 허용한다.

5. 실행 시뮬레이션

  • 결정: 시장 종가 후
  • 주문의도: 다음 거래가능 세션
  • Fill: open/VWAP/limit 모델 중 승인된 시나리오
  • 부분체결, gap, ADV participation, spread, FX, 세금, 수수료를 별도 이벤트로 기록
  • SignalDecision과 Fill은 분리해 추천 성과·실행 성과·고객 행동을 attribution한다.

6. 일평가

일평가는 단타 적중률이 아니다.

영역 핵심
운영 무결성 duplicate, lookahead, DQ hold, 미승인 공개, reconciliation
예측 coverage, calibration, Brier/log loss
매도 ES/MDD 감소, permanent loss 회피, gain capture, false-exit cost
재진입 capture, delay cost, duplicate stage, expiry
비용후 효용 20/63/126/252 거래일
모델리스크 PBO, DSR, parameter stability, regime drift

7. 변경 규칙

임계값·수식·우선순위를 바꾸는 PR은 반드시 다음을 포함한다.

  1. Policy ID와 변경 사유
  2. Characterization/Golden diff
  3. Frozen OOS와 cost×2 결과
  4. market/asset/regime별 영향
  5. false-exit·reentry·ES 영향
  6. ModelCard와 rollback 기준
  7. Quant/Risk 승인