csnyder256/shadow-options-trading-lab — explained in plain English
Analysis updated 2026-05-18
Test whether an options trading strategy has a real edge before ever risking money on it.
Compare a strategy's worst case, middle case, and optimistic fill outcomes on live market data.
Check nightly whether a strategy should be paused, using statistics that stay valid even when checked repeatedly.
| csnyder256/shadow-options-trading-lab | 100/awesome-machine-learning | adam-s/car-diagnosis | |
|---|---|---|---|
| Stars | 8 | 8 | 8 |
| Language | Python | Python | Python |
| Last pushed | — | 2024-08-07 | — |
| Maintenance | — | Stale | — |
| Setup difficulty | hard | easy | moderate |
| Complexity | 5/5 | 1/5 | 3/5 |
| Audience | researcher | developer | researcher |
Figures from each repo's GitHub metadata at analysis time.
Needs a live 1-minute market data feed and Python 3.14, no broker connection exists at all.
Shadow Options Trading Lab, also called ATLAS, is a research tool for testing options trading strategies without ever placing a real trade. It watches live market prices, decides what position about 20 different strategies would have opened, tracks how that pretend position's value moves, decides when it would have closed, and writes every step to a log file. It never sends an order to a broker. The project's author was explicit that the code capable of placing real orders was removed entirely, not just switched off, so there is no way for this system to accidentally start trading with real money. The bigger goal is not to build a trading bot but to build an honest way of grading whether a strategy actually works. The author points out that most simple backtests get this wrong in a few common ways: they assume you always get a perfect price, they let you peek at results and stop testing once numbers look good, they let a tuned strategy quietly inherit credit from before it was changed, and they mishandle strategies whose losses are not capped at the amount of money put in. To fix these problems, every trade is recorded under three different assumptions about the price you actually got, a worst case, a middle case, and an optimistic case, and only the worst case number is used for real grading. Each strategy is tested using a statistical method that lets the author check results every night without invalidating the test, unlike ordinary significance testing. If a strategy's parameters change, it is treated as a brand new strategy so it cannot carry over an old track record. A strategy only gets labeled a loser once both the statistics and a clear explanation of why it is losing line up. The project is written in Python, uses about 726 passing automated tests, and is licensed under MIT. It is explicitly a work in progress and a snapshot of ongoing research rather than a finished product.
A research tool that runs about 20 options trading strategies against live market data on paper only, grading each one honestly using worst case fills and rigorous statistics, and never places real trades.
Mainly Python. The stack also includes Python.
Use freely for any purpose, including commercial use, as long as you keep the copyright notice.
Setup difficulty is rated hard, with roughly 1day+ to a first successful run.
Mainly researcher.
This repo across BitVibe Labs
double-check against the repo, no cap.