sobota, 9 listopada 2024

Czy indeksy GPW są źle liczone?

Poprawne porównywanie stóp zwrotu z różnych indeksów, szczególnie w dłuższych okresach, wymaga odpowiedniej wiedzy. Np. WIG jest indeksem dochodowym w tym sensie, że uwzględnia nie tylko zmiany cen akcji, ale też dywidendy. Z kolei WIG20 i S&P 500 są indeksami cenowymi w tym sensie, że jedynie pokazują zmiany cen akcji, stąd nie są korygowane o dywidendy. Stanowią po prostu ważone kapitalizacje odpowiednich spółek. Aby móc porównać WIG z WIG20, stworzono WIG20TR - czyli właśnie odpowiednik WIGu dla największych 20 spółek. Również S&P 500 ma swój odpowiednik indeksu dochodowego - S&P 500 Total Return.

Tak więc porównanie WIG z S&P 500 nie jest poprawne - należy porównać go z S&P 500 TR. Można powiedzieć, że Total Return (TR) oznacza zwrot z indeksu dochodowego. Wydaje się więc, że sposób obliczania powinien być co do zasady ten sam - przynajmniej w kwestii dodawania dywidend.

I tu dochodzimy do meritum. Przeanalizowałem wzory, jakie stosują GPW i NYSE. Wg mnie sposób obliczania S&P 500 TR jest poprawny, a WIG20TR (a więc i WIG) niepoprawny.

Total Return na GPW

Metodologię obliczania indeksów, w tym WIG20TR, znajdziemy w regulaminach na tej stronie GPW -> W Regulaminie Rodziny Indeksów Giełdowych. 

Ogólny wzór na każdy indeks GPW jest następujący (pkt 4.2.1. Regulaminu):


gdzie:

Indeks(t) ‒ wartość Indeksu na Sesji „t”

M(t) ‒ kapitalizacja Portfela Indeksu na Sesji „t”

M(0) ‒ kapitalizacja Portfela Indeksu w Dniu Bazowym

Indeks(0) ‒ wartość Indeksu w Dniu Bazowym

K(t) ‒ Współczynnik Korygujący Indeksu na Sesji „t”


Dla WIG20TR (pkt 5.3.4.): 


gdzie:

M(t’) ‒ kapitalizacja Portfela Indeksu po rewizji, korekcie lub korekcie nadzwyczajnej obliczana na podstawie ostatniego kursu

M(t) ‒ kapitalizacja Portfela Indeksu zamknięcia przed rewizją, korektą lub korektą nadzwyczajną 


Dla uproszczenia załóżmy, że prawa poboru i nowe emisje akcji nie występują. Wtedy:


D(t) ‒ wartość dywidendy z akcji lub wartość teoretyczna dywidendy z akcji (obliczana przez Giełdę zgodnie ze Szczegółowymi Zasadami Obrotu Giełdowego), które na Sesji „t+1” po raz pierwszy będą notowane „bez dywidendy”; w przypadku ustalenia dywidendy w walucie obcej, kwota dywidendy zostaje przeliczona na złote.


Wyjaśnienie: w mianowniku występuje korekta K(t), która jest ułamkiem (indeksu bez dywidendy do indeksu z dywidendą), a więc podnosi cały indeks o odwrotność tego ułamka. Stąd WIG20TR nie będzie spadał o dywidendę. 

Ta konstrukcja jest identyczna dla WIG. Z kolei WIG20 nie zawiera owej korekty (zob. pkt 5.2.5. Regulaminu) i dlatego będzie spadał o średnioważoną dywidendę.
 

Total Return na NYSE i NASDAQ

Metodologia obliczenia TR jest zawarta w dokumencie Index Mathematics Methodology -> dok. pdf -> str. 21. 


Wtedy dzienny całkowity zwrot (Daily Total Return - DTR) zapiszemy:


gdzie IndexLevel(t) to typowy indeks giełdowy, jak S&P 500.

Wówczas indeks całkowitego zwrotu będzie określony wzorem:


Wyjaśnienie: Indeks z poprzedniego dnia jest powiększony o zwrot z tytułu zmiany cen i otrzymanej dywidendy nowego dnia.


Czy obydwa indeksy są równe?

Aby odpowiedzieć na to pytanie, podstawmy korektę K(t) do wzoru na Indeks:




Za K(t-1) analogicznie:



Powtarzając ten proces aż do K(0) dostaniemy:



