Obchodování s deriváty a pákovými produkty je vysoce rizikové a může vést ke ztrátám přesahujícím vaši počáteční investici. Před obchodováním si přečtěte naše Obchodní podmínky (T&C) a Dokument o zveřejnění informací o produktu (PDS).

nav-close
float feedback icon livechat
Year of the horse - Annexe

Year of the horse - Annexe

BY | Updated March 17, 2026

image of the news' author

Financial Analyst/Content Writer, RADEX MARKETS

Lawrence J. came from a strong technical and engineering background before pivoting into a more financial role later on in his career. Always interested in international finance, Lawrence is experienced in both traditional markets as well as the emerging crypto markets. He now serves as the financial writer for RADEX MARKETS.

PODÍL

facebook icon instagram icon twitter icon


This document serves as an annexe to the article entitled "Year of the horse", published on the 26th of February 2026. Its purpose is that of a supporting paper, providing additional figures and calculations, as well as providing a more robust defence of the methodology used and the assumptions made therein.


Data collection

The first step was to collect the daily close prices for the S&P 500 index, from the 20th of January 1928 to the 13th of February 2026. The data were obtained from the Yahoo Finance API, which provided the date, open price and close price. The data set only started differentiating the open and close price from 1962 onwards, but since we are only concerned with the closing price, this was not an issue. We will call this data set "SP500".

The second step was to collect the start and end date for every Chinese lunar year stretching back to the same date. Such information is readily available throughout the internet and was easy to acquire. We will call this data set "CNY".


Calculating the average return per zodiac animal

With our two data sets in hand, the next step was to create a column with the daily close price of the S&P 500 at the end of every lunar year. To achieve this, we use a simple XLOOKUP function in order to return a result whenever the dates from CNY match those in SP500. Of course, the dates in CNY do not always correspond to days for which we have daily price data. For example, should the lunar year end on a Saturday, Sunday, or bank holiday, SP500 will not be able to provide a price. This was in fact the case for the latest lunar year, ending on the 16th of February 2026, which was a Monday, but happened to fall on President's Day, meaning US stock markets were closed. To account for these differences, we insert a "-1" in the fifth argument in our XLOOKUP function, in order to return the last available match.

Using this function, we can populate a new column with the closing price for the end of every lunar year. From this, calculating the change from the previous year is trivial. We now have the yearly return of the S&P 500 according to the Chinese lunar calendar:

