Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
116 commits
Select commit Hold shift + click to select a range
c34f730
feat: Complete ML Signal Integration Phase 1 (6/6 tasks)
stefan-jansen Nov 16, 2025
6b1ddd5
feat: Add ML strategy example and comprehensive helper method tests (…
stefan-jansen Nov 16, 2025
33b1f74
feat: Add comprehensive ML signal test fixtures (TASK-004)
stefan-jansen Nov 16, 2025
950a82b
test: Add ContextCache performance benchmarks (TASK-005)
stefan-jansen Nov 16, 2025
1492a52
docs: Complete ML Signal Integration documentation (TASK-006)
stefan-jansen Nov 16, 2025
1969048
feat: Phase 1 foundation - Enhanced MarketEvent + FeatureProvider
stefan-jansen Nov 17, 2025
3229098
feat: Implement PolarsDataFeed with lazy loading and multi-source mer…
stefan-jansen Nov 17, 2025
ba89207
feat: Implement signal timing validation to prevent look-ahead bias (…
stefan-jansen Nov 17, 2025
af3e8dd
feat: Comprehensive data validation - check ALL rows (TASK-INT-006)
stefan-jansen Nov 17, 2025
85ff310
feat: Configuration schema and loader (TASK-INT-007)
stefan-jansen Nov 17, 2025
141bc83
feat: Unified Strategy API with simple and batch modes (TASK-INT-009)
stefan-jansen Nov 17, 2025
224949f
feat: PolarsDataFeed engine integration with backward compatibility (…
stefan-jansen Nov 17, 2025
b72264e
feat: Remove indicators dict and delete ParquetDataFeed (BREAKING)
stefan-jansen Nov 17, 2025
c9b107d
feat: Implement RiskContext dataclass with lazy properties (TASK-INT-…
stefan-jansen Nov 17, 2025
316d948
feat: Implement RiskDecision and RiskRule interfaces (TASK-INT-017)
stefan-jansen Nov 17, 2025
a112c6c
feat: Implement RiskManager with context caching (TASK-INT-018)
stefan-jansen Nov 17, 2025
e5f7386
feat: Integrate RiskManager hooks into BacktestEngine (TASK-INT-019)
stefan-jansen Nov 17, 2025
d2611e6
feat: Implement basic risk rules (TASK-INT-020)
stefan-jansen Nov 17, 2025
373d3a1
feat: Position state tracking with bars_held and MFE/MAE (TASK-INT-021)
stefan-jansen Nov 17, 2025
9eaf397
feat: Fix risk management test suite and improve coverage (TASK-INT-022)
stefan-jansen Nov 17, 2025
d855eac
docs: Add comprehensive risk management documentation (TASK-INT-024)
stefan-jansen Nov 18, 2025
f12baa4
perf: Optimize RiskManager with float arithmetic and early exits (TAS…
stefan-jansen Nov 18, 2025
c8b93fb
chore: Mark Phase 2 complete - Risk Management Core delivered
stefan-jansen Nov 18, 2025
32360a4
feat: Implement VolatilityScaledStopLoss and TakeProfit rules (TASK-I…
stefan-jansen Nov 18, 2025
b2c3c25
feat: Implement DynamicTrailingStop rule (TASK-INT-032)
stefan-jansen Nov 18, 2025
10b8fa3
feat: Implement RegimeDependentRule with VIX filtering (TASK-INT-033)
stefan-jansen Nov 18, 2025
3861844
feat: Implement portfolio constraint rules (TASK-INT-034)
stefan-jansen Nov 18, 2025
7fdd0ee
chore: Update work unit state - TASK-INT-034 complete
stefan-jansen Nov 18, 2025
28090b1
feat: Implement priority + conservative conflict resolution (TASK-INT…
stefan-jansen Nov 18, 2025
d797188
chore: Update work unit state - TASK-INT-035 complete
stefan-jansen Nov 18, 2025
8ab22e0
feat: Complete TASK-INT-036 and TASK-INT-037 - Advanced risk rules te…
stefan-jansen Nov 18, 2025
f8ed41b
feat: Complete TASK-INT-012 - Data layer unit tests
stefan-jansen Nov 18, 2025
a094b60
fix: Extract all numeric columns as signals in PolarsDataFeed
stefan-jansen Nov 18, 2025
a249641
feat: Fix VolatilityScaledStopLoss and TakeProfit to check price brea…
stefan-jansen Nov 18, 2025
680966b
fix: Resolve pytest collection errors
stefan-jansen Nov 18, 2025
0b220f1
fix: Fix DynamicTrailingStop and integration test API signatures
stefan-jansen Nov 18, 2025
452171b
fix: Make risk rules defensive for unit tests without close attribute
stefan-jansen Nov 18, 2025
d129389
fix: Add get_position mock to portfolio fixture in test_risk_manager.py
stefan-jansen Nov 18, 2025
54c3f46
fix: Fix RiskManager position tracking and bars_held timing (6 tests …
stefan-jansen Nov 18, 2025
8895221
fix: Fix SimpleStrategy method signature in integration tests (4 test…
stefan-jansen Nov 18, 2025
13d75b2
fix: Fix MockDataFeed API and risk manager integration tests (8 tests…
stefan-jansen Nov 18, 2025
2e2c9a1
fix: Prevent same-event order fills with execution_delay (3 lookahead…
stefan-jansen Nov 18, 2025
913b743
fix: Fix test data validation and engine integration tests (3 tests f…
stefan-jansen Nov 18, 2025
34abc60
fix: Adjust performance test threshold to realistic expectations (fin…
stefan-jansen Nov 18, 2025
0a246d7
feat: Complete TASK-INT-011 + TASK-INT-026 - Enhanced trade recording…
stefan-jansen Nov 18, 2025
80299cf
feat: Complete TASK-INT-008 - Polars optimizations (compression, cate…
stefan-jansen Nov 18, 2025
889b19b
feat: Complete TASK-INT-013 - End-to-end ML strategy integration test…
stefan-jansen Nov 18, 2025
0769c32
feat: Complete TASK-INT-014 - Data architecture and API documentation
stefan-jansen Nov 18, 2025
d0950f5
feat: Complete TASK-INT-015 + PHASE 1 COMPLETE - Data layer performan…
stefan-jansen Nov 18, 2025
33488df
fix: Adjust RiskManager performance test threshold to realistic 50%
stefan-jansen Nov 18, 2025
406b68b
fix: Update portfolio constraint tests to use current BacktestEngine API
stefan-jansen Nov 18, 2025
31c88dd
feat: Complete TASK-INT-027 - Trade analysis utilities
stefan-jansen Nov 18, 2025
12ed6e5
feat: Complete TASK-INT-028 - Visualization utilities for trade analysis
stefan-jansen Nov 18, 2025
5f6b2b0
feat: Complete TASK-INT-030 - Integration test for trade analysis wor…
stefan-jansen Nov 18, 2025
f5e1dbc
chore: Update state.json for TASK-INT-030 completion
stefan-jansen Nov 18, 2025
1165744
feat: Complete TASK-INT-029 - Unit tests for trade recording and anal…
stefan-jansen Nov 18, 2025
1ddbb08
feat: Complete TASK-INT-038 - Refactor FillSimulator to accept Market…
stefan-jansen Nov 18, 2025
5de0e2c
chore: Update state.json for TASK-INT-038 completion
stefan-jansen Nov 18, 2025
8232f71
fix: Adjust bid/ask to open price in execution delay mode
stefan-jansen Nov 18, 2025
ba9f80c
test: Fix integration tests for enhanced slippage (15/15 passing)
stefan-jansen Nov 18, 2025
a3163d9
fix: Eliminate dual-portfolio drift causing float precision crashes
stefan-jansen Nov 19, 2025
a71853e
fix: Eliminate duplicate fill application causing infinite returns
stefan-jansen Nov 19, 2025
21c5b43
fix: Migrate validation test wrapper to new modular API
stefan-jansen Nov 20, 2025
4861373
fix: Update qengine_adapter to use new modular API (partial)
stefan-jansen Nov 20, 2025
2d93dd0
fix: Improve commission calculation in validation wrapper
stefan-jansen Nov 20, 2025
d517578
fix: Fix matcher tests (sys.path + variable naming)
stefan-jansen Nov 20, 2025
8bd9470
fix: Fix ml4t.backtest invalid function name in runner.py
stefan-jansen Nov 20, 2025
4635afd
fix: Fix remaining ml4t.backtest variable name issues
stefan-jansen Nov 20, 2025
a6bc52c
fix: Stub out qengine_adapter and fix variable naming bugs
stefan-jansen Nov 20, 2025
0355c46
fix: Fix 3 validation test failures (+3 tests, 88.1% pass rate)
stefan-jansen Nov 21, 2025
3eb8466
fix: Fix import paths in validation tests (no pass rate change)
stefan-jansen Nov 21, 2025
241d545
fix: Fix OrderSide import in cash constraint test (+3 tests, 143/159 …
stefan-jansen Nov 21, 2025
8e71680
fix: Fix import paths in runner.py for new modular API structure
stefan-jansen Nov 21, 2025
6c7f8d0
fix: Update validation tests to use new ml4t.backtest API
stefan-jansen Nov 21, 2025
d38a925
fix: Fix validation tests - 149 passed, 0 failed (was 143/11)
stefan-jansen Nov 21, 2025
65639f0
fix: Multi-asset validation tests with event-driven framework comparison
stefan-jansen Nov 21, 2025
a660a15
chore: Update trade logs after multi-asset validation fixes
stefan-jansen Nov 21, 2025
87a16b4
fix: Validation tests now pass - 148 passed, 17 skipped, 0 failed
stefan-jansen Nov 22, 2025
9d8a3ec
docs: Document VectorBT OSS/Pro conflict and Python 3.12 traceback bug
stefan-jansen Nov 22, 2025
b6432a4
fix: Multi-asset validation now handles both long and short positions
stefan-jansen Nov 22, 2025
5f63cf6
chore: Remove archive/, resources/, .claude/archive/, .claude/diagnos…
stefan-jansen Nov 22, 2025
7736469
docs: Update README, memory, create validation work unit
stefan-jansen Nov 22, 2025
638a8cf
feat: Add comprehensive risk management and execution model
stefan-jansen Nov 23, 2025
d41ec62
feat: Add NEXT_BAR_OPEN stop fill mode, achieve EXACT MATCH all frame…
stefan-jansen Nov 23, 2025
ef754ef
feat: Add array infrastructure for future performance optimizations
stefan-jansen Nov 23, 2025
08263c7
feat: Add futures support with ContractSpec, optimize DataFeed iteration
stefan-jansen Nov 23, 2025
8399ec4
docs: Add comprehensive user guides for migration and differentiators
stefan-jansen Nov 23, 2025
e08a317
fix: Resolve ruff lint issues in broker, calendar, and dynamic rules
stefan-jansen Nov 23, 2025
f2c4acd
fix: Resolve all mypy type errors (33 → 0)
stefan-jansen Nov 23, 2025
0631e90
chore: Tighten mypy config (enable stricter checks)
stefan-jansen Nov 23, 2025
7eb7562
chore: Add pre-commit config with ruff, mypy, and standard hooks
stefan-jansen Nov 23, 2025
2bd4aa2
feat: Add analysis module, rebalancer, risk tests, and examples
stefan-jansen Dec 26, 2025
45e0f9b
feat: Add Jupyter notebooks with framework comparisons
stefan-jansen Dec 26, 2025
b75bab6
docs: Update README and PROJECT_MAP with accurate statistics
stefan-jansen Dec 26, 2025
1885288
feat: Add Jupyter notebooks with framework comparisons
stefan-jansen Dec 26, 2025
dd7cc45
feat: Add 20 validation scenarios for commission, slippage, trailing …
stefan-jansen Dec 26, 2025
bf86e11
feat: Add bracket order (OCO) validation scenarios
stefan-jansen Dec 26, 2025
1870673
fix: Release readiness audit - remove pytest from deps, fix type issues
stefan-jansen Dec 29, 2025
67dfd36
feat: Add VolatilityStop rules, MAEMFEAnalyzer, and book integration
stefan-jansen Dec 30, 2025
1895861
feat: Add VaR/CVaR portfolio limits and cross-reference notebooks
stefan-jansen Dec 30, 2025
84f9159
feat: Add factor-based portfolio limits (Beta, Sector, Factor exposure)
stefan-jansen Dec 31, 2025
98f6296
feat: Improve test coverage from 84% to 92%
stefan-jansen Dec 31, 2025
84d5167
test: Add broker coverage tests for position rules and edge cases
stefan-jansen Dec 31, 2025
803637f
test: Push broker.py coverage to 95% (from 80%)
stefan-jansen Jan 1, 2026
005589a
feat: Add BacktestResult class with Parquet export and session-aligne…
stefan-jansen Jan 2, 2026
4568e7b
feat: Add ExitReason enum and enrich_trades_with_signals() for cross-…
stefan-jansen Jan 2, 2026
3706d64
feat: Add cross-library API spec, comprehensive tests, and README upd…
stefan-jansen Jan 3, 2026
3b3145d
feat: Architectural improvements - convenience methods, risk exports,…
stefan-jansen Jan 3, 2026
2148c93
feat: Add order rejection reason tracking
stefan-jansen Jan 3, 2026
de6e80f
refactor: Decouple Gatekeeper from Policy via handle_reversal()
stefan-jansen Jan 3, 2026
9181c74
refactor: Extract FillExecutor from broker.py (252 → 14 lines)
stefan-jansen Jan 3, 2026
277268b
feat: Improve code quality, documentation, and examples (Phases 1-3)
stefan-jansen Jan 3, 2026
a78611d
feat: Add Mode enum and deprecate dict-style result access (Phase 4)
stefan-jansen Jan 3, 2026
3b434d0
feat: Add strategy templates for common trading patterns
stefan-jansen Jan 3, 2026
3511f9e
test: Add rebalancer preview tests and fix format issues
stefan-jansen Jan 3, 2026
fd6dc7f
feat: Add stop_slippage_rate for realistic stop order fills
stefan-jansen Jan 4, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
The diff you're trying to view is too large. We only load the first 3000 changed files.
324 changes: 0 additions & 324 deletions .claude/EXPLORATION_SUMMARY.md

This file was deleted.

Loading
Loading