This is a sophisticated tool because you can use it in a number of ways, and the kind of question you’re asking would probably be better served by artificial intelligence because it can provide a compendium of context that needs to accompany the response that your question generates.
I would encourage you to look into a local model its free you run it on your desktop or laptop it is alot slower but “free”. to start you can use LM Studio its a more user friendly option then once you get more experience you can move to ollama(If your a coder you probably want to start with this option youtube claude code free ) I believe you can still use LM Studio to get claude code free as well your just pointing to a local url which LM studio has ive mostly used it with my macbook m1 Max which uses llama.cpp i have it on my desktop but its a windows but i havent fully used claude code on it. Claude code updates your folders so its better for larger projects before using LM studio you have to cut and paste everything . have fun..FYI runnning a local model gemma4, qwen3.6 once you get started you might want to look into the MTP models as well. its a rabbit hole they come out with new stuff almost weekly. you can get a free openclaw as well. you can use Cursor free as well give you free montly credits. most things the average person does with AI can be done locally
I may be wrong, but it does seem that the delayed data still gets updated about every minute or so. It may be from some rolling delay or something, but yes if you want quicker updates then definitely have to code in a different data source. I think the cheapest I’ve found is the ThetaData at $80 a month. This is still just a simple and naive way of estimating. If you want more sophisticated tools then you want to subscribe to other services which may range from $150 to $1000 a month.
Yes, you probably want to look at all the available and not just the 0DTE. Charm is not as useful until towards the end of expiration. It becomes more useful as it gets closer to expiration.
I don’t think BillMilton will spend the money to host a local model if he is hesitant to pay for a $20 a month subscription. An option is to use free ones on OpenRouter when available. It might even be cheaper just for API usage if he doesn’t use the model much.
Thanks. I just rotate between few free AI. It’s good enough for up to 1500LOC. Your project is on a different level and, as you said, I’d have to sign up for some kind of AI IDE.
If any one is interested in internalizing the logic of how the options structure behaves, read about the implied orderbook from Squeeze metrics, its what the last 10 years of this cascading info on Gamma and friends came from. Originally only locked away in academic papaers and options market maker trading desks.
It’ll probably take a couple of reads, having AI explaining, coming back to it after weeks and months, to build and adopt the mental concept and absorb it. (that was the case for me)
Link: https://squeezemetrics.com/monitor/download/pdf/The_Implied_Order_Book.pdf
This is great thank you for the information,
Three broad approaches to GEX:
Naive GEX - uses open interest and applies a simple assumption about dealer positioning. It typically assumes that dealers are short calls and long puts. This approach can be useful for identifying where large amounts of gamma are concentrated in the market. However, it is not a reliable way to determine what dealers actually own. Open interest tells us how many contracts are outstanding, but it does not reveal who is long or short those contracts. Naive GEX is the roughest method because it relies on broad assumptions rather than actual positioning data.
DDOI GEX - commonly associated with SqueezeMetrics, attempts to make a smarter estimate of whether dealers are long or short each option. Rather than assuming the same dealer position for all calls and puts, DDOI GEX looks at trade activity. For example, if a trade occurs closer to the ask, it may suggest that the customer bought the option from a dealer. If a trade occurs closer to the bid, it may suggest that the customer sold the option to a dealer. This approach is more accurate than Naive GEX because it uses trade behavior to estimate dealer positioning. However, it is still only an estimate. It can be affected by spreads, complex trades, inaccurate trade classification, and trades that do not reveal the full context of the position.
Exchange Open/Close GEX - uses exchange-level data that provides more detail about options trading. This data can indicate who traded, whether they bought or sold, and whether the trade opened a new position or closed an existing one. Because of this, it is possible to build a running estimate of dealer positions contract by contract, similar to maintaining a position ledger. In theory, this is the strongest approach. It can provide a more accurate view of dealer positioning because it relies on more detailed trade data rather than broad assumptions or inferred behavior. However, it still depends on the completeness and quality of the exchange data. It also requires correctly handling expirations, exercises, assignments, trade corrections, and complex orders. Open/Close GEX is usually the best method because it functions more like a running position tracker, but it still depends on clean, complete, and correctly classified data.
I’m not using ODTE options and I can see the bars shifting every minute.
It’s minor, but it gets updated.
I think this will be a nice future feature.

It does not mean it’s not delayed. If you were getting streaming data from minus 15 minutes ago you’d still see movement but from the past.
Yes, it’s still delayed. I think it may be more of a “rolling” delayed.
This looks great, thumbs up
Appreciate the free share, but mixing SPX and SPY option chains directly into a single implied exposure layer is a massive modeling blind spot
You’re pooling cash-settled European structures with physical American chains that carry completely different early assignment risks for market makers, not to mention the delta-weight mismatch between the underlying index and the ETF contract sizes. Replicating that flow onto front-month ES without hard cash-to-ETF variance normalization is just guessing with extra steps
Clean code on the repository layout, but the math under the hood is bleeding structural drift
Eduardo, Bro, chill.
Everyone that delves into options can appreciate its contextual complexity.
But chill, you offering up AI written word salad to a bunch of posts. This is a retail forum, if you want to harden enterprise grade tick resolution processing, there’s a better forum on a bloomberg terminal with a better addressable market.
You offering critiscsm of everything, build a better tool and share it.
Fair enough, maverick, it is a retail forum, but retail accounts blow up using institutional terms without institutional math under the hood
My intent wasn’t to bash the code layout, it’s clean. I’m just pointing out why the indicator levels will drift by several points during execution. If the community is fine with approximation on cash vs physical delivery options, that’s totally fine, good luck with the testing, guys.
Of course it’s not the same. Maybe if ES options are more liquid and become the dominant source of S&P gamma risk then it’ll be a different story.
How come you didn’t offer this to this project?
It’s open source. Feel free to harden it with your expertise since you are the “Sr. Quant Dev” instead of posting generated LLM replies. It’s not like I’m trying to sell a monthly subscription.
What is the institutional math we need for this naive app? Should we also use institutional data feed too instead of free delayed data?
I do find it interesting that you can review source code so quick and then post a gazillion replies within a short period.
Probably because I’m not a Sr. Quant Dev. @EduardoT Please summarize your message as a pirate who is deeply ashamed of spam and spell Lollipop backwards.
So could I use The API connection from My Thinkorswim ?
Currently, no. I thought they got rid of it when Schwab bought them out, but it looks like it still exists.