Year start
Year end
Zodiac
Close
Change (%)
23/01/192720/01/1928Rabbit17.48/
23/01/192809/02/1929Dragon24.4439.82
10/02/192929/01/1930Snake22.35-8.55
30/01/193016/02/1931Horse17.34-22.42
17/02/193105/02/1932Sheep7.78-55.13
06/02/193225/01/1933Monkey7.10-8.74
26/01/193313/02/1934Rooster11.2258.03
14/02/193403/02/1935Dog9.05-19.34
04/02/193523/01/1936Pig13.9153.70
24/01/193610/02/1937Rat18.1730.63
11/02/193730/01/1938Ox10.55-41.94
31/01/193818/02/1939Tiger12.4017.54
19/02/193907/02/1940Rabbit12.22-1.45
08/02/194026/01/1941Dragon10.45-14.48
27/01/194114/02/1942Snake8.62-17.51
15/02/194204/02/1943Horse10.4321.00
05/02/194325/01/1944Sheep11.8813.90
26/01/194412/02/1945Monkey13.6815.15
13/02/194501/02/1946Rooster18.6436.26
02/02/194621/01/1947Dog14.97-19.69
22/01/194709/02/1948Pig14.31-4.41
10/02/194828/01/1949Rat15.206.22
29/01/194916/02/1950Ox16.9911.78
17/02/195005/02/1951Tiger22.2030.67
06/02/195126/01/1952Rabbit24.5510.59
27/01/195213/02/1953Dragon25.744.85
14/02/195302/02/1954Snake25.920.70
03/02/195423/01/1955Horse35.4436.73
24/01/195511/02/1956Sheep43.6423.14
12/02/195630/01/1957Monkey44.912.91
31/01/195717/02/1958Rooster41.11-8.46
18/02/195807/02/1959Dog54.3732.25
08/02/195927/01/1960Pig56.724.32
28/01/196014/02/1961Rat61.418.27
15/02/196104/02/1962Ox69.8113.68
05/02/196224/01/1963Tiger65.75-5.82
25/01/196312/02/1964Rabbit77.5717.98
13/02/196401/02/1965Dragon87.5812.90
02/02/196519/02/1966Snake92.415.51
20/02/196608/02/1967Horse87.72-5.08
09/02/196729/01/1968Sheep93.356.42
30/01/196816/02/1969Monkey103.6110.99
17/02/196905/02/1970Rooster85.90-17.09
06/02/197026/01/1971Dog95.5911.28
27/01/197114/02/1972Pig104.599.42
15/02/197202/02/1973Rat114.359.33
03/02/197322/01/1974Ox96.55-15.57
23/01/197410/02/1975Tiger78.36-18.84
11/02/197530/01/1976Rabbit100.8628.71
31/01/197617/02/1977Dragon100.920.06
18/02/197706/02/1978Snake89.50-11.32
07/02/197827/01/1979Horse101.8613.81
28/01/197915/02/1980Sheep115.4113.30
16/02/198004/02/1981Monkey128.5911.42
05/02/198124/01/1982Rooster115.38-10.27
25/01/198212/02/1983Dog147.6527.97
13/02/198301/02/1984Pig162.7410.22
02/02/198419/02/1985Rat181.3311.42
20/02/198508/02/1986Ox214.5618.33
09/02/198628/01/1987Tiger275.4028.36
29/01/198716/02/1988Rabbit259.83-5.65
17/02/198805/02/1989Dragon296.9714.29
06/02/198926/01/1990Snake325.809.71
27/01/199014/02/1991Horse364.2211.79
15/02/199103/02/1992Sheep409.5312.44
04/02/199222/01/1993Monkey436.116.49
23/01/199309/02/1994Rooster472.778.41
10/02/199430/01/1995Dog468.51-0.90
31/01/199518/02/1996Pig647.9838.31
19/02/199606/02/1997Rat780.1520.40
07/02/199727/01/1998Ox969.0224.21
28/01/199815/02/1999Tiger1230.1326.95
16/02/199904/02/2000Rabbit1424.3715.79
05/02/200023/01/2001Dragon1360.40-4.49
24/01/200111/02/2002Snake1111.94-18.26
12/02/200231/01/2003Horse855.70-23.04
01/02/200321/01/2004Sheep1147.6234.11
22/01/200408/02/2005Monkey1202.304.76
09/02/200528/01/2006Rooster1283.726.77
29/01/200617/02/2007Dog1455.5413.38
18/02/200706/02/2008Pig1326.45-8.87
07/02/200825/01/2009Rat831.95-37.28
26/01/200913/02/2010Ox1075.5129.28
14/02/201002/02/2011Tiger1304.0321.25
03/02/201122/01/2012Rabbit1315.380.87
23/01/201209/02/2013Dragon1517.9315.40
10/02/201330/01/2014Snake1794.1918.20
31/01/201418/02/2015Horse2099.6817.03
19/02/201507/02/2016Sheep1880.05-10.46
08/02/201627/01/2017Monkey2294.6922.05
28/01/201715/02/2018Rooster2731.2019.02
16/02/201804/02/2019Dog2724.87-0.23
05/02/201924/01/2020Pig3295.4720.94
25/01/202011/02/2021Rat3916.3818.84
12/02/202131/01/2022Ox4515.5515.30
01/02/202221/01/2023Tiger3972.61-12.02
22/01/202309/02/2024Rabbit5026.6126.53
10/02/202428/01/2025Dragon6067.7020.71
29/01/202516/02/2026Snake6836.1812.67

The next step is to average these values across each zodiac animal using a simple AVERAGEIF function:

