You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
docs(readme): show vector/event backtest -> report workflow
Add a 'From backtest results to a report' subsection under
'Backtest Analysis & Dashboard' demonstrating the canonical paths
from a Backtest (or list of Backtests) to a BacktestReport:
- single event-driven app.run_backtest(...)
- a sweep via app.run_vector_backtests(..., backtest_storage_directory=...)
- loading a persisted folder back via BacktestReport.open(directory_path=..., workers=-1)
Cross-links to the Backtest Storage Layer section for sweeps that
scale into the thousands.
Copy file name to clipboardExpand all lines: README.md
+32Lines changed: 32 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -142,6 +142,38 @@ Every backtest produces a **self-contained HTML dashboard** — open it in any b
142
142
-**Built-in MCP server** — let Copilot, Claude, or any MCP-compatible agent query your backtests, rank strategies, and reason over trades through `investing-algorithm-framework mcp`
143
143
-**Notes keeping** — annotate every backtest with hypotheses, observations and conclusions; notes travel with the report so your research is never lost
144
144
145
+
#### From backtest results to a report
146
+
147
+
Every backtest API — vector or event-driven — returns the same `Backtest` object, which the `BacktestReport` consumes directly. So whether you're iterating over an in-memory list or a folder of persisted `.iafbt` bundles, the path to the dashboard is the same:
148
+
149
+
```python
150
+
from investing_algorithm_framework import BacktestReport
# --- Or: load a folder of bundles back later (parallel decode) ---
167
+
report = BacktestReport.open(
168
+
directory_path="./my-backtests/",
169
+
workers=-1,
170
+
show_progress=True,
171
+
)
172
+
report.save("from_disk_report.html")
173
+
```
174
+
175
+
For sweeps that grow into the thousands, combine this with the [Backtest Storage Layer](examples/storage_layer_demo/README.md) below — rank in SQLite first, then load only the winners into the report.
176
+
145
177
→ [Backtest dashboard docs](https://coding-kitties.github.io/investing-algorithm-framework/Getting%20Started/backtesting) · [MCP server docs](https://coding-kitties.github.io/investing-algorithm-framework/Advanced%20Concepts/mcp-server)
0 commit comments