Files
KArtSell.Aegis/docs/LEGACY/v11/02_ALGORITHM_REFACTORING.md
T
kjh2064 5dfb8f3e12
ci / backend (push) Failing after 1s
ci / static (push) Failing after 6s
ci / frontend (push) Failing after 5s
refactor: Reorganize docs folder structure for clarity and version management (PR 3c)
Reorganize documentation following AGENTS.md v16.0 governance (traceability, reproducibility):

Structure changes:
- CURRENT/ (new)
  ├─ 00~08.md (v16.0 standards, renamed for clarity)
  └─ CATALOGS/ (9 CSV files: WBS, decision log, debt register, matrices, catalogs)

- LEGACY/ (new, read-only archives)
  ├─ v11/ (original baseline + hardening analysis)
  ├─ v12~v15/ (.gitkeep + README for future archiving)

- DECISIONS/ (new, ready for ADR usage)
- TEMPLATES/ (existing, unchanged)

Deletions (consolidated into CURRENT/):
- v16_0/ folder (files migrated)
- hardening/ folder (contents → LEGACY/v11/)
- Root-level v11 files (00~07.md, CSV)

Renames (for clarity):
- 00_EXECUTIVE_REFERENCE_IMPLEMENTATION.md → 00_EXECUTIVE.md
- 01_BRUTAL_ROLE_AUDIT.md → 01_ROLE_AUDIT.md
- 02_FRONTEND_ADAPTER_CRUD_STANDARD.md → 02_FE_ADAPTER.md
- 03_BACKEND_DATA_SCHEDULER_STANDARD.md → 03_BE_DATA.md
- 04_ALGORITHM_MODEL_GOVERNANCE.md → 04_ALGORITHM.md
- 05_PROCESS_VIBE_DEBT_CONTROL.md → 05_PROCESS_VIBE_DEBT.md
- 06_VALIDATION_TRUTH.md → 06_VALIDATION.md
- 07_PACKAGE_ATTACHMENT_POLICY.md → 07_PACKAGE_POLICY.md

Updates:
- docs/INDEX.md (complete rewrite with navigation)
- LEGACY/ folders with README + .gitkeep

Benefits:
 Clear version management (v16.0 is active, v11~v15 read-only)
 No version mixing in root
 CURRENT/ as single point of reference for active docs
 CATALOGS/ consolidates all data matrices
 LEGACY/ preserves history without clutter
 Traceability: decision log, tech debt, WBS all linked
 DECISIONS/ ready for ADR pattern (future use)

Sync with root:
- CLAUDE.md references: docs/CURRENT/, docs/INDEX.md 
- AGENTS.md references: docs/CURRENT/, traceability 
- README.md: Document guide links updated 

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-08-02 05:49:29 +09:00

97 lines
3.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 02. 알고리즘 리팩터링·고도화 기준
## 1. 생산 모델 경계
생산 엔진은 수익률 최대화 함수가 아니라 다음의 순서가 보존된 **결정 상태기계**다.
```text
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을 분리할 수 없다. 다음 모델로 전환한다.
```text
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 승인