# 알고리즘·데이터 계약 ## 1. 매도 정책 체인 고정 순서: 1. `ALG-SELL-001` Hard impairment. 2. `ALG-SELL-PORT-001` Portfolio survival/capital floor. 3. `ALG-SELL-002` Gap floor breach. 4. `ALG-SELL-003` Two-close breach. 5. `ALG-SELL-004` Concentration/liquidity. 6. `ALG-SELL-005` Opportunity replacement. 7. `ALG-HOLD-001` Hold. 상위 정책이 결정을 생성하면 하위 정책은 평가 결과를 상쇄하지 않는다. ## 2. 단위 계약 | 필드 | 의미 | 단위 | |---|---|---| | `SellRatioOfLot` | 현재 Lot 수량 중 매도 비율 | 0~1 | | `CurrentPortfolioWeight` | 해당 보유의 현재 포트폴리오 비중 | 0~1 | | `StrategicCoreFloorWeight` | 매도 후 보존할 절대 포트폴리오 비중 | 0~1 | | `TargetPortfolioWeightAfter` | 정책 실행 후 예상 포트폴리오 비중 | 0~1 | | `OpportunityEdgeLowerBound` | 비용후 교체우위 신뢰구간 하단 | 수익률 | Profit floor, concentration, opportunity 정책은 strategic core를 보존한다. Portfolio survival은 생존 우선순위 때문에 core 아래 축소가 가능하다. Hard impairment는 전량매도와 자동 재진입 금지가 기본이다. ## 3. Evidence Version Set Decision은 다음 값 없이는 저장하지 않는다. - PositionLotId, CycleId. - EvidenceId, DatasetId. - ModelVersion, ConfigVersion, CodeSha. - AsOf, PublishedAtCutoff. - PolicyId, Priority, ReasonCode. - DecisionHash, IdempotencyKey, CorrelationId. ## 4. Reentry 상태기계 `WATCHING → READY → REENTERED → WATCHING/OPEN`이며 Hard impairment는 `CLOSED`, 126 거래일 만료는 `EXPIRED`다. Ready 조건: - 매도 후 최소 10 거래일. - 직전 단계 후 최소 10 거래일. - 상승 중인 50일선 회복. - 직전 20 거래일 고점 돌파. - 자산유형별 추가 확인조건. 재진입은 새 CycleId와 새 Lot을 생성한다. ## 5. 데이터 계층 | Layer | 내용 | 불변조건 | |---|---|---| | L0 | Source Catalog/License/SLA | 승인 없는 소스 사용 금지 | | L1 | Raw payload/hash | overwrite 금지 | | L2 | Canonical PIT/revision | published_at 이후 사용 | | L3 | DQ/lineage/dataset manifest | quarantine 사용 금지 | | L4 | Feature/Forecast/Risk/Evidence | code/config/data hash | | L5 | Decision/Review/Publish/Outcome | append-only audit | | L6 | Read Model | version/watermark/rebuild | | L7 | Backtest/ModelCard/Release | artifact hash | ## 6. 검증 - Lookahead 0. - 당시 유니버스와 상폐수익 포함. - 기업행사·총수익·Fee/Tax/FX PIT. - deterministic seed와 frozen manifest. - 비용 2배에서도 기대효용 양수. - PBO ≤20%, DSR ≥95%는 승격 Gate이며 현재 달성 주장 아님. - 재진입 포착률 ≥65%, false-exit 연 2% 이하도 Shadow 검증 목표다.