Verify the book's numbers
Every per-strategy table in the book is computed from one frozen file, and that file is public. This page tells you where it lives, what is in it, and how to reproduce the tables from it yourself.
Where the dataset lives
trades_snapshot_2026-05-31.csv — the frozen 31 May 2026 snapshot of the project's central trades database, committed in the companion repository. 5,556 rows: 4,932 live trades and 624 paper trades.
Two classes of data are involved, and only one is redistributable: the trade ledger — every closed trade, 5,556 rows — is committed here. The raw S5 price history is not redistributable; the analysis scripts pull it from the OANDA v20 API.
What's in it
One row per closed trade. The columns:
- account_id — broker sub-account
- strategy / label — strategy name and config label
- pair — instrument (e.g. EUR_USD)
- direction — +1 long / −1 short
- entry_price, exit_price
- entry_time, exit_time
- pnl_pips — realized result in pips
- mfe_pips, mae_pips — max favorable / adverse excursion
- is_paper — live (false) or paper (true)
- units, hours_held, exit_reason
- capture_ratio, amddp1, pnl_over_mae — derived metrics
- id, trade_id — row and broker trade ids
Which book tables it reproduces
The Appendix B strategy tables — the per-strategy, per-label live and paper catalogue that is the central artifact of the book. Group the file by label (with is_paper separating live from paper) and every row of those tables falls out: trade counts, net pips, win rates, excursion statistics. The broker-side lifetime accounting, which is a different measure over a different window, lives on the Ledger page.
How to query it
Python:
import pandas as pd
t = pd.read_csv("https://theedgethatwasnt.com/data/trades_snapshot_2026-05-31.csv")
print(t.groupby(["label", "is_paper"])["pnl_pips"].agg(["count", "sum"]).round(1))
Or in any spreadsheet: open the CSV and build a pivot table of pnl_pips (sum and count) by label.
4,932 vs 5,556 vs 8,687 — one reconciliation
Three trade counts appear around this project, and they measure different things. 4,932 is the live-trade row count of the frozen snapshot — the number on the book's cover. 5,556 is the full snapshot including the 624 paper trades that never touched a broker. 8,687 is the broker's own lifetime fill count, pulled directly from OANDA at the end of June 2026 — it reaches back to 2021-era trading on accounts 001 and 002 that predates the project's database entirely, and runs a month past the frozen snapshot. Same enterprise, two instruments: the snapshot is the auditable dataset the book's numbers come from; the broker pull is the complete history the enterprise is judged on. Neither corrects the other.