docs: define strategy template and backtesting MVP

This commit is contained in:
Bu5hm4nn
2026-03-24 11:23:12 +01:00
parent d0b1304b71
commit 78a01d9fc5
2 changed files with 1036 additions and 5 deletions

View File

@@ -292,10 +292,73 @@ DATA-001 (Price Feed)
**Dependencies:** PORT-001
### EXEC-001A: Named Strategy Templates [P1, M] **[depends: DATA-003]**
**As a** risk manager, **I want** protection strategies to be first-class named templates **so that** I can compare, reuse, and later edit hedge definitions.
**Acceptance Criteria:**
- Persist strategy templates with a stable id and display name
- Support at least initial system-defined templates (future user-editable names)
- Store template parameters separately from backtest scenarios
- Strategy templates are reusable by both live recommendation flows and backtests
**Technical Notes:**
- Add strategy template model/repository
- Separate template definition from strategy execution state
- Keep room for future user-editable naming and rule parameters
**Dependencies:** DATA-003
### BT-001: Synthetic Historical Backtesting [P1, L] **[depends: EXEC-001A, PORT-001]**
**As a** portfolio manager, **I want** to backtest hedge strategies against historical selloffs **so that** I can see which approach would have survived without a margin call.
**Acceptance Criteria:**
- Define a backtest scenario with start date, end date, collateral basis, and initial LTV
- Simulate at least one named hedge strategy over historical GLD prices
- Report max LTV, final equity, hedge cost, and whether a margin call would have occurred
- Compare protected vs unprotected outcomes for the same scenario
- Support known event replay such as the 2026 gold selloff window
**Technical Notes:**
- Start with synthetic/model-priced historical options rather than requiring point-in-time full historical chains
- Use historical underlying prices plus Black-Scholes/volatility assumptions
- Output both time series and summary metrics
**Dependencies:** EXEC-001A, PORT-001
### BT-002: Historical Daily Options Snapshot Provider [P2, L] **[depends: BT-001]**
**As a** quant user, **I want** real historical daily options snapshots **so that** backtests use observed premiums instead of only modeled prices.
**Acceptance Criteria:**
- Historical data provider abstraction supports point-in-time daily option chain snapshots
- Backtest engine can swap synthetic pricing for provider-backed historical daily premiums
- Contract selection avoids lookahead bias
- Provider choice and data quality limits are documented clearly
**Technical Notes:**
- Add provider interface for underlying history and option snapshot history
- Prefer daily snapshots first; intraday/tick fidelity is a later upgrade
- Candidate providers: Databento, Massive/Polygon, ThetaData, EODHD
**Dependencies:** BT-001
### BT-003: Selloff Event Comparison Report [P2, M] **[depends: BT-001]**
**As a** portfolio manager, **I want** event-based backtest reports **so that** I can answer questions like “which strategy got me through the Jan 2026 selloff?”
**Acceptance Criteria:**
- Event presets can define named historical windows
- Report ranks strategies by survival, max LTV, cost, and final equity
- Report highlights breach date if a strategy fails
- UI can show the unhedged path beside hedged paths
**Dependencies:** BT-001
## Implementation Priority Queue
1. **PORT-001A** - Add collateral entry basis and derived weight/value handling in settings
2. **PORT-002** - Risk management safety
3. **EXEC-001** - Core user workflow
4. **EXEC-002** - Execution capability
5. Remaining features
1. **EXEC-001A** - Define named strategy templates as the foundation for backtesting
2. **BT-001** - Ship synthetic historical backtesting over GLD history
3. **PORT-003** - Historical LTV visibility and export groundwork
4. **BT-002** - Upgrade backtests to real daily options snapshots
5. **BT-003** - Event comparison reporting
6. **EXEC-001** - Core user workflow
7. **EXEC-002** - Execution capability
8. Remaining features