Options: Calculating the 1 Sigma Expected Range for SPX

If you have a good ATM IV value, you can use this for the 1 sigma move down (EMDwnp) and up (EMUpp).
# Where V is the ATM IV, you would set NumSTDs to 1, TimeinDays is a real), is likely close enough for very short durations where you can ignore interest rates.
EMDwnp=math.exp(-V*NumSTDs*((TimeinDays/365.25)**(.5)))-1
EMUpp=math.exp(V*NumSTDs*((TimeinDays/365.25)**(.5)))-1

Multiply each by the SPOT price to convert from % to value!
 
If you have a good ATM IV value, you can use this for the 1 sigma move down (EMDwnp) and up (EMUpp).
# Where V is the ATM IV, you would set NumSTDs to 1, TimeinDays is a real), is likely close enough for very short durations where you can ignore interest rates.
EMDwnp=math.exp(-V*NumSTDs*((TimeinDays/365.25)**(.5)))-1
EMUpp=math.exp(V*NumSTDs*((TimeinDays/365.25)**(.5)))-1

Multiply each by the SPOT price to convert from % to value!

I'll work with that a little later, when I have more time. Thank you!
 
If you have a good ATM IV value, you can use this for the 1 sigma move down (EMDwnp) and up (EMUpp).
# Where V is the ATM IV, you would set NumSTDs to 1, TimeinDays is a real), is likely close enough for very short durations where you can ignore interest rates.
EMDwnp=math.exp(-V*NumSTDs*((TimeinDays/365.25)**(.5)))-1
EMUpp=math.exp(V*NumSTDs*((TimeinDays/365.25)**(.5)))-1

Multiply each by the SPOT price to convert from % to value!
What values do you get for the input values of the OP?
 
Using DTE=2 IV=26.43 Spot=3585 :
Code:
S=3585.000000 IV=26.430000 DTE=2.000000(t=0.005479) rPct=0.000000 qPct=0.000000 z=+1.000000 --> Sx=3655.8329
S=3585.000000 IV=26.430000 DTE=2.000000(t=0.005479) rPct=0.000000 qPct=0.000000 z=-1.000000 --> Sx=3515.5434
.

Using DTE=3 IV=26.43 Spot=3585 :
Code:
S=3585.000000 IV=26.430000 DTE=3.000000(t=0.008219) rPct=0.000000 qPct=0.000000 z=+1.000000 --> Sx=3671.9389
S=3585.000000 IV=26.430000 DTE=3.000000(t=0.008219) rPct=0.000000 qPct=0.000000 z=-1.000000 --> Sx=3500.1195

Thanks for your input, but I'm focused on 0DTE, or 1DTE from prior close. Even though a Saturday calculation would technically be 2DTE, I figured that would throw things off too much due to the weekend. :)
 
Last edited:
If you have a good ATM IV value, you can use this for the 1 sigma move down (EMDwnp) and up (EMUpp).
# Where V is the ATM IV, you would set NumSTDs to 1, TimeinDays is a real), is likely close enough for very short durations where you can ignore interest rates.
EMDwnp=math.exp(-V*NumSTDs*((TimeinDays/365.25)**(.5)))-1
EMUpp=math.exp(V*NumSTDs*((TimeinDays/365.25)**(.5)))-1

Multiply each by the SPOT price to convert from % to value!

Okay... First I had to figure out what language you were speaking... turned out to be Python... then had to dig into Python to decipher math.exp()... I think I got that figured out... then converted the code over to a spreadsheet formula... and came up with:

3585*(POWER(2.718282,(0.2643*1*POWER(1/365.25,0.5)))-1) = 49.92

3585*(POWER(2.718282,(-0.2643*1*POWER(1/365.25,0.5)))-1) = -49.24

Which then gave me an estimated range of: 3535.76 to 3634.92

Assuming no mistakes, that result is only pennies different from the estimated range in my IV calculation (see first post in this thread) of: 3535.40 to 3634.60

And that leads me to believe that IV is the way to go, BUT...

It still doesn't explain *why* these IV-calculated ranges, which are supposed to reflect 1 sigma, are so far off from the 16 delta p/c strikes, which are also supposed to reflect 1 sigma.

That's just driving me nuts!! lol
 
Thanks for your input, but I'm focused on 0DTE, or 1DTE from prior close. Even though a Saturday calculation would technically be 2DTE, I figured that would throw things off too much due to the weekend. :)
You gave data of Friday at close and wanted a prediction for the spot range at expiration on Monday.
From Friday close to Monday open are at least 2 calendar days (and yes my calcs use calendar days, ie. year has 365 days). So I gave the result for 2 and 3 days.
Do you mean you wanted to close it (or let it expire) on Saturday? How? Isn't the market closed? :)
Or is this maybe handled differently than usual?
 
Last edited:
I am no expert, but you have the wind against you on a few fronts here!
1) You are likely using data from more than one source/derivation (delta's VS IV's) {error magnitude is greatly increased due to apples/oranges}
2) You are trying to estimate very short term movement. Very short term IV is noisy and may not be reliable. (This may be a lingering issue for you in accurate projection of expected movement for these short terms using IV!)
3) You are dealing with IV projection thru non-trading days, so use of trading time instead of calendar time may may be worth considering. -- Note the IV for a Monday Expiration implies trading days instead of calendar days was used in the option pricing!

Note: I do not do 0DTE trades, so have not developed/verified good approach to what you seek, and only pointing to things I have observed that are a bit problematic. -- I think your response of "That's just driving me nuts!" is justified and indicates you are thinking!

This is a very interesting subject, and since your using SPX, good data is available to help. Please continue to post you questions/progress -- I expect you are not alone in your quest!
 
Last edited:
You gave data of Friday at close and wanted a prediction for the spot range at expiration on Monday.
From Friday close to Monday open are at least 2 calendar days (and yes my calcs use calendar days, ie. year has 365 days). So I gave the result for 2 and 3 days.
Do you mean you wanted to close it (or let it expire) on Saturday? How? Isn't the market closed? :)
Or is this maybe handled differently than usual?

Yeah, it got a little confusing. The entire exercise was probably invalid, but the only data I had was from Friday's close. Will revisit this when SPX options start trading again this evening. :)
 
Back
Top