SPDR Sectors TableThis script generates an interactive and customizable SPDR Sectors Table designed to monitor and analyze the performance of the 11 main sectors of the S&P 500 via sector-specific ETFs. It offers a dynamic overview of daily or periodic sector movements, making it a valuable tool for traders, analysts, and investors implementing sector rotation strategies.
█ DEFINITIONS
SPDR Sectors ETFs are exchange-traded funds managed by State Street Global Advisors, which divide the S&P 500 into the following 11 sectors:
- Communication Services (XLC)
- Consumer Discretionary (XLY)
- Consumer Staples (XLP)
- Energy (XLE)
- Financials (XLF)
- Health Care (XLV)
- Industrials (XLI)
- Materials (XLB)
- Real Estate (XLRE)
- Technology (XLK)
- Utilities (XLU)
These ETFs aim to replicate the performance of their respective sectors as defined by the Global Industry Classification Standard (GICS). The funds are periodically rebalanced to match changes in the S&P 500 composition, offering an accurate snapshot of sectoral trends.
█ INDICATOR
The table displays each sector's ticker and full name, following official GICS terminology and SPDR color coding. It also shows percentage performance, calculated daily on intraday charts or based on the selected time frame.
Users can sort the table by either percentage performance or the relative weight of each ETF in the S&P 500. The default weight values reflect data updated as of 17 April 2025, and can be manually adjusted based on the most recent sector weightings available on the official SPDR website.
Rotations
Rotation Factor for TPO and OHLC (Plot)The Rotation Factor objectively measures attempted market direction(or market sentiment) for a given period. It records the cumulative directional attempts of auction rotations within a given period, thus, helping traders determine which way the market is trying to go and which market participant is exerting greater control or influence.
Theory
The premise is that a greater number of bars auctioning higher contrasted to bars auctioning lower indicates that buyers are exerting greater control over price within the given period(usually daily). In this case, the market is attempting to go higher (Market is Bullish). The same is true for a greater number of bars auctioning lower than higher, which, in this case, indicates that the sellers are exerting greater control over price within the given period and that the market is attempting to go lower (Market is Bearish).
Calculation
Each bar is individually measured in relation to the immediate previous bar, and calculations are reset at the beginning of each period.
For every bar, two variables are utilised: One for the highs and another for the lows. During bar start, these variables are initiated at 0.
As the period progresses, these variables are set accordingly: If the high of the current bar is higher than that of the previous bar, then the bar's highs variable is assigned a "+1". If the opposite is true, it is given a "-1". Finally, if both bar highs are equal, it is, instead, assigned a "0". The same is true for the lows: if the low of the current bar is higher than that of the previous low, then the bar's lows variable is assigned a "+1". Similarly, the opposite is given a "-1", while equal lows causes it to be assigned a "0". All highs and lows are then summed together resulting to a total, which becomes the Rotational Factor.
Presentation
Furthermore, this Rotation Factor Indicator is presented as a plot, which, unlike its classic variation, shows you how the rotation factor is developing. It also includes lines indicating the Top Rotation Factor and the Bottom Rotation Factor individually, the better to observe the developing auction.
Link to the Classic Variation:
Features
1. Customisable Tick Size/Granularity : The calculation tick size/ granularity is customisable which can be accessed through the indicator settings.
2. Customisable Labels and Lines : The colour and sizes used by the labels and lines are customisable the better for accessibility.
3. Period Separator : A separator is rendered to represent period borders (start and end). If separators are already present on your chart, you can remove them from the indicator settings.
4. Individual Top Rotation Factor and Bottom Rotation Factor plots : These two parts which becomes of the Rotation Factor are also presented individually, on their own plots, the better to observe the developing auction.
Works for both split Market Profile(TPO) charts and regular OHLC bars/candle charts
The Rotation Factor is usually used with a Split Market Profile (TPO). However, if no such tool is available, you will still be able to benefit from the Rotation Factor as the price ranges of Split Market Profiles and OHLC bars/candles are one and the same. In such cases, it is recommended that you set your chart to use a 30 minute timeframe and the indicator's period to "daily" to simulate a Split Market Profile.
Note :
The Rotation Factor is, to quote, "by no means not an all-conclusive indication of future market direction.". It only helps determine which way the market is trying to go by objectively measuring the market's directional attempts.
Fractals | Swing Points | Highs & Lows | Custom PeriodsSimple script which marks out key swing highs & lows.
One of the only indicators I have on the chart most days
- perfect for naked charting
- quickly helps you to visually identify key areas of interest
An extension of Bill Williams fractals
- aka short term swing points
Allows you to filter for only the most prominent swing points
- you can even overlay multiple swingpoint filters in different colours (as per example chart)
The number ( Fractal Periods) is simply:
- the number of less prominent points either side of your swing high/low
- example shown on the chart
Otherwise make a fist
- look at your 5 knuckles
- swing high is your middle knuckle
- 2 lower points either side
Bill Williams Original Fractal:
Fractal Periods = 2
Your Fractal Period for Filtering:
3, 4, 5, 30, 365, etc
Allows you to find swing points down to:
Fractal Periods = 1
Simple, easy, shared to enjoy =)