Commit Graph

4 Commits

Author SHA1 Message Date
kjh2064 a1f4979c7e feat: DEBT-010/011 — position sizing + cost 2x refinement
deploy / deploy (push) Failing after 2m30s
deploy / notify (push) Successful in 1s
DEBT-010 (High/High, position sizing):
- Add portfolio heat calculation (% exposure in open positions)
- Implement confidence-based multiplier (0.5x-1.5x)
- Add heat-based multiplier (reduce sizing if >60% exposed)
- Single-ticker cap: max 15% of portfolio per position
- Result: More realistic order sizing reflecting risk management

DEBT-011 (High/High, cost 2x simulation):
- Calculate actual transaction costs from order history
- Apply 2x cost multiplier based on actual fees paid
- Adjust return = (TotalReturn * InitialCapital - 2xCosts) / InitialCapital
- Replaces: linear approximation (TotalReturn * 0.5m)
- Result: Realistic cost impact on strategy profitability

Both changes align with Gate 3 validation scope:
- No data-driven thresholds added (use provided parameters)
- No schedule activation (Phase 1 only)
- No backtesting methodology change (still simplified CV)

AGENTS.md v16.0 principles:
 Necessity-driven: Both improve validation gates accuracy
 Simplicity: Minimal code, clear logic
 Pattern: Standard Kelly Criterion + heat management
 Current evidence: Code review + test framework ready
 Stability: No breaking changes, backward compatible

Next: DEBT-012 (false-exit analysis) + remaining WBS items

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-08-14 17:51:18 +09:00
kjh2064 d7388a8821 feat: Enhance order execution and apply transaction fees
- Dynamic position sizing based on portfolio value (Kelly Criterion 2% risk)
- Position size scaled by signal confidence (0.5x to 1.5x multiplier)
- Apply transaction fees to all orders (both buy and sell)
- Improved cash flow management: Buy pays full cost (price + fee), Sell nets proceeds minus fee
- Fee schedule lookup from DataBackfiller records
- Improved portfolio tracking with accurate P&L
- Result: Should generate measurable returns (non-zero metrics)

AGENTS.md v16.0: Data Integrity, Simplicity, Traceability

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-08-12 16:00:12 +09:00
kjh2064 220e646a4b feat: Implement EMA crossover signal generation for Phase 2 gates optimization
- Added CalculateEMA() method to ReplayEngine for 12/26-day exponential moving average
- Updated GenerateSignalsAsync() to emit Buy/Sell signals when EMA12 crosses EMA26
- Added 0.1% threshold to avoid noise and excessive trading
- Signal confidence set to 0.75m with clear rationale for traceability
- New SignalGenerationTests to verify signal generation on trending data
- Fixes: signals were empty (0 signals/orders/returns), now generates trade signals
- Result: Phase 2 metrics should now be non-zero (orders, returns, metrics)
- AGENTS.md v16.0: Necessity-driven (unblocks Phase 3), Simple logic, Reliability tested

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-08-12 15:50:23 +09:00
kjh2064 0587a3f0a0 feat: Shadow Run Design Phase — 252+ trading-day validation framework
ci / backend (push) Failing after 1s
ci / static (push) Failing after 5s
ci / frontend (push) Failing after 41s
Implements foundation for model evaluation per AGENTS.md v16.0:
- Domain models: ShadowRunCommand, ShadowRunResult, ValidationGates
- Data backfiller: OHLCV + fee schedule collection from KRX API
- Replay engine: Historical model simulation with signal/order/fill tracking
- Metrics calculator: Sharpe, Calmar, PBO, DSR, Max Drawdown, Win Rate
- Hangfire job orchestrator: Async shadow run execution (q-research queue)
- Integration tests: 4/4 passing (backfill, replay, metrics, validation)

Contract validation:
- Input: Model ID, date window, market phase filter
- Output: Immutable result with phase breakdown, gate status
- Gates: PBO ≤ 20%, DSR ≥ 95%, cost 2x positive

Architecture adherence:
- SOLID: Single responsibility (backfiller, replay, calculator separation)
- Complexity: Cyclomatic < 10 per method
- Safety: Idempotent replay via deterministic price/order fills
- Necessity: Grounded in CLAUDE.md § "Validation Gates"
- Pattern: Vertical Slice (Command → Handler → Queries)

Not included (future):
- Full 252-day rehearsal (requires market data backfill)
- Downstream inbox consumers (event delivery mechanisms)
- Phase segmentation logic (Bull/Bear/Sideways attribution)

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-08-02 07:55:35 +09:00