Repository navigation
v1.0.2
A fix for SPY, QQQ and stock maps when two option series share an expiry and a strike. Thanks to @Micsters for finding it and writing up the fix in discussion #19.
Not financial advice. Not a signal service. Every screenshot is synthetic demo data.
Fixed
- IVs swapped between two option series. The step that gives a call and a put at the same strike one implied volatility grouped contracts by expiry and strike only. When two series shared both, for example a stock's standard options and its adjusted options after a split or merger, a contract from one series could take the IV of the other, which gave it the wrong gamma. Contracts are now grouped by option root as well, and a regression test covers it.
- SPX and NDX maps were not affected: they come from Cboe's chain, which solves each contract's IV on its own and never uses this pairing step.
Install
Download the zip below, unzip it, run setup.bat, then launch.bat. Needs Python 3.11 or newer and Node.js LTS. Free Alpaca API keys are needed for SPY, QQQ and stocks; SPX and NDX work without them, and launch.bat demo works with no keys at all. A new install starts empty.
Upgrading
Your keys (.env) and caches (data/) are not part of a release, so updating never touches them.
If you cloned with git: git pull, then launch.bat.
If you downloaded the ZIP: unzip this one into a new folder, copy your .env across, run setup.bat once, then start it with launch.bat.
old-folder/.env -> new-folder/.env