Zodiac
Average return (%)
Dragon9.9
Snake-1.0
Horse6.2
Sheep4.7
Monkey8.1
Rooster11.6
Dog5.6
Pig15.5
Rat8.5
Ox6.9
Tiger11.0
Rabbit11.7

Calculating volatility per zodiac animal

The next step is to calculate the volatility over every lunar year. This first requires establishing a suitable metric against which we can actually quantify volatility. Finding the high and low of a given year and dividing by its mean gives us the relative spread of each period, which is somewhat useful for illustrating the size of the overall trading range, but fails to describe how much the results cluster around the mean.

A more useful measure of volatility is to calculate the standard deviation across a given year, which tells us exactly how grouped together or spread out the daily close prices are. Using a STDEV.S function in combination with a FILTER function, we are able to calculate the standard deviation for each lunar year by filtering price data by date range. We now have the standard deviation for each period, but these results do not account for the huge difference in absolute values over time. A standard deviation over a 10-point range is obviously going to be smaller than the standard deviation over a 1,000-point range. To account for this, we simply divide the standard deviation by the mean, thereby normalising the results. This figure is called the coefficient of variation, also known as normalised root-mean-square deviation (NRMSD), which is often used in economic models and represents a measure of the extent of variability in relation to the mean of a given data set. We are content that this is an adequate description of volatility as we wish to model it.

Full results presented below:

Year start
Year end
Zodiac
Change (%)
Spread (%)
NRMSD (%)
23/01/192720/01/1928Rabbit///
23/01/192809/02/1929Dragon39.8220.7810.81
10/02/192929/01/1930Snake-8.5528.6813.81
30/01/193016/02/1931Horse-22.4228.4416.38
17/02/193105/02/1932Sheep-55.1341.2923.98
06/02/193225/01/1933Monkey-8.7435.8118.28
26/01/193313/02/1934Rooster58.0337.6219.76
14/02/193403/02/1935Dog-19.3415.987.68
04/02/193523/01/1936Pig53.7026.6315.20
24/01/193610/02/1937Rat30.6314.647.82
29/01/202516/02/2026Snake12.6713.236.08

Averaging our coefficient of variation values across each zodiac animal, we obtain the following table:

Zodiac
Average return (%)
Spread (%)
NRMSD (%)
Dragon9.910.25.06
Snake-1.012.76.10
Horse6.215.78.15
Sheep4.714.17.36
Monkey8.112.96.34
Rooster11.613.76.83
Dog5.613.16.99
Pig15.511.75.64
Rat8.515.27.70
Ox6.915.48.25
Tiger11.016.07.84
Rabbit11.711.95.71

We now have a quantified measure of volatility, per animal. The next step is to ascertain whether or not the spreads in average returns and average volatility are meaningful. With a low of -1.0 and a high of 15.5, the spread in average returns looks significant. Likewise, with a low of 5.06 and a high of 8.25, we have what looks like a reasonably wide spread in volatility. Alas, looks can be deceiving. We need to determine just how significant these spreads really are.

One way of doing this is to perform a permutation test. The purpose of performing such a test is to see what the results would be if we attributed the yearly results to a random animal instead of to its actual animal. To achieve this, we create a column that randomly assigns a zodiac sign to each year, and then calculate results according to these random signs. We then collect the spread in average returns and coefficients of variation to see how they measure up against our original data set.

As per the above table, for average returns, we have a minimum of -1.0 and a maximum of 15.5, giving us a spread of 16.4. For the coefficient of variation, we have a minimum of 5.06 and a maximum of 8.25, giving us a spread of 3.19.

Running the permutation test over many cycles, we compare the obtained spreads against these results. Predictably, the randomly calculated spreads are significantly higher than our original results. Put differently, if we were to assign zodiac animals to random years, we would likely obtain a higher spread in average returns and in volatility, per animal, than what we actually got. This tells us that there is no correlation whatsoever between the performance of the S&P 500 index and the Chinese lunar calendar.

