OpenPort The open-source options simulator.
# simulated prints at Cboe’s delayed closing quotes. Hover to pause.
try
00000100Demo
From evaluation plan to protected spread Simulated prices
00000200Install
Start the terminal
docker run --rm -p 127.0.0.1:8080:8080 -v openport:/var/lib/openport ghcr.io/armanruzgar/openport
With Docker installed, this starts Cboe’s free 15-minute delayed feed for SPX, SPY, QQQ, IWM and DIA. No key needed. Open the link it prints, http://localhost:8080/#token=…. The volume keeps your accounts and chart history between runs. When nothing is trading, choose the demo market’s simulated prices.
Next: your first ten minutes ↗
Your provider, a release archive or a source build ↗ [↗]Try it in your browser00000300Simulator
Trade like an evaluation
Practise prop-style evaluations on real option chains. Orders fill against displayed quotes.
- rules
- daily loss · static or trailing floor · consistency · minimum days and trades
- custom plans
- flat times · news · holding · instruments · opening hours
- evaluations
- one or two steps · simulated funded payouts and scaling · costs recorded separately
- orders
- trailing stop · stop-limit · OCO/OTO · brackets on partial remainders · conditions on another symbol, a study or the time
- flatten
- spreads close as one order · limit flatten overnight and in curb
- accounts
- cash · IRA · margin · fill models · itemized fees
On the default delayed feed, a pass is practice, not proof: a real-time chart shows where the market went next. Funded plans stay hidden in the terminal unless already funded or explicitly enabled; OpenPort funds no one.
Rules, fills and simulation limits ↗00000400Analytics
Analytics you can audit
OpenPort computes its own implied volatility and Greeks, fits SVI surfaces, and shows gamma and vanna exposure. The forward and discount factor come from put-call parity; the provider’s IV stays alongside for comparison.
- iv solve
- about 0.4 µs · 5.4 Newton iterations per option
- spx pass
- about 40 ms · 30,182 options, 63 expiries
- Δ vs Cboe, SPX
- 0.012 vol points
- Δ vs Cboe, QQQ
- 0.030 vol points
- Δ vs Cboe, SPY
- 0.028 vol points
Medians on an Apple M2 Max on 2026-09-24: the IV solve from openport_bench, the SPX pass over 23 passes on live data. Differences are against Cboe’s published IVs during the session, on out-of-the-money options within 10% of the forward. SVI fits run separately, on demand in the API.
Exposure assumes dealers are long calls and short puts: a modelling convention, not knowledge of anyone’s positions.
Methods, assumptions and measurements ↗00000500Replay
Practise, replay and compare
Replay recorded or simulated sessions across several days, then compare playbooks on one account.
- replay
- pause · step · verify saved runs
- stress
- quote stalls · gaps · halts
- playbooks
- backtests on one account · compared with live paper forward tests
- risk
- held-book warnings · what-if adjustments · risk by date and volatility · beta weighting · probability cones
- review
- whole trades across rolls · export attempt and run identity
These are simulated results and model estimates, not predictions.
Features and limits ↗00000600Your machine
Your data stays yours
One C++20 binary runs the feed, analytics, simulator and web terminal. Self-host it with your own keys. Your data and trades stay on your machine unless you enable external notifications.
- free
- Cboe, 15-minute delayed
- adapters
- Databento · Massive · ThetaData · Tradier · tastytrade · Schwab · Alpaca · Interactive Brokers market data
The adapters follow their documented APIs and are tested against sample responses, but have not yet been run live with a key or account. The broker adapters read market data only; they never send orders.
Write a provider adapter ↗00000700Terminal
From the chain to the whole book
Recorded views of the terminal, not a live feed. All trading and P&L are simulated.