W okresie 0 nie ma korekty albo przyjmujemy, że wszystkie wartości poprzednie M(t<0) = M(t<0') = M(0), stąd K(0) = 1. Dalej, w uproszczeniu możemy powiedzieć, że M(t'), M(t-1'), ... są to wartości na otwarcie kolejnego dnia, podczas gdy M(t), M(t-1), ... to wartości na zamknięcie tego samego dnia. Przy takim wyobrażeniu możemy zapisać, że:


dzięki czemu wzór na indeks się skraca:



Wyprowadźmy wzór na r'. Wiemy, że

M(t) = M(t') + D(t)

Czyli dla t-1:
M(t-1) = M(t-1') + D(t-1)

Teraz przekształcamy:
M(t) = M(t-1) + [M(t) - M(t-1)] = M(t-1') + D(t-1) + M(t) - M(t-1') - D(t-1) =
= M(t-1')*[M(t-1') / M(t-1') + [D(t-1) + M(t) - M(t-1') - D(t-1)]/M(t-1')] = 
= M(t-1')*[1 + [M(t) - M(t-1')]/M(t-1')] = M(t-1')*(1 + r')

Mamy więc
M(t) = M(t-1')*(1 + r'), gdzie
r(t') = [M(t) - M(t-1')]/M(t-1') = M(t) / M(t-1') - 1

Czyli zauważmy, że 



Jest to stopa zwrotu z WIG i WIG20TR. Problem polega na tym, że to wygląda tak, jakby ceną na zamknięcie była cena po odcięciu dywidendy - chociaż jeszcze tego odcięcia nie było, ponieważ nastąpi dopiero w kolejnym dniu. I wtedy w tym kolejnym dniu cena M(t) jest odnoszona do tej sztucznej ceny niby po odcięciu. Jak dla mnie to nie ma sensu. 

M(t) możemy też tak przekształcić, by uzyskać prostą stopę zwrotu:

M(t) = M(t-1) + [M(t) - M(t-1)] = M(t-1)/M(t-1)*M(t-1) + [M(t) - M(t-1)]/M(t-1)*M(t-1)   =
= M(t-1)*(1+r),
r(t) = [M(t) - M(t-1)]/M(t-1) = M(t) / M(t-1) - 1

r(t) jest zwykłą stopą zwrotu, typową dla WIG20 lub S&P 500, czyli bez dywidend. W takim razie całkowita dzienna stopa zwrotu z S&P 500 musi być równa:


Jest to oczywiście ten sam wzór, który wcześniej był podany w metodologii obliczania S&P.
Wynika z tego, że w ogólnym przypadku TR dla WIG nie będzie równa TR dla S&P 500, a dokładniej dla WIG będzie większa! Dla WIG dywidendę odejmuje się w mianowniku i od tego punktu liczy się wzrost. Dla S&P 500 TR w liczniku dodaje się dywidendę w stosunku do zamknięcia poprzedniego dnia. Z powodu tej różnicy powstaje przesunięcie czasowe w ustaleniu okresu dywidendy. W przypadku WIG i WIG20TR dywidenda nie dotyczy dnia, w którym nastąpiło jej odcięcie od cen, ale od poprzedniego dnia. W przypadku S&P 500 TR dywidenda dotyczy tego dnia, w którym następuje odcięcie. 

Przykład

Żeby zobaczyć różnicę zrobimy sztuczny przykład. W dniu 0 kupujemy 1 akcję po 10 zł z prawem do dywidendy po 1 zł. Jutro, w dniu 1, dostajemy dywidendę. Kurs akcji spadnie o wielkość dywidendy (bez odcięcia wyszedłby na zero). W dniu 2 kurs rośnie o 15%, a dodatkowo ustalona zostaje znów dywidenda 1 zł. W dniu 3 cena na otwarcie spada o wielkość tej dywidendy, ale od otwarcia cena rośnie o 10%:

(1) WIG / WIG20TR:

dzień 0: 
D(0) = 1
M(0) = 10
M(0') = M(0) - D(0) = 10 - 1 = 9
K(0) = 1

indeks(0) = M(0) = 10

dzień 1: 
D(1) = 0
M(1) = M(0') = 9
M(1') = M(1) - D(1) = 9 - 0 = 9
K(1) = M(0') / M(0) * K(0) = 9 / 10 * 1 = 0,9

indeks(1) = M(1) / (M(0) * K(1)) * 10 = 9 / (10 * 0,9) * 10 = 10

DTR(1) = indeks(1) / indeks(0) - 1 = 10 / 10 - 1 = 0

Sprawdźmy czy DTR(1) jest równe r':
r' = M(1) / M(0') - 1 = 9 / 9 - 1 = 0

Zgadza się: r' = DTR(1)

dzień 2: 
D(2) = 1
M(2) = M(1')*1,15 = 9*1,15 = 10.35
M(2') = M(2) - D(2) = 10,35 - 1 = 9,35
K(2) = M(1') / M(1) * K(1) = 9 / 9 * 0,9 = 0,9

indeks(2) = M(2) / (M(0) * K(2)) * 10 = 10,35 / (10 * 0,9) * 10 = 11,5

DTR(2) = indeks(2) / indeks(1) - 1 = 11,5 / 10 = 0,15

Sprawdźmy czy DTR(2) jest równe r':
r' = M(2) / M(1') - 1 = 10.35 / 9 - 1 = 0,15

Zgadza się: r' = DTR(2)

dzień 3: 
D(3) = 0
M(3) = M(2')*1,1 = 9,35*1,1 = 10,29
M(3') = M(3) - D(3) = 10,29 - 0 = 10,29
K(3) = M(2') / M(2) * K(2) = 9,35 / 10,35 * 0,9 = 0,813

indeks(3) = M(3) / (M(0) * K(3)) * 10 = 10,29 / (10 * 0,813) * 10 = 12,66

Policzmy zmianę w trzecim dniu:
DTR(3) = indeks(3) / indeks(2) = 12,66 / 11,5 - 1 = 0,10

Sprawdźmy czy DTR(3) jest równe r':
r' = M(3) / M(2') - 1 = 10,29 / 9,35 - 1 = 0,10

Zgadza się: r' = DTR(3)

W okresie od 0 do 3-go dnia indeks wzrósł o:
TR = (12,66 / 10 - 1)*100% = 26,6%


(2) S&P 500:

dzień 0: 
D(0) = 0
M(0) = 10

indeks(0) = M(0) = 10

dzień 1:  
D(1) = 1
M(1) = M(0) - D(1) = 10 - 1 = 9

DTR(1) = (M(1) + D(1)) / M(0) - 1 = (9 + 1) / 10 - 1 = 0

indeks(1) = indeks(0)*(1 + DTR(1)) = 10*(1 + 0) = 10

Zmiana indeksu:
indeks(1) / indeks(0) - 1 = 10/10 - 1 = 0 = DTR(1) 

dzień 2: 
D(2) = 0
M(2) = (M(1) - D(2))*1,15 = 9*1,15 = 10,35

DTR(2) = (M(2) + D(2)) / M(1) - 1 = (10,35 + 0) / 9 - 1 = 0,15

indeks(2) = indeks(1)*(1 + DTR(2)) = 10*(1 + 0,15) = 11,5

dzień 3: 
D(3) = 1
M(3) = (M(2) - D(3))*1,1 = (10,35 - 1)*1,1 = 9,35*1,1 = 10,29
DTR(3) = (M(3) + D(3)) / M(2) - 1 = (10,29 + 1) / 10,35 - 1 = 0,091

indeks(3) = indeks(2)*(1 + DTR(3)) = 11,5*(1 + 0,091) = 12,55

W okresie od 0 do 3-go dnia indeks wzrósł o:
TR = (12,55 / 10 - 1)*100% = 25,5%


Zatem widzimy, że - mimo identycznych założeń: poziomów kapitalizacji M(t), dziennych zmian ceny i identycznych dywidend - WIG rośnie mocniej od S&P 500 TR o 1,1 pkt proc.

Podsumowanie

No więc pytanie czy to możliwe, żeby GPW źle obliczała WIG i WIG20TR oraz inne indeksy TR? Są tylko 3 możliwości. Albo czegoś nie rozumiem, albo regulamin nie jest wystarczająco precyzyjny i GPW dokonuje jeszcze dodatkowej korekty indeksu, albo naprawdę źle liczą ten indeks. W USA jest natomiast prawidłowo - indeks TR jest konstruowany na podstawie powszechnie stosowanego wzoru na całkowitą stopę zwrotu.  

Mimo wszystko nawet jeżeli mam rację, to nie ma to w rzeczywistości wielkiego wpływu, bo mało prawdopodobne, żeby kurs zmieniał się o 10% i więcej dziennie, jak w przykładzie. W dodatku sam S&P 500 - bez dywidend - radzi sobie dużo, dużo lepiej niż nasz WIG z dywidendami. 

Brak komentarzy:

Prześlij komentarz