Gamma Vanna Charm Exposures (GEX, VEX, CEX) Indicator

screenshot

Initial release so people can start to play around with it.

WHAT IT DOES:

Gamma Vanna Charm Exposures maps exposure levels directly on your NinjaTrader chart. These are not guaranteed to be the “exact structural reference points institutional desks watch every session”. The reality is, none of us knows exactly what they watch; we can only derive levels from available option-chain data and a transparent model.

This supports ES and NQ. It uses free delayed CBOE options data from SPX, SPY, and QQQ, then converts those levels onto ES and NQ. It polls snapshot data every minute by default.

You do not like the delayed CBOE data? No problem. The project is open source, so you can code and map your preferred data source to the existing interfaces.

WHAT I’M LOOKING FOR:

  • Nothing. I’m simply sharing it for free with the trading community.
  • Feel free to contribute with pull requests or create issues if you find them.

WHAT YOU GET:

  • 100% free and open source with MIT license. Do whatever you want with it.
  • No limited free trials. It’s already free.
  • No monthly subscriptions because it’s free.
  • No need to apply for anything. Simply download the zip file from the release and import it like any other NinjaTrader indicator.

More information for GEX/VEX/CEX users

The active indicator model is a simple flow-implied dealer-position model. It is not a separate data feed, and it is not a claim that actual dealer inventory is known.

Open interest is used, but this is not just a static OI-only exposure model. The first snapshot seeds a signed baseline using calls as positive and puts as negative. Later snapshots compare poll-to-poll changes in cumulative volume, quote location, IV, and OI to infer likely customer buying or selling. That inferred flow updates signed dealer contracts, and those signed dealer contracts drive GEX, VEX, and CEX.

CBOE gamma is used when available. Vanna and charm are computed with Black-Scholes using the option’s strike, expiration, IV, right, and the current underlying price from the option-chain snapshot.

So the displayed metrics are intended to represent:

  • GEX — hedge exposure for a 1% underlying move.
  • VEX — hedge exposure for a 1-vol-point IV move.
  • CEX — hedge exposure for one calendar day of time decay.

GEX is the primary price-response layer. VEX is conditional on IV actually repricing. CEX is most relevant near expiration, especially for 0DTE and late-session trading. Sign conventions are clearest for gamma; vanna and charm can vary by vendor/model convention, so they are best treated as sensitivity and concentration layers rather than standalone bullish/bearish signals.

9 Likes

Ah man…you’re going to make me update nt8?

I don’t know anything about options so I had claude explain:

Just 8.1.6. I wouldn’t update to 8.1.7 yet. :sweat_smile:

Incredible! This is a real piece of work.

1 Like

This is some Really good work ,

1 Like

That looks really good. I don’t fully understand GEX and all that, but I do appreciate the documentation. Great job.

1 Like

I tryed to import like normal but it gave me the error , incompatible version or is not a ninja script archive. Do I need to move some files around into the right places? I have nt 8.1.6.3 . Thank you

Explain in detail what you tried to do. You shouldn’t have to move any files around. Just import the GammaVannaCharm-0.1.0.zip file from the release page.

Works with 8.1.7 (not recommending this version). Trend lines are the killer feature.

Btw, is there a doc on how to create this kind of pop-up interface somewhere? I only use free AI so not enough of tokens to analyze.

Your tool is really good, updated the data seed and a few things for my workflow and used it on some charts. Its a lot better that what I put out, and a lot more detailed.

2 Likes

It’s just WPF. You should at least pay the $20 a month subscription. I think having an AI subscription is probably one of the best subscription investments.

Nice!

Claude removed agentic coding from $20 subscription. Which tools are you using?

Thank you for responding. I made a mistake, On git hub I clicked the code button and downloaded the zip from there. It contains everything, Read me files , the gif , the detailed use case and so on . Everything . So that’s why ninja trader said nope. I just followed your instructions and it loaded just fine. Thank you and have a great day.

1 Like

Hello Maverick , Do you mind sharing your settings to get the chart levels like that? What time frame are you on ? Thank you .

I’m not exactly sure what you mean by that. I’m assuming you mean the harness. You should still be able to use Claude Code with it. I use ChatGPT and OpenRouter with Pi.dev. You should be able to use a ChatGPT subscription with most of the harnesses like Kilo, Cline, etc within Visual Studio Code.

It was customized.

Thank you. I’ll check back to see if you release the customized version. Thanks again and have a great day.

Hi Joseph,

The lines are the extra coding I added to Walee’s tool to adjust it to my workflow. I used Claude and you could use a prompt like,

I want this tool to generate the information you see in the picture from the information the tool already posseses, things like call wall, put wall, etc. (show the AI the picture). I want the lines and so, such that I have levels. Review the code an create a plan to do this.

Thank you , I’ll give it shot later on today.

I must add, if you want Walee’s tool for intraday trading, you’ll want to connect it to real-time options data. It comes with delayed data.

Anyone correct me if I’m wrong.
If you’re only using delayed data, the indicator is still useful for swing trading from day to day.
You should turn off ODTE options so that the bottom right of the gui looks like:

odte off gui

This will uncheck the ODTE options in the indicator setttings:

odte off settings

The largest nearby notional zones, gamma, and vanna are useful to look at premarket.

Charm is not useful for swing trading.

Is this correct?