Discrepancy in Theta Values Between Upstox and Sensibull on Expiry Day

I have been using Sensibull for my Option Studies till now, I have recently started using Upstock Option Greek using API. I have identified a difference in the Theta Value between Upstox and Sensibull that to on the day of the current expiry.

For example
I am tracking Nifty 22550 CE on 2 Expiries here

  1. Current Expiry - 27/02/2025 (Today is Expiry day)
  2. Next Expiry - 06/03/2025

Current Expiry

As in the images you can see there is a difference in value of theta
Upstox is showing -77.88
Sensibull is showing -4.3

Next Month Expiry


As in the images you can see there is only a few difference in value of theta
Upstox is showing -10.9
Sensibull is showing -10

I have observed similar discrepancies across multiple strikes and instruments. However, except for Theta, all other Greek values (Gamma, Vega, etc.) match between the two platforms.

I am no expert in the calculation of greeks and am a bit confused about this

It will be great if you can share some insight regarding this

Hi @Samiksha_47544883 -
Thanks for the question. I’ve written about something similar here when I describe the differences in IV across various brokers and websites.

The Theta difference between Upstox and Sensibull is likely due to the assumptions in the Black-Scholes model that generates the option Greeks. This is exacerbated by it being an expiration day.

Here is the modeled theta for the Nifty assuming a strike of 22500, underlying price of 22500, IV of 12%, and with various time until expiry. As you can see, theta has exponentially larger impact near expiry.

We are using discrete, intraday time intervals to calculate our Greeks including IV. If Sensibull or anyone else is using something basic like “1” (or a larger fraction like 0.5) for one day until expiry, you will get a different theta. The orange bubbles in the chart above show intraday values of theta. You can see that small differences in time on expiry can have a substantial impact on theta.

I have understood that you are using intraday time decay for the last expiry day. However, there are a few aspects that are not clear to me:

  1. When the premium itself is approximately -5.
  2. Sensibull is showing a theta of -4 (presuming for 1 day).
  3. Upstox is showing -77.

So, I am confused about how to accurately calculate the theta for the remaining time. Upstox is showing -77 while the premium is 5.

Could you please share the exact method for calculating theta on the last day?

Hi @Samiksha_47544883,

Please give us some time to check this and get back to you on this. Thanks.

@Samiksha_47544883 -
To be specific, this is how we calculate theta (derived from the Black-Scholes formula):

Theta is meant to help you understand how much the option’s value will decay if you hold for one more day - and nothing else changes. If the trade didn’t go your way today, then you will have an understanding of how much more the underlying will need to move in order to break-even based on holding overnight.

So, from a practical perspective, theta is of little value during the final minutes / hours prior to expiry. The Greeks that matter are Gamma and Delta.