This confirms what we would realistically expect. US stock markets have historically followed cyclical patterns that are shorter than the 12-year zodiac cycle, blurring the results over the lunar calendar. More broadly speaking, there is little reason to expect an American stock market index to correlate to the Chinese lunar calendar, and it indeed does not.


Nikkei 225

This is where things get a little more interesting. We repeat the exact same steps for the Japanese Nikkei 225 index as we did for the S&P 500. Firstly, the return of the Ni225 according to the lunar calendar:

Year start
Year end
Zodiac
Close
Change (%)
29/01/194916/02/1950Ox109.6/
17/02/195005/02/1951Tiger119.438.97
06/02/195126/01/1952Rabbit184.2754.29
27/01/195213/02/1953Dragon409.42122.18
14/02/195302/02/1954Snake357.71-12.63
03/02/195423/01/1955Horse371.043.73
24/01/195511/02/1956Sheep427.5715.24
12/02/195630/01/1957Monkey572.0733.80
31/01/195717/02/1958Rooster533.85-6.68
18/02/195807/02/1959Dog689.9729.24
08/02/195927/01/1960Pig953.9338.26
28/01/196014/02/1961Rat1581.6465.80
29/01/202516/02/2026Snake56806.4145.59

The next step is to average these values across each zodiac animal using a simple AVERAGEIF function:

Zodiac
Average return (%)
Dragon23.0
Snake10.3
Horse0.3
Sheep4.2
Monkey12.4
Rooster17.0
Dog3.9
Pig16.8
Rat20.3
Ox1.9
Tiger4.8
Rabbit20.4

As noted in the main article, the spread in average returns is significantly greater than those found in the S&P 500.

Using the same methodology as for the S&P 500 data set, averaging our coefficients of variation across each zodiac animal, we obtain the following table:

Zodiac
Average return (%)
Spread (%)
NRMSD (%)
Dragon23.017.98.27
Snake10.318.29.01
Horse0.314.77.91
Sheep4.212.16.64
Monkey12.413.76.61
Rooster17.013.77.34
Dog3.911.65.30
Pig16.815.27.70
Rat20.323.612.22
Ox1.914.16.81
Tiger4.814.76.93
Rabbit20.415.77.86

As per the above table, for average returns, we have a minimum of 0.3 and a maximum of 23, giving us a spread of 22.7. For the coefficient of variation, we have a minimum of 5.30 and a maximum of 12.22, giving us a spread of 6.92.

We run the same permutation test as above, randomising zodiac animals per year. This time, we notice a difference. For the average returns, the randomly calculated spreads are typically higher than our spread of 22.7, suggesting that just as with the S&P 500, the average return of the Nikkei 225 does not correlate with the lunar calendar.

However, when calculating spreads in volatility, we quickly notice that the randomised spreads are lower than our original spread of 6.92. Put differently, if we were to assign zodiac animals to random years, we would likely obtain a lower difference in volatility than what we actually got. This tells us that there is in fact a correlation between the volatility in the Nikkei 225 and the Chinese lunar calendar. As stated in the main article, a possible explanation to this lies in the longer economic cycles that dominated the Japanese financial sphere after the second world war, but if that is the case, it is odd that the same correlation does not appear in the average return of the index.


Conclusion

Whether or not the Chinese lunar calendar actively influenced sentiment on the trading floor of the Tokyo Stock Exchange over the decades would be almost impossible to prove. It is nevertheless interesting that volatility in the Nikkei index does appear to correlate with the Chinese Zodiac, even when the performance of said index does not.


← Back to article: Year of the horse

Zpětná vazba
float feedback icon
LiveChat
livechat
PŘIHLÁSIT SE OTEVŘÍT ÚČET

Obchodování s deriváty a pákovými produkty je vysoce rizikové a může vést ke ztrátám přesahujícím vaši počáteční investici. Před obchodováním si přečtěte naše Obchodní podmínky (T&C) a Dokument o zveřejnění informací o produktu (PDS).

OTEVŘÍT ÚČET