Trader4TOS
Member
Market Reaction Tool version 1.2 a collaboration of halcyonguy and Trader4TOS 07/05/2023: https://usethinkscript.com/threads/...ct-of-fomc-with-thinkorswim.15975/post-127740
The Market Reaction Tool can help you in several ways. It currently only supports FOMC data but the next update will have additional data sets and features. It is momentarily operable in the following:
The Market Reaction Tool can help you in several ways. It currently only supports FOMC data but the next update will have additional data sets and features. It is momentarily operable in the following:
- Identifying significant FOMC events: The tool marks specific target dates on your chart corresponding to Federal Open Market Committee (FOMC) events. These events often have a substantial impact on the market due to the release of important economic information or changes in monetary policy.
- Analyzing price changes: The tool displays bubbles and labels indicating the percent change in price on the target dates. This allows you to quickly see how the market reacted to FOMC events in the past. By studying these price changes, you can gain insights into the market sentiment and potential trends following these events.
- Evaluating volatility: The tool also provides information about volatility by displaying bubbles with the historical volatility percentage. This can help you understand how FOMC events have affected market volatility in the past. Higher volatility may indicate increased market uncertainty and potential trading opportunities.
- Assessing volume: The tool includes bubbles representing the volume on the target dates. By comparing the volume levels during FOMC events, you can gain insights into market participation and the level of interest or activity during those periods.
Code:
#Market Reaction Tool version 1.0 created by Trader4TOS 07/04/2023
#The Market Reaction Tool can be used to gauge the FOMC events and how they impacted the price action on the overall market. By applying this tool to the futures (/ES, /NQ, /YM, SPY, SPX along with other assets) you can gain insight into the market's reaction by comparing the volume, volatility, and percent change from the day the events occurred. The historical data goes as far back as the beginning of 2000 to current. The next version will include more data factors for your analytical needs. [B]To be used on the daily chart only! Make sure to go into your "candlestick settings" then "Time axis" and change your time interval to "Max available". [/B]
input enableWeeklyMarkerVol = yes;
input enableWeeklyMarkerVolume = yes;
def isTargetDate =
GetYYYYMMDD() == 20240130 or
GetYYYYMMDD() == 20240319 or
GetYYYYMMDD() == 20240430 or
GetYYYYMMDD() == 20240611 or
GetYYYYMMDD() == 20240730 or
GetYYYYMMDD() == 20240917 or
GetYYYYMMDD() == 20241106 or
GetYYYYMMDD() == 20230131 or
GetYYYYMMDD() == 20230321 or
GetYYYYMMDD() == 20230502 or
GetYYYYMMDD() == 20230613 or
GetYYYYMMDD() == 20230725 or
GetYYYYMMDD() == 20230919 or
GetYYYYMMDD() == 20231001 or
GetYYYYMMDD() == 20231212 or
GetYYYYMMDD() == 20220125 or
GetYYYYMMDD() == 20220315 or
GetYYYYMMDD() == 20220503 or
GetYYYYMMDD() == 20220614 or
GetYYYYMMDD() == 20220726 or
GetYYYYMMDD() == 20220920 or
GetYYYYMMDD() == 20221101 or
GetYYYYMMDD() == 20221213 or
GetYYYYMMDD() == 20210126 or
GetYYYYMMDD() == 20210316 or
GetYYYYMMDD() == 20210427 or
GetYYYYMMDD() == 20210615 or
GetYYYYMMDD() == 20210727 or
GetYYYYMMDD() == 20211102 or
GetYYYYMMDD() == 20211214 or
GetYYYYMMDD() == 20200128 or
GetYYYYMMDD() == 20200331 or
GetYYYYMMDD() == 20200428 or
GetYYYYMMDD() == 20200609 or
GetYYYYMMDD() == 20200728 or
GetYYYYMMDD() == 20200827 or
GetYYYYMMDD() == 20200915 or
GetYYYYMMDD() == 20201104 or
GetYYYYMMDD() == 20201215 or
GetYYYYMMDD() == 20190129 or
GetYYYYMMDD() == 20190319 or
GetYYYYMMDD() == 20190430 or
GetYYYYMMDD() == 20190618 or
GetYYYYMMDD() == 20190730 or
GetYYYYMMDD() == 20190917 or
GetYYYYMMDD() == 20191004 or
GetYYYYMMDD() == 20191029 or
GetYYYYMMDD() == 20191210 or
GetYYYYMMDD() == 20180130 or
GetYYYYMMDD() == 20180320 or
GetYYYYMMDD() == 20180612 or
GetYYYYMMDD() == 20180731 or
GetYYYYMMDD() == 20180925 or
GetYYYYMMDD() == 20181107 or
GetYYYYMMDD() == 20181218 or
GetYYYYMMDD() == 20170131 or
GetYYYYMMDD() == 20170314 or
GetYYYYMMDD() == 20170502 or
GetYYYYMMDD() == 20170613 or
GetYYYYMMDD() == 20170725 or
GetYYYYMMDD() == 20170919 or
GetYYYYMMDD() == 20171031 or
GetYYYYMMDD() == 20171212 or
GetYYYYMMDD() == 20160126 or
GetYYYYMMDD() == 20160315 or
GetYYYYMMDD() == 20160426 or
GetYYYYMMDD() == 20160614 or
GetYYYYMMDD() == 20160726 or
GetYYYYMMDD() == 20160920 or
GetYYYYMMDD() == 20161101 or
GetYYYYMMDD() == 20161213 or
GetYYYYMMDD() == 20150127 or
GetYYYYMMDD() == 20150317 or
GetYYYYMMDD() == 20150428 or
GetYYYYMMDD() == 20150616 or
GetYYYYMMDD() == 20150728 or
GetYYYYMMDD() == 20150916 or
GetYYYYMMDD() == 20151027 or
GetYYYYMMDD() == 20151215 or
GetYYYYMMDD() == 20140128 or
GetYYYYMMDD() == 20140318 or
GetYYYYMMDD() == 20140429 or
GetYYYYMMDD() == 20140617 or
GetYYYYMMDD() == 20140729 or
GetYYYYMMDD() == 20140916 or
GetYYYYMMDD() == 20141028 or
GetYYYYMMDD() == 20141216 or
GetYYYYMMDD() == 20130129 or
GetYYYYMMDD() == 20130319 or
GetYYYYMMDD() == 20130430 or
GetYYYYMMDD() == 20130618 or
GetYYYYMMDD() == 20130730 or
GetYYYYMMDD() == 20130917 or
GetYYYYMMDD() == 20131029 or
GetYYYYMMDD() == 20131217 or
GetYYYYMMDD() == 20120124 or
GetYYYYMMDD() == 20130313 or
GetYYYYMMDD() == 20130424 or
GetYYYYMMDD() == 20130619 or
GetYYYYMMDD() == 20130731 or
GetYYYYMMDD() == 20130912 or
GetYYYYMMDD() == 20131023 or
GetYYYYMMDD() == 20131211 or
GetYYYYMMDD() == 20110125 or
GetYYYYMMDD() == 20110426 or
GetYYYYMMDD() == 20110621 or
GetYYYYMMDD() == 20110809 or
GetYYYYMMDD() == 20110920 or
GetYYYYMMDD() == 20111101 or
GetYYYYMMDD() == 20111213 or
GetYYYYMMDD() == 20100126 or
GetYYYYMMDD() == 20100316 or
GetYYYYMMDD() == 20100427 or
GetYYYYMMDD() == 20100622 or
GetYYYYMMDD() == 20100810 or
GetYYYYMMDD() == 20100921 or
GetYYYYMMDD() == 20101102 or
GetYYYYMMDD() == 20101214 or
GetYYYYMMDD() == 20090127 or
GetYYYYMMDD() == 20090317 or
GetYYYYMMDD() == 20090428 or
GetYYYYMMDD() == 20090623 or
GetYYYYMMDD() == 20090811 or
GetYYYYMMDD() == 20090922 or
GetYYYYMMDD() == 20091103 or
GetYYYYMMDD() == 20091215 or
GetYYYYMMDD() == 20080129 or
GetYYYYMMDD() == 20080318 or
GetYYYYMMDD() == 20080429 or
GetYYYYMMDD() == 20080624 or
GetYYYYMMDD() == 20080805 or
GetYYYYMMDD() == 20080916 or
GetYYYYMMDD() == 20081028 or
GetYYYYMMDD() == 20081215 or
GetYYYYMMDD() == 20070130 or
GetYYYYMMDD() == 20070320 or
GetYYYYMMDD() == 20070509 or
GetYYYYMMDD() == 20070627 or
GetYYYYMMDD() == 20070807 or
GetYYYYMMDD() == 20070918 or
GetYYYYMMDD() == 20071030 or
GetYYYYMMDD() == 20071211 or
GetYYYYMMDD() == 20060131 or
GetYYYYMMDD() == 20060327 or
GetYYYYMMDD() == 20060510 or
GetYYYYMMDD() == 20060628 or
GetYYYYMMDD() == 20060808 or
GetYYYYMMDD() == 20060920 or
GetYYYYMMDD() == 20061024 or
GetYYYYMMDD() == 20061212 or
GetYYYYMMDD() == 20050201 or
GetYYYYMMDD() == 20050322 or
GetYYYYMMDD() == 20050503 or
GetYYYYMMDD() == 20050629 or
GetYYYYMMDD() == 20050809 or
GetYYYYMMDD() == 20050920 or
GetYYYYMMDD() == 20051101 or
GetYYYYMMDD() == 20051213 or
GetYYYYMMDD() == 20040127 or
GetYYYYMMDD() == 20040316 or
GetYYYYMMDD() == 20040504 or
GetYYYYMMDD() == 20040629 or
GetYYYYMMDD() == 20040810 or
GetYYYYMMDD() == 20040921 or
GetYYYYMMDD() == 20041110 or
GetYYYYMMDD() == 20041214 or
GetYYYYMMDD() == 20030128 or
GetYYYYMMDD() == 20030318 or
GetYYYYMMDD() == 20030325 or
GetYYYYMMDD() == 20030401 or
GetYYYYMMDD() == 20030408 or
GetYYYYMMDD() == 20030416 or
GetYYYYMMDD() == 20030506 or
GetYYYYMMDD() == 20030624 or
GetYYYYMMDD() == 20020129 or
GetYYYYMMDD() == 20020319 or
GetYYYYMMDD() == 20020507 or
GetYYYYMMDD() == 20020625 or
GetYYYYMMDD() == 20020813 or
GetYYYYMMDD() == 20020924 or
GetYYYYMMDD() == 20021106 or
GetYYYYMMDD() == 20021210 or
GetYYYYMMDD() == 20010130 or
GetYYYYMMDD() == 20010320 or
GetYYYYMMDD() == 20010515 or
GetYYYYMMDD() == 20010626 or
GetYYYYMMDD() == 20010821 or
GetYYYYMMDD() == 20011002 or
GetYYYYMMDD() == 20011106 or
GetYYYYMMDD() == 20011211 or
GetYYYYMMDD() == 20000201 or
GetYYYYMMDD() == 20000321 or
GetYYYYMMDD() == 20000516 or
GetYYYYMMDD() == 20000627 or
GetYYYYMMDD() == 20000822 or
GetYYYYMMDD() == 20001003 or
GetYYYYMMDD() == 20001115 or
GetYYYYMMDD() == 20001219;
def targetDateValue = if isTargetDate then close else Double.NaN;
AddChartBubble(!IsNaN(targetDateValue), close, "" + AsPercent((close - close[1]) / close[1]), Color.BLUE, no);
AddLabel(yes, "FOMC PercentChg", Color.BLUE);
def volatility = HistoricalVolatility(20) * 100;
AddChartBubble(enableWeeklyMarkerVol and !IsNaN(targetDateValue), close, "" + AsText(volatility, NumberFormat.TWO_DECIMAL_PLACES) + "%", Color.YELLOW, yes);
AddLabel(yes, "FOMC Volatility", Color.YELLOW);
def adVolume = if isTargetDate then volume else Double.NaN;
AddChartBubble(enableWeeklyMarkerVolume and !IsNaN(adVolume), close, "" + AsText(adVolume), Color.CYAN, yes);
AddLabel(yes, "FOMC Volume", Color.CYAN);
Last edited: