Signal Ledger
Market data to decisions. Every step accounted for.
Live · Leakage checks · Updated 2026
Python · pandas · NumPy · SQLite · pytest
Open product ↗ Private source
- Context
- Independent quantitative research project · 2026
- My role
- Designer and sole engineer
- Team
- Solo build
- Evidence
- Public research report · private source · automated correctness checks
01 Problem
A convincing return chart is only the beginning. Missing bars, corporate actions, future-data leakage, unaffordable orders, and retrospective decisions can all make a strategy look more credible than the evidence supports.
02 Constraints
- 01Long-only daily ETF research with explicit costs, slippage, and liquidity assumptions; no broker orders.
- 02Signals use information available at the decision time; modeled execution occurs at the next session close.
- 03The selected ETF universe retains selection bias. Timing checks do not establish a survivorship-free universe.
- 04Historical data exceptions remain quarantined; issuer NAV is not interchangeable with exchange closing prices.
- 05Prospective rules are frozen before recording begins. Missed decision windows stop the run rather than create backdated decisions.
- 06The paper account uses integer shares, settled cash, fees, dividend receivables, and settlement dates under documented hypothetical account rules.
03 Architecture
04 Decisions
Preserve suspect data and its evidence trail.
Why A large return may be genuine or a data defect. Silently repairing it hides a research decision.
Tradeoff Unresolved exceptions can block validation; independent exchange-price evidence is still required.
Separate historical research from prospective accounting.
Why A replayed decision is not evidence of what the system decided in real time.
Tradeoff Forward evidence takes elapsed market sessions and cannot be manufactured by running more backtests.
Account for shares and cash explicitly.
Why A target allocation is not a fill. Lots, fees, settlement, and corporate actions change what an account can hold.
Tradeoff Paper fills are modeled; broker-specific rules and actual execution evidence require separate validation.
Keep model experiments and passive benchmarks visible.
Why Walk-forward ML and trend research must be compared with simple alternatives, including unsuccessful experiments.
Tradeoff The project demonstrates research infrastructure, not proven alpha. Historical drawdown limits cannot guarantee future losses.
05 Failure
A historical price jumps unexpectedly.
Record and quarantine the exception; NAV evidence does not automatically clear an exchange-price anomaly.
A future price changes in a leakage check.
Earlier signals and decisions must remain unchanged.
A scheduled run repeats or misses its window.
Duplicates do not create a second session; missed windows fail without backfilling.
Cash is unsettled or a dividend lacks evidence.
Restrict purchases to settled cash and stop affected processing when required corporate-action evidence is missing.
Paper fills are mistaken for observed execution.
Keep modeled fills and imported broker execution-cost evidence separate.
06 Object
Decision lifecycle · architecture illustration, not a trading record
Audit prices → record decision after close
Next session → model permitted fills
Book shares, fees, settled cash, and receivables
Verify journal continuity → publish report snapshot
07 Inspect
Live Open product ↗
Source Private source
08 What I would improve next
- Resolve historical anomalies with independent exchange-price evidence.
- Accumulate genuine forward sessions under the frozen research version.
- Import observed broker execution costs and validate account-specific rules before considering live use.