TastyLive Expected Move

Ramisegal

Active member
Plus
How to calculate the expected move in thinkscript using the below extract?
https://www.tastylive.com/definitions/calculating-expected-move

Calculating Expected Move
Expected move is the amount that a stock is predicted to increase or decrease from its current price, based on the current level of implied volatility for binary events.
We use this calculation on the day before the binary event or very close to the expiration date. The expected move of a stock for a binary event can be found by calculating 85% of the value of the front month at the money (ATM) straddle. Add the price of the front month ATM call and the price of the front month ATM put, then multiply this value by 85%. Another easy way to calculate the expected move for a binary event is to take the ATM straddle, plus the 1st OTM strangle and then divide the sum by 2.

We only use this for a binary event because the accuracy of premium decay and all of the variables associated with implied volatility are too rich to accurately reflect expected move for a longer time period.

Instead of using the implied volatility to derive the expected move, can we obtain these values with the arrows for a calculated future date in thinkscript?
ki0o35pJSCuVAXTKf6rkz0g1C3OjU2mHtqSGCXMgm6wfKI6RXPPGG_29MeAnkr74tUekYBacCt2pH8nuAMe9gvhH2ZIJTczSK83yDOquyCXvGqsN18XdB8twKZ9tmyaOBzvGGUp6ihgt-DvawE2LH7c
 
Last edited by a moderator:
How to calculate the expected move in thinkscript using the below extract?
https://www.tastylive.com/definitions/calculating-expected-move

Calculating Expected Move
Expected move is the amount that a stock is predicted to increase or decrease from its current price, based on the current level of implied volatility for binary events.
We use this calculation on the day before the binary event or very close to the expiration date. The expected move of a stock for a binary event can be found by calculating 85% of the value of the front month at the money (ATM) straddle. Add the price of the front month ATM call and the price of the front month ATM put, then multiply this value by 85%. Another easy way to calculate the expected move for a binary event is to take the ATM straddle, plus the 1st OTM strangle and then divide the sum by 2.

We only use this for a binary event because the accuracy of premium decay and all of the variables associated with implied volatility are too rich to accurately reflect expected move for a longer time period.

Instead of using the implied volatility to derive the expected move, can we obtain these values with the arrows for a calculated future date in thinkscript?
ki0o35pJSCuVAXTKf6rkz0g1C3OjU2mHtqSGCXMgm6wfKI6RXPPGG_29MeAnkr74tUekYBacCt2pH8nuAMe9gvhH2ZIJTczSK83yDOquyCXvGqsN18XdB8twKZ9tmyaOBzvGGUp6ihgt-DvawE2LH7c

Thanks!
I answered my own question...

1704699336866.png


1704699557455.png
 

Join useThinkScript to post your question to a community of 21,000+ developers and traders.

@Ramisegal I appreciate the link to the posted code that helped you solve your problem. Now, would you mind sharing the code you created from that solution to create the lower study shown above? I have been working on this but have not been able to get the plot showing like yours.

Thanks in advance if you're generous enough to share.
 
@Ramisegal I appreciate the link to the posted code that helped you solve your problem. Now, would you mind sharing the code you created from that solution to create the lower study shown above? I have been working on this but have not been able to get the plot showing like yours.

Thanks in advance if you're generous enough to share.
Code:
#ATMNearestPUTCallStraddle
# ATM Nearest PUT, Call, Straddle
# Mobius

declare lower;
input series = 1;
def c = close;
def x = BarNumber();
def sIV = SeriesVolatility(Series = series);
;
def CurrentDOW = GetDayOfWeek(GetYYYYMMDD());
def daysTillFriday = if CurrentDOW == 5 then 7 else if CurrentDOW > 5 then CurrentDOW % 5 + 5 else 5 - CurrentDOW;
def underlying = close(GetSymbol());
def interest_rate = GetInterestRate();
def yield = GetYield();
def ATMStrike = if Round(close, 0) < 25 then Round(close / 2.5, 0) * 2.5 else (Round(close / 5, 0)) * 5;
def PutPrice  = OptionPrice(ATMStrike, yes, daysTillFriday, underlying, sIV, no, yield, interest_rate);
def CallPrice = OptionPrice(ATMStrike, no, daysTillFriday, underlying, sIV, no, yield, interest_rate);
def ATMstraddle = if IsNaN(CallPrice + PutPrice) then ATMstraddle[1] else CallPrice + PutPrice;
plot Stradle = ATMstraddle;


AddChartBubble(x == HighestAll(x), ATMstraddle, "ATM Straddle " + AsDollars(Stradle), Stradle.TakeValueColor());
AddLabel(1, "ATM Put: " + AsDollars(PutPrice) +  "  || ATM Call: " + AsDollars(CallPrice), if CallPrice > PutPrice then Color.YELLOW else if CallPrice < PutPrice then Color.PINK else Color.WHITE);
# End Code ATM Stradle
 

Similar threads

Not the exact question you're looking for?

Start a new thread and receive assistance from our community.

87k+ Posts
428 Online
Create Post

Similar threads

Similar threads

The Market Trading Game Changer

Join 2,500+ subscribers inside the useThinkScript VIP Membership Club
  • Exclusive indicators
  • Proven strategies & setups
  • Private Discord community
  • ‘Buy The Dip’ signal alerts
  • Exclusive members-only content
  • Add-ons and resources
  • 1 full year of unlimited support

Frequently Asked Questions

What is useThinkScript?

useThinkScript is the #1 community of stock market investors using indicators and other tools to power their trading strategies. Traders of all skill levels use our forums to learn about scripting and indicators, help each other, and discover new ways to gain an edge in the markets.

How do I get started?

We get it. Our forum can be intimidating, if not overwhelming. With thousands of topics, tens of thousands of posts, our community has created an incredibly deep knowledge base for stock traders. No one can ever exhaust every resource provided on our site.

If you are new, or just looking for guidance, here are some helpful links to get you started.

What are the benefits of VIP Membership?
VIP members get exclusive access to these proven and tested premium indicators: Buy the Dip, Advanced Market Moves 2.0, Take Profit, and Volatility Trading Range. In addition, VIP members get access to over 50 VIP-only custom indicators, add-ons, and strategies, private VIP-only forums, private Discord channel to discuss trades and strategies in real-time, customer support, trade alerts, and much more. Learn all about VIP membership here.
How can I access the premium indicators?
To access the premium indicators, which are plug and play ready, sign up for VIP membership here.
Back
Top