niedziela, 1 maja 2022

Jaka jest różnica między testem t-Studenta i Chowa? Kiedy nie powinno się ich stosować i czym je zastąpić?

 Załóżmy dla uproszczenia, że stopy zwrotu z jakichś aktywów, np. funduszy akcji, mają rozkład normalny i nie są skorelowane w czasie. Dalej zastanawiamy się, w który fundusz zainwestować. Ponieważ rozkład jest gaussowski, są tylko dwa parametry do analizy: średnia i wariancja. Im większa średnia stopa zwrotu, tym lepiej oraz im mniejsza wariancja (i jej pierwiastek, czyli odchylenie std) tym lepiej. W sumie wystarczy użyć współczynnika Sharpe'a będącego w najprostszym ujęciu ilorazem średniej stopy zwrotu do odchylenia standardowego. Wydawałoby się więc, że wystarczy wyciągnąć stopy zwrotu z kilku ostatnich lat, np. z notowań mbanku lub stooq.pl, obliczyć wskaźnik Sharpe'a i wybrać fundusz o najlepszym wyniku. Jednak takie proste podejście jest niepoważne z naukowego punktu widzenia. Przykładowo, jak można traktować poważnie taką metodę, skoro przyjmujemy za pewnik, że średnia stopa zwrotu pozostaje stabilna w czasie? Niektórzy autorzy uzasadniają użycie stałych parametrów, odwołując się do ekonofizyki: M. Dobija i D. Dobija [1] stwierdzają, że premia za ryzyko jest wielkością wynikającą z praw natury, a przez to stabilną, wynoszącą średnio ok. 8% rocznie (w zależności od sposobu liczenia może wynieść nieco więcej). Chociaż analogie do fizyki są bardzo kuszące, to mimo wszystko nie muszą one odzwierciedlać w pełni rzeczywistości, bo nie wywodzą się z dedukcji ekonomicznej. Teoria CAPM wprost mówi, że im większe ryzyko rynkowe, tym większa premia za ryzyko. Owe 8% może istotnie dotyczyć pewnej średniej, czyli np. portfela rynkowego (bo wraz z premią za czas równą ok. 3% koszt kapitału wyniesie 11%), ale fundusze akcji budują własne portfele. W dynamice giełdowej fundusze zmieniają skład portfela, a wtedy też mogą zmieniać się ich zyski. 

Dochodzimy do wniosku, że potrzebne są nam narzędzia do oceny stabilności parametrów rozkładu stopy zwrotu. Z czego można więc skorzystać na szybko?

Test t

Jest to tak standardowe narzędzie, że znajdziemy je w każdej wersji Excela. Na dodatek testu t możemy użyć na dwa sposoby: poprzez formułę (T.TEST) lub poprzez specjalną opcję przeznaczoną do analizowania danych statystycznych (dodatek Analiza danych, w ang. Analysis Toolpak). Użyjemy formuły.

Jest kilka rodzajów testu t. Wg pomocy Excela wszystkie one stanowią test t-Studenta, choć trzeba wiedzieć, że oryginalny test t-Studenta dotyczy sytuacji, gdy wariancje w obu porównywanych próbach są równe. Gdy wariancje nie są równe, stosuje się tzw. test Welcha. W Excelu nazwa nie ma znaczenia. Generalnie, zasada jest taka, że dla zmiennych ekonomicznych lub giełdowych zawsze stosujemy test Welcha. Nawet jeśli wariancja jest taka sama, to test Welcha też będzie dobrze działać. Niektórzy autorzy uważają, że w ogóle zamiast testu Studenta należy stosować test Welcha, ponieważ jego moc jest zbliżona do tego pierwszego, gdy wariancje są jednorodne [2].

Czyli mamy dwie próby A i B. Nie jest konieczne, żeby miały taką samą liczebność, chociaż sami czujemy, że żeby prawidłowo porównać dwie próby, to jednak liczba danych powinna być w miarę podobna, jeśli oczywiście to możliwe.

Formuła jest banalnie prosta:

=T.TEST(A; B; 2; 3)

Nazwa może być myląca, bo  nie zwraca ona wartości statystyki t, tylko prawdopodobieństwo, że średnie są równe. Trzeci argument wynosi 2, bo chcemy sprawdzić zachowanie ogonów rozkładu z dwóch stron - dodatniej i ujemnej. Tak naprawdę ten argument mógłby w ogóle nie występować, bo ze względu na założenie symetryczności, zawsze ogon jednej strony będzie równy połowie dwóch ogonów w sensie prawdopodobieństwa - więc samemu można sobie już podzielić na dwa czy podwoić.

Istotny jest natomiast czwarty argument - typ testu. Będzie równy 1 dla testu sparowanego, tzn. gdy pozycja każdego elementu w jednej próbie ma znaczenie dla elementu o tej samej pozycji w drugiej próbie. To znaczy, każdy element w jednej próbie jest sparowany z elementem na takiej samej pozycji w drugiej próbie. Przykładowo mamy grupę pacjentów A. Każdy pacjent ma jakiś wynik bez stosowania leku. Następnie stosujemy na każdym pacjencie lek. Jest oczywiste, że kolejność pacjentów w grupie A ma znaczenie, jeśli chcemy porównać ich wyniki po użyciu leku. Dlatego, tworząc grupę B pacjentów, którzy przyjmą lek, musimy mieć pewność, że dany pacjent ma tę samą pozycję w obu grupach. Wynik w jednej grupie może się różnić w drugiej grupie, ale czy statystycznie wyniki będą różne? Zauważmy, że nawet jeśli dla kilku pacjentów lek będzie działał doskonale, ale dla reszty nie przyniesie żadnej poprawy, to badacz musi uznać, że lek nie działa. Widać więc, że ważne jest, aby grupa pacjentów była reprezentatywna w badaniach i samo grupowanie ma duże znaczenie. W ekonomii użycie sparowanego testu w niektórych sytuacjach ma sens, jak choćby porównanie zmian PKB okres do okresu. W przypadku stóp zwrotu na rynkach nie ma to już znaczenia.

Jeżeli dane nie muszą być sparowane, a wariancja w obydwu próbach jest równa, czyli zmienna jest  homoskedastyczna, to typ będzie równy 2.

W końcu, jeśli wariancje w obu próbach się różnią (zmienna jest heteroskedastyczna), to dajemy 3. To jest właśnie test Welcha. 

Jak wygenerować losowe obserwacje pochodzące z rozkładu normalnego?

Aby sprawdzić jak test działa, możemy wygenerować dwie próby o rozkładzie normalnym. W polskiej wersji używamy formuły ROZKŁAD.NORMALNY.ODW (w ang. wersji NORMINV) - tj. rozkład normalny odwrócony, czyli po prostu nasza zmienna o rozkładzie normalnym (formuła ROZKŁAD.NORMALNY, w ang. NORMDIST, zwraca prawdopodobieństwo tej zmiennej). Formuła zawiera 3 argumenty: prawdopodobieństwo zwracanej wartości, średnia oraz odchylenie std. Powiedzmy, że chcemy wygenerować 50 danych. Dwa ostatnie są oczywiste - założymy średnią równą 0 i odch. std 1, Gorzej z pierwszym argumentem. Przede wszystkim należy wiedzieć, że zwracana wartość pochodzi z rozkładu skumulowanego (dystrybuanty), a nie gęstości. To z kolei umożliwia zastosowanie pewnej sztuczki: za prawdopodobieństwo wstawiamy formułę LOS(), w ang. RAND(). Generuje ona wartość losową z przedziału od 0 do 1, ale - uwaga - z rozkładu jednostajnego. Czyli nasza formuła ma postać:

=ROZKŁAD.NORMALNY.ODW(LOS(); 0; 1)

Formułę tę kopiujemy 50 razy i za każdym razem uzyskamy nowy wynik, który będzie pochodził już z rozkładu normalnego.

-----------------------------------------------------------------------------------------

Dla zainteresowanych: jak działa ta formuła? Intuicyjnie wydawałoby się, że powinna ona przynieść zmienną także z rozkładu jednostajnego: przecież dystrybuanta to jest funkcja rosnąca, a więc każdej wylosowanej obserwacji z przedziału od 0 do 1 przyporządkowujemy zawsze jedną liczbę. Skoro zmienna niezależna pochodzi z rozkładu jednostajnego, to jak to się dzieje, że przekształca się w rozkład normalny? Problem leży w istnieniu dodatkowych warunków, jak średnia i wariancja, a szczególnie chodzi tu o wariancję. W art. Od zasady maksymalnej entropii do regresji logistycznej pokazałem, że maksymalizacja entropii Shannona bez dodatkowych warunków prowadzi do rozkładu jednostajnego. Po dodaniu warunku średniej, otrzymamy rozkład logistyczny. Gdyby jeszcze tam dodać warunek wariancji, dostalibyśmy rozkład normalny.

To jednak wyjaśnienie jest bardziej pośrednie, bo nie dotyczy samej odwrotnej dystrybuanty (kumulanty). Gdyby bezpośrednio to wyjaśnić, to trzeba odwołać się do jej własności. Jedną z nich jest fakt taki, że jeśli zmienna p ma rozkład jednostajny od 0 do 1, to zmienna 1/F(p) posiada dystrybuantę F (zob. art. w Wikipedii). Własność tę wykorzystują różne generatory liczb losowych. W szczególności dla rozkładu normalnego będzie to transformacja Boxa-Mullera.

-----------------------------------------------------------------------------------------

Generujemy więc dwie losowe próby, A i B, po 50 danych za pomocą przedstawionej formuły: 

=T.TEST(A; B; 2; 2) lub 

=T.TEST(A; B; 2; 3) 

Nie tu ma większego znaczenia którą wybierzemy. Klawiszem F9 będziemy zmieniać wylosowane wartości. Zauważymy, że niemal zawsze wartość testu da wartość powyżej 0,05. To znaczy, że hipotezy zerowej mówiącej, że średnie są równe, nie powinniśmy odrzucać. Czyli test działa prawidłowo.

W kolejnym kroku próbę B nieco zmieniamy: podwyższamy średnią do 0,2. Czyli tworzymy formułę =ROZKŁAD.NORMALNY.ODW(LOS(); 0,2; 1). 

Patrzymy na test t. Co się okaże? Najczęściej dostaniemy wartość testu powyżej 0,05, a to znaczy, że test źle działa. Wiemy przecież, że pierwsza próba ma ciągle średnią 0, a druga 0,2, więc powinniśmy odrzucić hipotezę zerową. Różnica 0,2 okazuje się po prostu za mała. Zwiększmy średnią B do 0,5. Tym razem test radzi sobie lepiej, bo najczęściej daje wartości poniżej 0,05, choć nadal ma czasem problemy. Zwiększmy więc średnią do 0,7. Tym razem niemal zawsze dostaniemy wartości testu poniżej 0,05, czyli odrzucamy hipotezę zerową, że średnie są równe. Dostaliśmy wynik prawidłowy. 

Czyli już widzimy, że przy 50 danych różnica między średnimi nie może być minimalna, aby test dawał wiarygodne wyniki. Ale sytuacja jeszcze się pogorszy, gdy zwiększymy odchylenie std w B. Powiedzmy, że zwiększamy je dwukrotnie, tak że dostaniemy formułę =ROZKŁAD.NORMALNY.ODW(LOS(); 0,7; 2). Wtedy już stosujemy tylko test Welcha: 

=T.TEST(A; B; 2; 3). 

Okazuje się, że test działa słabo dla 50 danych. Dopiero po zwiększeniu liczebności obu prób do 100, statystyka testu wygląda lepiej: błędów dużo mniej.

Chociaż Excel nadaje się do robienia podstawowych i niezbyt złożonych operacji statystycznych, to jeżeli chcemy zrobić coś więcej, musimy ściągnąć jakieś dodatki albo samemu stworzyć formułę lub makro. Mimo wszystko najlepiej chyba posłużyć się specjalistycznym oprogramowaniem. 

Test Chowa

Kiedyś poruszyłem temat stabilności modelu ekonometrycznego. Jednym z nich był test Chowa, który nieco przypomina test t-Studenta z tego powodu, że także porównuje dwie próby. Różnica polega na tym, że test Chowa bada stabilność wszystkich parametrów w regresji liniowej zbudowanej na podstawie połączonych obu prób. Można by pomyśleć, że jeśli w regresji ustalimy zerowe nachylenie, to powinniśmy dostać te same rezultaty dla Chowa co dla t. Jednak tak nie jest, bo test t porównuje różnicę między jedną średnią a drugą, natomiast test Chowa (inaczej test F) stosunek średniej z sumy połączonych próbek do średniej pierwszej próby. Okazuje się jednak, że w jednym przypadku oba testy dają praktycznie te same rezultaty w sensie prawdopodobieństwa błędu (p), a dzieje się to w sytuacji najczęściej stosowanym, czyli gdy obie próbki mają taką samą liczebność (tj. w przypadku Chowa potencjalna zmiana średniej następuje w połowie badanego zakresu).

Tym razem użyję języka R do testu Chowa. W zasadzie to od R w ogóle mógłbym zacząć i nie bawić się z Excelem, ale z drugiej strony Excela zna każdy, więc łatwiej w ten sposób znaleźć punkt zaczepienia. Chociaż nie jest to konieczne, to polecane jest stosowanie R-Studio. I jeszcze nota dot. Gretla. Możemy także go użyć do analiz, chociaż R jest bardziej wszechstronny, dlatego od teraz na nim się skupię. Gretl ma w tym temacie tylko jedną przewagę: analiza zmian strukturalnych modelu jest już w programie zainstalowana, a w R musimy sami zainstalować pakiet. Dodatkową niedogodnością w R jest wymóg jeszcze załadowania pakietu.

W konsoli albo skrypcie wpisujemy komendę install.packages(strucchange) lub  install.packages("strucchange") i zatwierdzamy ENTER. W R-Studio można też wybrać Tools -> Install packages -> wpisujemy nazwę strucchange

Sporą niedogodnością, być może w przyszłości rozwiązaną, jest to, że aby użyć danego pakietu, musimy użyć aż trzech komend. Pierwsze to właśnie instalacja, drugie to załadowanie pakietu przez komendę library(strucchange) lub library("strucchange"). Tu jeszcze mała uwaga. Ponieważ będę na blogu używał potem różnych pakietów do R, warto od razu mieć kod sprawdzający czy dany pakiet jest zainstalowany i jeśli nie, to należy go zainstalować. Następnie włączyć. W sumie początkowy kod byłby następujący:

#jeżeli to wymagane, instalacja pakietu (tu strucchange) i włączenie go

if (require(strucchange)==FALSE) {

  install.packages(strucchange)

  library(strucchange)

}

Trzecią komendą będzie użycie samego pakietu. Ponieważ składa się on z wielu funkcji, nie przywołujemy już samego strucchange, który jest klasą funkcji, ale funkcję, np. sctest(x, ...) , gdzie x to jakiś obiekt. Na tej stronie  znajdziemy odnośniki do dokumentacji w formacie pdf.  Samemu ciężko się przebić przez to wszystko, więc trzeba po kolei zacząć od prostych komend.

Podobnie jak w Excelu musimy najpierw stworzyć dwie próby do testowania. Każda ma mieć 50 danych o rozkładzie normalnym. Służy do tego funkcja rnorm(). 

(1) Średnia 0 i odch std 1. W skrypcie wpisujemy kod:

n1 = 50

n2 = 50

sim1 = rnorm(n1, 0, 1)

sim2 = rnorm(n2, 0, 1)

gdzie n1 i n2 to liczebność próbek, sim1 i sim2 to nazwane zmienne symulujące rozkład Gaussa. 

Musimy teraz połączyć obie próbki. Najprostsze to użycie funkcji c:

sim12 = c(sim1,sim2)

gdzie sim12 to połączenie próbki 1 i 2 w jedną.

W końcu wykonujemy test Chowa. To właśnie teraz przywołujemy funkcję sctest:

sctest(sim12 ~ 1, type="Chow", point=n1)

Falka oznacza tworzenie regresji. Chociaż jest zrozumiałe, dlaczego jest ona użyta (notacja matematyczna), to jej wpisanie na klawiaturze nie jest zbyt wygodne (shift+tylda+spacja). W każdym razie sim12 to zmienna zależna, a sama cyfra 1 po tyldzie oznacza po prostu, że tworzymy regresję liniową bez nachylenia, jedynie ze stałą, której parametr chcemy wyznaczyć. Formuła sctest umożliwia analizę pod różnym kątem i jednym z nim z nich jest test Chowa, stąd type = "Chow". Ostatni element wprost nawiązuje do tego testu, bo wymaga wprowadzenia punktu, w którym sprawdzamy zmianę struktury modelu. Chcemy sprawdzić czy dzieje się to w połowie próby, więc będzie to n1 lub n1 + 1.

Wykonujemy kod. W R-Studio za pomocą CTRL+ENTER albo klikamy Run w oknie skryptu.

Hipoteza zerowa to brak zmiany struktury. Wobec tego gdy p > 0,05 lub jeśli mamy niewielką próbę, to gdy p > 0,1, uznajemy, że brak podstaw do odrzucenia hipotezy. Kod wykonujemy wielokrotnie. Test działa prawidłowo - praktycznie za każdym razem dostaniemy p > 0,05. 


(2) Średnia powyżej 0 i odch std 1.

Zmieńmy więc średnią drugiej próby, sim2, na 0,2. Tzn. sim2 = rnorm(n1, 0.2, 1)

Tym razem p najczęściej znajduje się powyżej 0,1, co wskazywałoby błędnie na niezmienność średniej. Przy 50 danych zmiana średniej o 0,2 jest po prostu za niska. Podnieśmy ją do 0,5: sim2 = rnorm(n1, 0.5, 1).

Po wielokrotnym użyciu testu wnioskujemy, że jest lepiej, ale nadal dość słabo. Dopiero podniesienie średniej sim2 do 0,7 będzie dawało bardzo dobre rezultaty, najczęściej p < 0,05. Co ważne, nie zawsze graficznie widoczna ta różnica. 3 przykłady poniżej (sim2 = 0,7), za pomocą komendy plot(sim12, type="l")


 



Porównanie testu Chowa z testem t

Wcześniej napisałem, że oba testy dają identyczne rezultaty jeśli obie próby są równoliczne. Możemy to teraz sami sprawdzić. Dotychczas test t robiłem w Excelu, ale skoro przechodzimy na R, trzeba to samo zrobić w tym języku. W R test t wykonujemy za pomocą komendy t.test. W naszym przykładzie będzie to 

t.test(sim1,sim2). 

I tak np. dostaniemy dla niego

t = -2.3179, df = 97.889, p-value = 0.02254

a dla testu Chowa 

F = 5.3726, p-value = 0.02254

Z czego ta równość wynika? Podnieśmy statystykę t, czyli -2,3179, do kwadratu. Otrzymamy 5,3726, czyli F. 

Jednak ta równowaga obu testów powstaje tylko w przypadku, gdy punkt zmiany struktury wynosi n1, czyli od połowy całej próby. Powiedzmy, że chcemy sprawdzić zmianę średniej nie od połowy zakresu, ale nieco wcześniej, np. od 40-tej obserwacji. Z punktu widzenia testu Welcha próbkę 1 zmniejszymy o 10, a do próbki 2 dokładamy te odjęte wartości. Wykonajmy teraz kod:

n1 = 40

n2 = 60

sim1 = rnorm(n1, 0, 1)

sim2 = rnorm(n2, 0.7, 1)

sim12 = c(sim1,sim2)

t.test(sim1,sim2)

sctest(sim12 ~ 1, type="Chow", point=n1)


Dostałem dla testu Welcha:

t = -2.0099, df = 79.143, p-value = 0.04785

i Chowa:

F = 4.1691, p-value = 0.04385


P-value już nie są takie same (t^2 będzie różne od F). Kolejne przesunięcie punktu zmiany spowoduje jeszcze większą różnicę.

Problem okresu zmiany parametru

W rzeczywistości rzadko wiemy z góry, kiedy moment zmiany może nastąpić. Oryginalny test Chowa [3] zakładał sytuację, gdy badacz ma przed sobą taką oto sytuację. Najpierw jakaś zmienna wykazywała trend przez wiele lat, więc można było znaleźć parametry jej regresji. Mijają kolejne lata i badacz ma zadanie sprawdzić czy trend się zmienił od poprzedniego badania. Czyli do starej regresji dodawane są kolejne obserwacje i można teraz sprawdzić czy nowa regresja (stara powiększona o nowe obserwacje) zmieniła parametry. Widać więc, że jest to odwrotna analiza do naszej. W naszej wybieramy punkt załamania, a Chow nie wybierał żadnego punktu - był on dany z góry. 

Mimo tej różnicy, przeprowadzana przez nas analiza jest prawidłowa. Logicznie biorąc nie ma znaczenia, czy dostajemy nową próbkę czy też dzielimy całą próbę na dwie części. W tym drugim podejściu powstaje jednak problem, polegający na arbitralnym wyborze okresu zmiany struktury modelu.

W powyższym przykładzie normalnie założylibyśmy połowę zakresu dla testu Chowa. Czyli sctest miałby postać:

sctest(sim12 ~ 1, type="Chow", point=(n1+n2)/2)

Przykładowo otrzymałem  dla Welcha p = 0,008 i Chowa p = 0,021. Innym razem odpowiednio 0,02 i 0,03. Test Welcha zawsze wskaże mniejsze p, czyli da lepsze wyniki, ale generalnie test Chowa nadal sobie dobrze radzi mimo iż błędnie wskazaliśmy moment zmiany. Dzieje się tak, bo odchylenie 10 okresów nie powoduje dużego zamieszania: nadal prrzed połową średnia będzie mniejsza niż po niej.

Niestety jeśli zmniejszymy średnią sim2 do 0,5 sytuacja się pogorszy na niekorzyść Chowa. Np. otrzymamy dla t p-value = 0,014 i dla Chowa 0,092. Problem ten można "rozwiązać" zwiększając liczebność próby. Np. wykonując kod:

n1 = 100

n2 = 200

sim1 = rnorm(n1, 0, 1)

sim2 = rnorm(n2, 0.5, 1)

sim12 = c(sim1,sim2)

t.test(sim1,sim2)

sctest(sim12 ~ 1, type="Chow", point=(n1+n2)/2)

test Chowa będzie już dawał bardzo dobre wyniki mimo odchylenia 50 okresów.

Problem małej próby

Oczywiście nie jest to żadne prawdziwe rozwiązanie, bo w przypadku szeregów czasowych to właśnie liczebność stanowi zawsze ograniczenie. Chociaż zazwyczaj w przypadku zbyt małej liczby danych rocznych czy kwartalnych, zwiększa się częstość do miesięcznej albo tygodniowej, to trzeba pamiętać, że to spowoduje, że także średnia spadnie i uchwycenie zmiany może być trudniejsze. Dodatkową przeszkodą jest zwiększona zmienność dla większych częstości.

Jeżeli fundusz funkcjonuje od 10 lat, to mamy zaledwie 40 kwartałów. Np. jeżeli w próbie 50-elementowej od 35 elementu nastąpi zmiana średniej z 0 na 0,7, to test Chowa:

n1 = 35

n2 = 15

sim1 = rnorm(n1, 0, 1)

sim2 = rnorm(n2, 0.7, 1)

sim12 = c(sim1,sim2)

sctest(sim12 ~ 1, type="Chow", point=(n1+n2)/2)


będzie bardzo chwiejny. Istotność należy już ustawić na 0,1, a i tak co druga próba będzie dawać p > 0,1. 

Najgorsze jest to, że jeżeli zmiana średniej nastąpi tylko 5 obserwacji więcej niż w połowie zakresu (czyli n1 = 30 i n2 = 20), to dodatkowo test będzie często zawodził. Nie można wtedy polegać na nim.

Test QLR

W samej idei test QLR (Quandt Likelihood Ratio) rozwiązuje powyższy kłopot bardzo prosto - wykonuje test Chowa po wszystkich punktach zakresu (poza skrajnymi punktami początku i końca sumarycznej próby), a następnie znajduje maksimum otrzymanych statystyk F, które powinno przekroczyć poziom uznany za przypadkowy. Pozornie wydaje się, że można by napisać kod z pętlą, która to robi. To by z kolei znaczyło, że wystarczy wyznaczyć max F i sprawdzić czy p-value > poziom istotności. Tylko że sprawdzając każdy punkt potencjalnej zmiany struktury, za każdym razem wyznaczamy jakieś p-value, a więc dla wielu punktów p staje się zmienną o pewnym rozkładzie częstości. Jeżeli wybieramy sobie z próbki najmniejszą wartość tego rozkładu (któremu odpowiada największe F), to przy dużej próbie zawsze trafimy na p mniejsze od poziomu istotności. Przy mniejszej próbie też będzie na to duża szansa.  Będzie to przypadkowe odchylenie zupełnie jak w grze w totolotka, gdy przy wielu losowaniach w końcu trafimy na liczbę wygrywającą. W naszym przypadku każde losowanie to kolejna obserwacja w szeregu czasowym. Testy statystyczne polegają na oszacowaniu prawdopodobieństwa, że takie odchylenie to losowy przypadek, a nie realna cecha rozkładu zmiennej. Widać, że potrzebna jest metoda oceniająca czy przebicie progu istotności nie jest efektem wyłącznie samej budowy rozkładu prawdopodobieństwa, w tym wypadku rozkładu F. Quandt [4] posłużył się ilorazem wiarygodności (likelihood ratio)

W pakiecie strucchange do wykonania testu QLR służy funkcja Fstats. W sumie będą 4 nowe linijki kodu.  Pierwsza to funkcja Fstats, którą dla skojarzenia nazwiemy qlr. Druga  nie jest potrzebna, ale przyda się grafika - plot. Jest to funkcja wewnętrznie związana ze strucchange, dlatego zawiera także argument alpha. Ustawimy go na 0,1. Trzecia jest najważniejsza, to sctest, ale tym razem głównym argumentem nie będzie model liniowy, tylko sam qlr. Drugi tutaj argument "supF" oznacza supremum statystyki F, czyli właśnie jego max. Czwarta linia - breakpoints - to sam moment zmiany, w naszym przypadku test powinien wskazać 35. 

n1 = 35

n2 = 15

sim1 = rnorm(n1, 0, 1)

sim2 = rnorm(n2, 0.7, 1)

sim12 = c(sim1,sim2)


qlr = Fstats(sim12 ~ 1)

plot(qlr, alpha=0.1)

sctest(qlr, type="supF")

breakpoints(qlr)


Przykładowo dostaniemy takie wyniki:



Fstats prawidłowo pokazał, że zmiana struktury nastąpiła w 35 punkcie, ponieważ jest to najwyższy punkt statystyki F. Dodatkowo podano, że odpowiada to 68% całkowitego zakresu.

Dostaliśmy więc bardzo ciekawe narzędzie do oceny stabilności średniej, które można wykorzystać do analizy portfela, zarówno akcji, jak i funduszy. Zróbmy przykład dla obu.

----------------------------------------------------------------------------------------

Aspekty techniczne kodowania w R:

Standardowym katalogiem roboczym R jest folder Pobrane / Downloaded , więc tam możemy ściągać dane np. ze stooq.pl. Zaletą portalu jest możliwość ściągnięcia miesięcznych, kwartalnych i rocznych danych, ale wadą jest to, że można nie zauważyć, że ostatni element nie należy do grupy o oczekiwanej częstości, tu kwartalnej, ale jest z ostatniego dnia. Dlatego trzeba pamiętać, że ostatni element usuwamy, jeżeli jego data wyprzedza datę bieżącą. Zrobimy to też za pomocą kodu.

Po ściągnięciu pliku csv, od razu tworzymy nową zmienną o nazwie plik, którą definiujemy jako tabelę wczytaną za pomocą komendy read.csv. Istotną opcją jest wybór separatora, bo czasami będzie to średnik, czasami przecinek. Pliki stooq mają zawsze więcej niż 1 kolumnę, bo 1 to zawsze data. Stąd problem separatora rozwiążemy za pomocą funkcji if, która przypisze przecinek, jeśli liczba kolumn zmiennej plik nadal będzie równa 1. 

Powszechnym problemem w kodowaniu jest format daty. Jedną z najważniejszych rzeczy jest przyswojenie sobie, że to co wygląda tak samo, takie być nie musi. Data może być tekstem albo liczbą. Przyzwyczailiśmy się, że datę traktujemy zawsze jak liczbę nie do końca zdając sobie z tego sprawy. Dlatego zawsze musimy zamienić datę-tekst na datę-liczbę. W naszym przypadku jest to proste, bo wystarczy użyć funkcji as.Date(). 

Pierwsza zmienna to daty, druga - cena. Obie są danymi zewnętrznymi. Stopa to trzecia zmienna- stopa zwrotu. Zmienną tę możemy utworzyć na dwa sposoby. Pierwszy to klasyczna pętla, jednak jest ona mniej wydajna (przy dużej liczbie danych wolniejsza) niż druga metoda zwana wektoryzacją. Ta druga metoda jest także stosowana w Excelu poprzez formuły tablicowe. 

----------------------------------------------------------------------------------------

CD Projekt

Dla akcji przykładem niech będzie CDR od 2017 r. - miesięcznie (63 obserwacji). Cena i stopa zwrotu kształtowały się następująco:


Wykonujemy kod:

#jeżeli to wymagane, instalacja pakietu (tu strucchange) i włączenie go

if (require(strucchange)==FALSE) {

  install.packages(strucchange)

  library(strucchange)

}

#czytamy plik csv

plik = read.csv('cdr_m.csv', sep=";")

if (ncol(plik)==1) {

  plik = read.csv('cdr_m.csv', sep=",")

}


#jeżeli ostatnia data przekracza wczorajszą datę, to usuwamy ostatnią obserwację

daty = plik[,1]

daty = as.Date(daty)

if (daty[length(daty)]>Sys.Date()) {

  plik = plik[-nrow(plik),]

  daty = plik[,1]

  daty = as.Date(daty)

}

cena = plik[,2]


#1 sposób obliczenia stopy zwrotu - klasyczna pętla, niewydajny

for (t in 1:length(cena)) {

  if (t>1) {

    stopa[t-1]=cena[t]/cena[t-1] - 1

  }

}

#2 sposób - wektoryzacja

stopa = diff(cena)/cena[-length(cena)]


#dalej już qlr

qlr = Fstats(stopa ~ 1)

sctest(qlr, type="supF")

breakpoints(qlr)

#tworzymy wykresy

par(mfrow=c(2,1), mar=c(2,5,2,2))

plot(qlr, alpha=0.1)

plot(x=daty, y=cena, type="l")


Dostajemy statystyki:



 wykres:


Jedna uwaga: ponieważ mamy tu tylko 63 obserwacje, wybrałem istotność 10%. 

Wygląda na to, że średnia stopa zwrotu CDR zmieniła się od połowy 2020 r. Koresponduje to z widocznym załamaniem trendu rosnącego. Uzyskano p-value = 0,053, czyli hipoteza mówiąca, że nastąpiła zmiana średniej, jest wiarygodna.


Allianz FIO Akcji Małych i Średnich Spółek

Kolejnym przykładem miał być fundusz, więc wybrałem Allianz Akcji MiŚ spółek. Dane także pobrałem ze stooq.pl. Symbol na portalu to 1394_N. Aby zachować porównywalność z poprzednim testem, tak samo przyjąłem początek 2017 i 63 danych miesięcznych. 



Kod:

#jeżeli to wymagane, instalacja pakietu (tu strucchange) i włączenie go

if (require(strucchange)==FALSE) {

  install.packages(strucchange)

  library(strucchange)

}

#czytamy plik csv

plik = read.csv('1394_n_m.csv', sep=";")

if (ncol(plik)==1) {

  plik = read.csv('1394_n_m.csv', sep=",")

}


#jeżeli ostatnia data przekracza wczorajszą datę, to usuwamy ostatnią obserwację

daty = plik[,1]

daty = as.Date(daty)

if (daty[length(daty)]>Sys.Date()) {

  plik = plik[-nrow(plik),]

  daty = plik[,1]

  daty = as.Date(daty)

}


cena = plik[,2]

#stopa zwrotu (wektoryzacja)

stopa = diff(cena)/cena[-length(cena)]


#dalej już qlr

qlr = Fstats(stopa ~ 1)

sctest(qlr, type="supF")

breakpoints(qlr)

#tworzymy wykresy

par(mfrow=c(2,1), mar=c(2,5,2,2))

plot(qlr, alpha=0.1)

plot(x=daty, y=cena, type="l")


Wyniki:


I wykresy:


W pierwszej połowie 2020 r. notowania funduszu jakby zmieniły kierunek i wielu intuicyjnie uznałoby, że to zmiana trendu ze spadkowego na zwyżkujący. Test QLR rzeczywiście pokazał, że coś się zadziało na stopach zwrotu w tym okresie, bo statystyka F osiągnęła wysoki szczyt. Niemniej obiektywnie oceniając, nie ma powodu, by wierzyć, że to realna zmiana trendu: p-value wynosi 0,17, a więc sporo powyżej 0,1. Uznajemy, że średnia stopa zwrotu funduszu nie zmieniła się.

Teoretycznie są dwie konsekwencje testów na stabilność średniej stopy zwrotu. Po pierwsze, jeżeli otrzymamy przesłankę, że nastąpiła zmiana tej średniej, to dostajemy argument, by inwestować lub nie inwestować w dane aktywo. Po drugie, jak dla mnie ważniejsze i bardziej wiarygodne, otrzymujemy informację, czy przy budowie portfela można porównywać średnie stopy zwrotu z różnych aktywów. Np. wskaźnik Sharpe'a może przekonywać, że dane akcje są lepsze, nie biorąc pod uwagę, że mogła nastąpić zmiana struktury i od jakiegoś czasu są tak naprawdę gorsze.

To co tu pokazałem, to oczywiście tylko niewielki wycinek problemu stabilności parametrów stóp zwrotu. Nie poruszyłem sprawy wpływu potencjalnej zmiany wariancji na skuteczność testu Chowa i QLR. Dalej, co jeśli występuje choćby lekka autokorelacja stóp zwrotu lub ich warunkowej wariancji? W końcu, jak na wyniki wpłynie fakt, że stopy zwrotu na giełdzie nie mają rozkładu normalnego? Przecież od początku zakładaliśmy tu klasyczną regresję liniową. Na te wszystkie wątpliwości należy jeszcze odpowiedzieć.


Literatura:

[1] Dobija, M., Dobija, D.,  Premia za ryzyko jako stała ekonomiczna, Ekonomika Organizacja Przedsiębiorstwa, 6/2006.

[2] Rasch, D., Kubinger, K.D., Moder, K.,  The two-sample t-test: pre-testing its assumptions does not pay off, Statistical Papers volume 52, p. 219–231 (2011).

[3] Chow, G., Tests of Equality Between Sets of Coefficients in Two Linear Regressions, Econometrica, Vol. 28, No. 3 (Jul., 1960), pp. 591-605.

[4] Quandt, R. E., Tests of the Hypothesis that a Linear Regression System Obeys Two Separate Regimes, Journal of the American Statistical Association, Vol. 55, No. 290 (Jun., 1960), pp. 324-330.

piątek, 11 marca 2022

Walka z fake-newsami? Może niech zaczną od siebie?

Od ok. 2 lat trwa na szeroką skalę walka z tzw. fake-newsami. Niestety wg mnie jest to ryzykowne, bo jej ofiarą mogą paść sami fact-checkerzy. Problem polega na asymetrii między fact-checkerem a dezinformującym medium: ten pierwszy musi z samej swojej natury wykazywać się najwyższą starannością i rzetelnością. Ten drugi rzecz jasna nie musi. Jednak staranność i rzetelność wymaga wysiłku i czasu na analizę, co ogranicza jego możliwości. Ponieważ te drugie nie dbają o prawdę, ale szybkość, to będą powielać znacznie więcej fake-newsów niż ci pierwsi będą w stanie je wyłapać. Może to prowadzić do sytuacji, że ci pierwsi tracąc czujność, chcąc coś obalić, wpadają we własne sidła - same podają fałszywe informacje.

I tak jest Dziennik Gazeta Prawna (DGP) - powszechnie szanowana i uważana za medium wiarygodne, z ogromną ilością porad prawnych i opinii. I właśnie trafiłem na krótki artykuł, który kompromituje dziennik. Mianowicie, chodzi o Czy NBP „drukuje puste pieniądze”? z 16 grudnia 2021.

Już pierwsze zdanie to fałsz:

NBP nie „drukuje pustych pieniędzy” jak twierdzą autorzy fake newsów publikowanych w mediach społecznościowych. 

Zgodnie z art. 227 ust. 1 Konstytucji centralnym bankiem państwa jest Narodowy Bank Polski, któremu przysługuje wyłączne prawo emisji pieniądza oraz ustalania i realizowania polityki pieniężnej, odpowiada on także za wartość polskiego pieniądza. Dalej, zgodnie z art. 33 ust. 1 ustawy z dnia 29 sierpnia 1997 r. o Narodowym Banku Polskim wprowadzanie do obiegu banknotów lub monet odbywa się na podstawie zarządzenia Prezesa Narodowego Banku Polskiego ogłoszonego w Monitorze Polskim, które ustala termin wprowadzenia do obiegu i wielkość emisji oraz wzór i wartość nominalną banknotów lub monet, a w przypadku monet także stop, próbę i masę.

Drukowanie pieniędzy czyli ich emisja, zależy od polityki pieniężnej, a więc czy będzie to pusty pieniądz. Już z Konstytucji wynika więc, że NBP nie tylko drukuje pieniądze, ale że drukuje puste pieniądze - jeśli chce zwiększyć inflację. Z ustawy o NBP wynika, że ustala on wielkość nowej podaży pieniądza.

W dalszej części artykułu autor stara się przekonać czytelnika, że to banki komercyjne "drukują" pieniądze:

We współczesnych gospodarkach rynkowych pieniądz kreowany jest przez banki komercyjne poprzez udzielanie kredytów. Banki, udzielając kredytu, tworzą nowy pieniądz, którego nie było przed udzieleniem tego kredytu.

Mamy rozdwojenie jaźni? O co tu chodzi? Autor po prostu nie rozumie w ogóle tematu, który porusza. Drukowanie i emisja pieniądza to jedno. Kreacja pieniądza to drugie. To są są dwie różne sprawy.

W uproszczeniu można powiedzieć, że są dwa rodzaje "drukowania pieniędzy":

(1) emisja pieniądza, która nie musi oznaczać materialnej gotówki w kasach, ale w formie cyfrowej na rachunkach bankowych;

(2) kreowanie pieniądza poprzez pożyczanie pieniędzy innym podmiotom, wykorzystując maszynerię rachunkowości w postaci aktywów i pasywów: jeśli pożyczę od banku pieniądze na inwestycję, to bank ma należności, a ja mam zobowiązania. Jeżeli jednak ja te pieniądze przeznaczę na zakup obligacji firmy, to zyskuję teraz należności w firmie, a firma ma zobowiązania u mnie. Trick polega na tym, że choć matematycznie zobowiązania redukują się z należnościami, to globalnie księgowo następuje podwojenie aktywów - są to należności banku (początkowa pożyczka) i moje należności (moje obligacje). 

Jak widać pkt 1 to prawdziwa kreacja pieniądza, a druga to po prostu kreatywna księgowość. Łatwo udowodnić, że ta druga to nie jest żadne drukowanie nowych pieniędzy: gdyby nagle bank wymagał ode mnie spłaty całego długu, to musiałbym ja wymagać spłaty całego długu od firmy. Firma musiałaby znowu od kogoś innego. Cała gospodarka by się zawaliła! Jak widać ta kreacja pieniądza - kreatywna księgowość - w całości opiera się na zaufaniu podmiotów gosp. do siebie. Można powiedzieć, że cała współczesna gospodarka rynkowa na tym się opiera. To z tego m.in. powodu nastąpił taki kryzys w 2007 r., kiedy się okazało się, że to zaufanie było za duże - bo właśnie całe to pompowanie opierało się na kreatywnej księgowości. Niektórzy zwalają winę kryzysu na wolny rynek, wskazując na jego niedoskonałości w postaci przesadnego zaufania. No nie - gdyby nie przepisy prawne, zrzucające całą odpowiedzialność na banki lub państwo, to nie byłoby tego zaufania. 

Wróćmy jeszcze na moment do tego artykułu DGP. Autor - niepodpisany zresztą - stwierdza:

Bank centralny nie zwiększa podaży pieniądza, kupując obligacje. Te zakupy są dokonywane głównie od banków komercyjnych, które – w zamian za sprzedane papiery wartościowe – otrzymują płatność na swoje rachunki w NBP.

Podkreśliłem, że otrzymują płatność. A skąd niby NBP ma mieć na nią pieniądze? Z kosmosu? Trzyma w sejfie prezesa? Widzimy, że autor pisze o rzeczach, o których nie ma pojęcia.

Oczywiście jest jeszcze możliwość, że to tekst kogoś pracującego w NBP, który celowo wprowadza czytelników w błąd. Biorąc jednak pod uwagę niekompetencję osób pracujących w tej instytucji od kilku lat, nie ma to znaczenia. 

P. S. Dla zainteresowanych: dokładniejsze wyjaśnienie związku między gospodarką a pieniądzem przedstawiłem tutaj.

środa, 9 marca 2022

GARCH zamiast wstęgi Bollingera

A więc prognoza ropy za pomocą AT nie sprawdziła się. Wygrała ekonomia - blokada podaży rosyjskiej ropy wywołała eksplozję cenową ropy na całym świecie. Można mówić o odwróconym czarnym łabędziu, którego też brałem pod uwagę dwa tygodnie temu. Gdy Rosja rozpoczęła inwazję na Ukrainę, cena oscylowała wokół 100$, teraz jest to 125, tygodniowo wstęga Bollingera mocno przekroczona, RSI(14) także



W krótkim okresie na statystyce nie można nigdy polegać, ale w długim już tak. Dlatego nie ma wątpliwości, że nastąpi powrót. Zazwyczaj pada teraz pytanie: kiedy? Ale to złe pytanie, bo wiadomo, że to nastąpi prędzej niż później. Ważniejsze, jak mocny będzie powrót? Bo zamiast oczekiwanego powrotu do średniej, możemy dostać prawie poziomy kierunek w kolejnych tygodniach. Gdyby tak było, to znaczyłoby, że wariancja stóp zwrotu spadła niemal do zera.

Zamiast Bollingera, którego zresztą nie jestem zwolennikiem, znacznie lepiej używać modelu klasy ARCH. Oprócz nieporównywalnej mocy statystycznej, pozwala on także prognozować odchylenia w kolejnym okresie.

Najprostszym sposobem, nie wymagającym żadnej wiedzy programistycznej, jest używanie Gretla. Program ten, jak na darmowy, całkiem nieźle się rozwija, obecna wersja pochodzi z lutego 2022. Przy instalacji możemy zaznaczyć język polski, choć musimy się nastawić przeskakiwanie z polskiego na angielski, bo program tutaj ma pewne braki.

Wstępne ustawienia: Tygodniowe notowania cen (na zamknięcia) ropy pochodzą z https://stooq.pl/q/d/?s=cl.f . Dane od 07.01.2018 do 6.03.2022. W gretlu otwieramy plik z danymi, np. .csv. Problem zazwyczaj dotyczy ustawienia dat, które trzeba ręcznie ustawić, bo program często nie potrafi czytać prawidłowo dat. Jeśli pyta o typ danych, wybieramy szeregi czasowe. Kiedy dane są gotowe, zaznaczamy zmienną - cenę ropy. Wybieramy Dodawanie zmiennych -> procentowe zmiany dla wybranych zmiennych -> wpisujemy nazwę dla stopy zwrotu, np. 'ropa_zwrot'. 

Model GARCH: Wybieramy Model -> Modele jednowymiarowych szeregów czasowych -> GARCH variants. Upewniamy się, że zmienna zależna to ropa_zwrot. Resztę ustawień na razie zostawiamy. Dajemy OK. Dostałem model


Wszystkie współczynniki istotne stat., czyli jesteśmy na dobrej drodze. Jednak to początek. W otrzymanym oknie klikamy na ikonę wykresu, wybieramy Density:


Jedna uwaga: dlaczego podpisano residuals (reszty), a nie returns (stopy zwrotu)? Zauważmy, że rozkład teoretyczny i empiryczny mają średnią zero. Różnica między resztami / błędami a stopami zwrotu jest taka, że te pierwsze mają średnią zawsze równą zero, a te drugie niekoniecznie. Ich wariancje są już sobie równe (dowód - ostatni wzór tutaj). Zazwyczaj tam gdzie są modele klasy ARCH, określenie residuals / errors, czytamy to jako zmienna (tu stopa zwrotu) pomniejszona o swoją średnią. Trzeba jednak dodać, że w tym modelu pojawiają się też standaryzowane reszty - wtedy dodatkowo taka reszta dzielona jest przez odchylenie standardowe, aby sprowadzić do porównywalności ze standardowym rozkładem normalnym. To jest właśnie ten przypadek (opis brzmi std residuals vs std normal). 

Rozkład empiryczny jest leptokurtyczny, czyli stopy zwrotu nie mają rozkładu normalnego. Dla pewności można zrobić test normalności. Zmienna -> Testy normalności:

................................................................

Test na normalność rozkładu ropa_zwrot:

 Test Doornika-Hansena = 121,681, z wartością p 3,77906e-027

 Test Shapiro-Wilka = 0,901681, z wartością p 9,5057e-011

 Test Lillieforsa = 0,0966947, z wartością p ~= 0

 Test Jarque'a-Bera = 277,187, z wartością p 6,45201e-061

................................................................

Wszędzie p < 0,01 , co daje pewność, że to nie jest rozkład Gaussa.

Trzeba zmienić w opcjach GARCH variants -> Rozkład -> zmieniamy na t (czyli t-Studenta).  

 


Parametry są istotne stat - efekt ARCH i GARCH ewidentnie występuje.

Sprawdzamy znów Density:


Wygląda to dużo lepiej - rozkład t pozwala imitować efekty leptokurtozy.

Ok, mamy model, to możemy teraz zobaczyć graficznie, jak zmienia się warunkowe odchylenie standardowe w porównaniu z resztami. Klikamy ikonę wykresu -> Time series:


To co tu dostaliśmy, to nie są wartości otoczone przedziałem ufności - ten zresztą ma zakres ok. 2 odchyleń standardowych. A tutaj mamy jedno odchylenie - warunkowe. Interesujące jest, że niemal zawsze dane mieszczą się w tym zakresie. Z 2-3 razy było duże wychylenie poza ten obszar (rok 2020), ale tak wielkiego jak teraz jeszcze nie było.

Powiedzmy, że chcemy porównać dodatkowo warunkowe odchylenie z niewarunkowym - na jednym wykresie. Tego już tak łatwo nie dostaniemy. Wg opisu wykresu mamy tu reszty - już niestandaryzowane - otoczone niestandaryzowanymi odchyleniami warunkowymi. Klikamy na oknie modelu "Zapisz bundle jako" -> wybieramy uhat (series), zapisujemy zmienną, a następnie to samo dla h (series). W głównym oknie gretl dostaliśmy dwie nowe zmienne w postaci niestandaryzowanych reszt (uhat) oraz warunkowej wariancji (h). Teraz klikamy Dodawanie zmiennych -> Definiowanie nowej zmiennej. Wpisujemy csd_plus = h^0.5. Następnie Dodawanie zmiennych -> Definiowanie nowej zmiennej -> wpisujemy csd_minus = -h^0.5. Otrzymaliśmy warunkowe odchylenia std na plus i minus. I w końcu Dodawanie zmiennych -> Definiowanie nowej zmiennej -> wpisujemy: 

series usd_plus = sd(uhat). 

Analogicznie Dodawanie zmiennych -> Definiowanie nowej zmiennej:

series usd_minus = -sd(uhat). 

Uzyskaliśmy niewarunkowe odchylenia std (na plus i minus).

Wybieramy Widok -> Wykres szeregów czasowych. Zaznaczamy 5 zmiennych: uhat, csd_plus, csd_minus, usd_plus i usd_minus. Dostaniemy wykres:


Co warto zauważyć, niewarunkowe odchylenie std jest stosunkowo wysoko umiejscowione - jest to efekt roku 2020, który zaburzył ogólne statystyki. Jest to dobry przykład dowodzący, że błędnym podejściem jest klasyczne opieranie się na zwykłym odchyleniu standardowym. 

Niemniej w ostatnim tygodniu tempo cen przekroczyło znacznie powyżej 3 odchyleń std.  Zdarzenie tego rodzaju w ciągu 2 lat jest mało prawdopodobne. To znaczy, że musi teraz nastąpić powrót do średniej.

W sumie powstają 2 wnioski:
(1) nie powinniśmy się sugerować statycznym odchyleniem std, tylko warunkowym, dynamicznym;
(2) nie tylko ceny, ale też wariancje warunkowe są nieprzewidywalne. Można pobawić się w prognozy, ale lepiej posłużyć się GARCH do oceny powrotu ceny do średniej. Czyli otrzymujemy ulepszoną wersję wstęgi Bollingera. 

poniedziałek, 28 lutego 2022

Napad Rosji na Ukrainę nie powinien być szokiem dla inwestorów

Krótki komentarz do wpisu z 26 lutego bloggera Podtwórca:

Życie jest przewrotne. Do samego końca żyłem iluzją, że Rosja nie zacznie pełnoskalowej inwazji na Ukrainę. Że jakoś to będzie: uznają "niepodległość" Donbasu, obstawią armią i będą jak w Gruzji używać "republiki" do destabilizowania sąsiada. Jeszcze w środę wieczorem napisałem, że na giełdzie wchodzimy w fazę kapitulacji, więc teoretycznie powinienem spodziewać się czegoś grubszego. A jednak rano na wieść o agresji zamurowało mnie, jak większość świata


Rzeczywiście większość świata była zszokowana, jedna z polskich chyba dziennikarek stwierdziła, że nie wierzy w to, że ktoś przewidywał, że dojdzie do takiej agresji. Jest to zdumiewająca pewność siebie - dokładnie ta sama, która nie pozwalała na myśl, że Rosjanie zaatakują. Przecież dzień w dzień byliśmy bombardowani wręcz komunikatami z USA, że za chwilę może dojść do tej inwazji. Mało tego, jeszcze w grudniu 2021 prezydent Ukrainy ostrzegał, że Rosja zaatakuje w styczniu lub lutym jego kraj. Dwa dni przed atakiem USA wprost zapowiedziały, że w ciągu następnych kilku dni Rosja przejmie - wg swoich planów - Kijów  i wprowadzi siłą swoje rządy. Wszystko było przewidywane prze wiele tygodni! Po czymś takim RACJONALNY człowiek powinien chociaż przygotować się mentalnie, nastawić się, że może naprawdę dojść w końcu do zbrojnej napaści. Nie oznaczało to bycia pewnym - bo nikt oprócz Rosjan nie był. Ale twierdzenie, że nikt nie przewidywał, a nawet doznanie szoku jest po prostu zwykłym lekceważeniem rzeczywistości i ignorancją na niepokojące informacje.

Może właśnie dlatego, że nie byłem zszokowany, napisałem w dniu rozpoczęcia inwazji 2 wpisy czysto giełdowe: Ropa blisko szczytu? oraz ... a WIG blisko dołka? (niektórym mogły one nawet wydać się nie na miejscu w takim dniu, no trudno). 

Dlatego lepiej nie przyznawać się, że jest / było się zszokowanym czy nawet zaskoczonym. NIE MA TU ŻADNEGO ZASKOCZENIA. Wystarczy przeanalizować na sucho informacje pojawiające się przed wojną. 

Jedynie co dobre, to to, że dostaliśmy w sumie kolejny dowód, że ludzie nie są racjonalni, nie potrafią prawidłowo oceniać sytuacji - i ci bardziej racjonalni mogą to wykorzystywać, oczywiście także na rynkach. Powtarzam jednak, że nie chodzi o to by być nadmiernie pewnym siebie, bo nikt nie miał 100% pewności, że to się stanie. Chodzi tylko o branie tego pod uwagę, tak by uniknąć właśnie szoku, w którym obecnie pogrążony jest cały świat. I oczywiście nie można mylić szoku ze zmartwieniem, poczuciem grozy, niepokoju czy strachu, bo to zupełnie coś innego (to uczucie jest akurat racjonalne na pewnym poziomie, również je odczuwam).

Nie wiem czy tylko mnie, ale owa napaść, która nastąpiła pod koniec pandemii przypomina 1 wojnę św., która jednak miała miejsce przed grypą hiszpanką. To skojarzenie rzecz jasna budzi niepokój, bo zapowiada 3 wojnę św., ale z drugiej strony nie można przesadzać z analogiami. To co napawa optymizmem w tej kwestii to fakt, że świat - szczególnie Europa - się obudził. Właściwie polityka międzynarodowa zmienia się na naszych oczach o 180 stopni, jeśli chodzi o nastawienie do Rosji. Oprócz nakładanych na ten kraj sankcji przygotowania wojskowe na wypadek 3 wojny samo w sobie będą ochroną przed nią. 

Ogromny błąd Rosji polega na tym, że zaatakowała znienacka i bardzo agresywnie, w tym ludność cywilną. W 2014 r. działała o wiele bardziej sprytnie i niemal kawałkami salami anektowała kolejne terytoria. Metodą gotowanej żaby usypiała czujność Europy i przyzwyczajała do swoich zbrodni. Ten więc "szokujący" atak doprowadzi Rosję do katastrofy ekonomicznej. Nie wiadomo czy kraje sąsiedzkie, np. skonfliktowana z nią Czeczenia, nie będzie chciała tego wykorzystać i przejąć część ros. terytoriów. Nie wiadomo czy Kazachstan nie dokona jakichś rozliczeń z sąsiadem. Jeśli miałoby dojść do 3 wojny św., to myślę, że nie takiej jaką sobie wyobrażamy. Byłoby to zbyt oczywiste. 

Wątpię też, by Putin chciał ryzykować wojną nuklearną. Jest prawdopodobne, że będzie straszył nią, ale już teraz wie, że jakikolwiek realny taki ruch doprowadzi do całkowitej anihilacji jego kraju.


czwartek, 24 lutego 2022

... a WIG blisko dołka?

Kontynuacja poprzedniego wpisu. Skoro już zauważyliśmy odwrócenie korelacji ropy z wigiem, to przyjrzyjmy się teraz tym samym wskaźnikom, ale od strony właśnie WIG. Okazuje się, że dostajemy jakby lustrzane odbicie ceny ropy(!) Fibo 61,8% dziś osiągnięty, lekko nagięty (ropa też lekko nagięła), dzienny Bollinger wyprzedany, dzienny RSI wpadł pod wyprzedaż:


Tygodniowe tak samo:


Różnica jedynie leży w miesięcznych wskaźnikach - tutaj jesteśmy na środku:


Niepełne wyprzedanie miesięcznego RSI nie oznacza jednak, że nie może nastąpić odwrócenie trendu.* Przykładowo, sytuacja przypomina tę z roku 2011:

Jak pamiętamy, ropa nawet miesięcznie jest wykupiona. Czyli wydawałoby się, że nie jest to żadne lustrzane odbicie. Myślenie to się zmieni, gdy uświadomimy sobie, że przecież ogólna korelacja powinna pozostać dodatnia, a miesięczne częstości dotyczą średnio i długoterminowych zależności. Teraz wszystko się układa w całość: wkrótce nastąpi powrót dodatniej korelacji wig-ropa. Można zarysować następujący scenariusz: średnio lub długoterminowo WIG będzie dalej spadał - już razem z ropą (a także zagranicznymi indeksami), natomiast krótkoterminowo lub średnioterminowo odbije się. Być może będzie to trzecia fala:




* W ogóle istnieją pewne obiektywne przesłanki, dla których miesięczny RSI nie musi wcale spadać w te poziomy poniżej 30 i rosnąć powyżej 70. Przypomnijmy, że RSI wskazuje, jaką część kanału min-max zmian ceny (w uśrednieniu), stanowi średnia max zmiany ceny (nie mówimy o wartościach bezwzględnych). Czyli pokazuje jak w uśrednieniu oscyluje między min a max. Problem leży w ustaleniu długości okresu, w jakim uśredniać. Standardem jest 14 - i to ma sens dla zmian dziennych, nawet tygodniowych, bo jest spora szansa, że średnia obejmie ostatni "cykl". Jednak w ciągu 14 miesięcy sporo się zmienia. Powiedzmy, że przez 14 miesięcy  miesięcznie byłyby same wzrosty (hossa). Wtedy licznik będzie równy mianownikowi, bo min w mianowniku będzie zerowy - RSI równa się 1. Kiedy więc teraz następuje zmiana trendu i seria spadków, to nawet użycie średniej wykładniczej (która nadaje większą wagę niedawnej przeszłości) nie spowoduje, że RSI wpadnie do 30 - bo nadal duży wpływ ma seria nieprzerwanych wzrostów z 14 miesięcy. Stosowanie RSI ma sens, jeśli średnia obejmuje cały cykl - i w tym sensie dobrze połączyć ten wskaźnik z analizą spektralną. Kiedy ten warunek zostanie spełniony, wtedy stosowanie RSI ma racjonalne uzasadnienie w postaci twierdzenia Pukelsheima-Vysochanskij'a-Petuniego (dokładniej o tym można poczytać tutaj).

Ropa blisko szczytu?

Na pewno wielu zauważyło, że ostatnio giełda koreluje ujemnie z ceną ropy. Zobaczmy ostatni miesiąc:


Normalnie korelacja jest lekko dodatnia (ok. 30% na tygodniowych stopach zwrotach od 2018). To odwrócenie schematu jest oczywiście spowodowane "czynnikiem rosyjskim". Po agresji Rosji na Ukrainę, która dziś nabrała pełnoskalowego wymiaru (można mówić oficjalnie o wojnie, którą wywołał Putin) podaż ropy z Rosji będzie oczywiście mocno zredukowana, jeśli nie wstrzymana. Popyt się nie zmienia, więc będzie szukał innych, prawdopodobnie droższych źródeł - dlatego cena wystrzeliła. Jednocześnie wojna ma zawsze negatywne znaczenie dla gospodarek, stąd giełdy spadają. 

Jednakże z punktu widzena AT mocno wspartej przez teorię optymalizacji (zob. ten wpis) cena ropy właśnie osiągnęła max. Stosując Zasięg Fibonacciego 161,8%, otrzymamy poziom ok. 100:



W dodatku Bollinger (ustawiony standarderm) też wskazuje wykupienie - na każdej częstości: dziennej:


tygodniowej:


miesięcznej:


Dodatkowo RSI wchodzi w poziomy wykupienia - znowu dzienne, tygodniowe i miesięczne.

Można postawić tezę, że nastąpi wkrótce odwrócenie. Oczywiście wojna może okazać się "czarnym łabędziem" i cena przebije dalsze poziomy. 

W tym momencie ropa już przebiła poziom 100 i wygląda, że jest to już powyżej Fibo. 

Jeżeli nastąpi odwrócenie, to czy utrzyma się ujemna korelacja z WIG? Odwrócenie trendu ropy oznaczałoby, że nastąpiło szybkie zdyskontowanie wojny. Z ekonomicznego punktu widzenia może to polegać na tym, że pod wpływem dramatycznych wydarzeń jakie ostatnio mają miejsce na Ukrainie, kraje UE wraz z USA zaczną mocno współpracować ze sobą w celu zachowania bezpieczeństwa energetycznego i zapewnić dostarczenia paliw. W normalnych czasach zmiany odbywają się wolno, ale pandemia koronawirusa udowodniła, że procedury można znacznie przyspieszyć, jeśli sytuacja tego wymaga. Jeżeli więc Fibo się sprawdzi, to możemy oczekiwać tego typu informacji  na dniach.

środa, 9 lutego 2022

Nie nabierajmy się na nazwy funduszy

W czasach, gdy stopy procentowe znajdują się poniżej naturalnego poziomu (obecnie poniżej stopy inflacji) osoby oszczędzające powinny zapomnieć o lokatach bankowych i skierować uwagę na bardziej ryzykowne formy oszczędzania - są zmuszeni zostać inwestorami. Wiadomo, że ktoś kto chce w miarę regularnie oszczędzać, nie będzie wszystkiego wrzucał w akcje, więc wybierze obligacje, surowce albo fundusze. Najłatwiej zainwestować w te ostatnie, chociaż liczba różnych funduszy może przytłoczyć. Wiadomo, że ich analiza i ocena jest czasochłonna, stąd posługując się subiektywnymi heurystykami wielu będzie dokonywać wyboru przez pryzmat samej nazwy oferty.

Np. na stronie mbanku można na ten moment znaleźć listę aż 298 funduszy: https://www.mbank.pl/serwis-ekonomiczny/notowania-funduszy/#

Jeśli szukamy alternatywy dla lokat czy obligacji skarbowych, wybierzemy jakieś dłużne, najwyżej mieszane. I tak przeglądając listę dłużnych natrafiłem na Allianz Obligacji Inflacyjnych, który mnie zainteresował. Ale właśnie zaintrygowała mnie nazwa "obligacja inflacyjna". W opisie czytamy:

Celem inwestycyjnym Allianz Obligacji Inflacyjnych jest osiąganie przychodów z lokat netto tego Subfunduszu. Subfundusz inwestuje co najmniej 70% aktywów netto w instrumenty dłużne, których cena jest powiązana z kształtowaniem się wskaźnika inflacji. Instrumenty te są emitowane przede wszystkim przez Skarb Państwa lub są poręczane lub gwarantowane przez Skarb Państwa jak również są emitowane przez państwa członkowskie i państwa należące do OECD. Emitentami instrumentów dłużnych, których cena jest powiązana z kształtowaniem się wskaźnika inflacji, mogą być również inne podmioty, w tym przedsiębiorstwa. Akcje i podobne instrumenty mogą stanowić od 0 do 10% aktywów netto. Inne fundusze mogą stanowić od 0 do 30% aktywów netto.


Następnie popatrzyłem na wykres, który powinien wedle tego opisu korelować z inflacją, a zamiast tego widzę spore spadki od paru miesięcy:

 

Czyli jeżeli przewidywałem, że inflacja mocno skoczy i chciałem się zabezpieczyć przed nią kupując jednostki tego funduszy, mocno bym się rozczarował. W powyższym opisie dwukrotnie mówi się o powiązaniu handlowanych instrumentów z inflacją. Z logicznego punktu widzenia mają rację - związek istnieje, szkoda tylko że przeciwny.

Zrobiłem porównanie rocznych stóp zwrotu tego funduszu ze stopami inflacji na podst. GUS. Notowania na koniec każdego roku od 2016 do 2021 pobrałem na dwa sposoby: ze stooq.pl i mbanku. Wyniki się nieco różnią. Stopy zwrotu ze stooq.pl w por. z inflacją prezentuje poniższa tabela:


Tylko pierwszy rok fundusz przyniósł znakomite wyniki, kilka razy wyżej od inflacji. Potem jednak od 2018 osiągał gorsze wyniki - średnio o 3,1 pkt proc.

Stopy zwrotu z mbanku w por. z inflacją prezentuje poniższa tabela:


Wyniki niewiele się różnią, chociaż różnica zwiększyła się na niekorzyść funduszu od 2018 - średnio 3,2 pkt proc.

Zwróćmy uwagę na 10,2% inflacji w 2021 i 3,5-3,6% stopy zwrotu "obligacji inflacyjnych". O ile obliczenia stopy zwrotu są oczywiste, o tyle inflacji już mniej, dlatego załączam link z analizą i obliczeniami rocznej inflacji (na podstawie miesięcznych zmian):

link


W sytuacji, gdy mamy najwyższą od ponad 20 lat inflację, wygląda to wyjątkowo źle dla Allianza. Bo tak naprawdę nie chodzi o to, że ten fundusz jest źle zarządzany czy coś takiego, bo gdy porównamy sobie go z innymi funduszami dłużnymi, to sytuacja wygląda identycznie. Jest tylko jedna różnica: żaden inny fundusz (nie tylko dłużny, ale w ogóle) nie ma w swojej nazwie "inflacyjny".

Dlaczego fundusze dłużne tak spadają? Powody są co najmniej dwa: rosnące rzeczywiste stopy procentowe NBP oraz oczekiwania, że będą one dalej podnoszone (bo muszą). Rosnąca stopa to rosnąca rentowność obligacji, czyli ich stopa dyskontowa. Gdy stopa dyskontowa rośnie, cena spada - ale pod warunkiem, że przepływy pieniężne nie rosną. Jeśli cash flow rośnie tak samo jak stopa, to cena się nie zmieni. Można by więc rozumować, że cena obligacji zmiennokuponowych (skorelowanych z WIBOR) nie będzie spadać, a tylko te o stałym kuponie czy dyskontowe. Zapomina się przy tym, że ten lepszy cash w liczniku - choć istotnie kompensuje wzrost rentowności w mianowniku - bierze się stąd, że firma więcej zapłaci inwestorom, a to zawsze jakieś ryzyko utraty płynności.

W sumie po Nationale-Nederlanden, Allianz to kolejny fundusz, który traci w moich oczach.

piątek, 21 stycznia 2022

Wpis chwilowy - "eksperci" nagle zdziwieni skalą inflacji

Kolejne rekordy inflacji "szokują". Jak żenujące są słowa tzw. ekspertów, którzy twierdzą, że nie dało się przewidzieć skali wzrostu cen. Za co oni biorą pieniądze? To ja zrobiłem darmowe analizy, które przewidywały, że do tego dojdzie, którymi nikt jak widać się nie zainteresował. Już w 2020 r. wskazałem na ryzyko 20% inflacji, najpierw na skutek zablokowania podaży towarów: Czy powinniśmy przygotować się na inflację rzędu 20%?, potem wskazałem na niebezpieczeństwo zbyt niskiej stopy (Inflacja a luka PKB) i w końcu ostrzegałem przed tym scenariuszem, który już praktycznie ma miejsce, a który wówczas wydawał się absurdalny: Widmo 20-procentowej inflacji powraca. I co, i dziś okazuje się, że inflacja PPI skoczyła w grudniu do 14,2%.  Brak realnej odpowiedzialności za sytuację dowodzi, że należy albo ograniczyć rolę NBP w niektórych obszarach, albo wprowadzić sankcje personalne, bo nie może być tak, że prezesi i ich doradcy biorą grube pieniądze za bezmyślne naśladowanie innych krajów (bo do tego nie są potrzebne żadne kwalifikacje) albo za zaklinanie rzeczywistości i udawanie, że w ogóle coś się robi.

poniedziałek, 10 stycznia 2022

Zniesienia Fibonacciego mogą być optymalne

Na swojej stronie znany wielu trader T. Bulkowski napisał, że zniesienia Fibonacciego przestały działać. Dokładniej przekierowuje czytelnika tutaj, gdzie czytamy: "I found that the three Fibonacci retrace values of 38%, 50%, and 62% were no more likely to appear than any other number from 1% to 100%." Należy dodać, że jego statystyki dotyczą wyłącznie giełdy w USA. I oczywiście nie można się było  spodziewać, że Fibo będą działać zgodnie z jakimś schematem, np. dominanta skumuluje się wokół wartości 38% i/lub 62%. Wręcz przeciwnie, należało się właśnie spodziewać, że nie będzie to działać w ten sposób, bo byłoby to za proste. Jeżeli przed 2009 r. taka technika działała, a po 2009 przestała, to zgodnie z teorią efektywnego rynku inwestorzy zaczęli ją maksymalnie wykorzystywać.

Mimo to okazuje się, że zastosowanie złotego podziału nie jest metodą ad-hoc czy rodzajem voodoo, jak by niektórzy chcieli. Należy ją traktować jako sposób optymalizacji poziomu stopy zwrotu przy danym horyzoncie czasu lub optymalizacji czasu trzymania ryzykownych aktywów przy założonej stopie zwrotu. Kiedyś już napisałem krótki artykuł o znaczeniu złotego podziału w przyrodzie i na rynkach - zob. O fraktalnej naturze liczby Phi. Dlaczego liczba ta jest lepsza niż inne? , jednak kontekst ograniczał się wtedy do znaczenia fraktalności Phi. 

Weźmy okrąg o obwodzie równym 1. Na obwodzie tym zaznaczamy sekwencję liczb od 0 do 1, którą oznaczymy x = (x1, x2, ...). Chung i Graham [1] dowiedli, że odchylenie 

(1)




gdzie n oraz m są większe lub równe 1, oraz



posiada maksimum w punkcie 0,381966011..., tzn. 


Zauważmy, że:



Najpierw jest minimalizowany iloczyn n i odległości między dwoma punktami na okręgu. Im większe n, to iloczyn rośnie, ale z drugiej strony liczba podziałów na okręgu też rośnie, a więc owa odległość jednego punktu od drugiego musi maleć. Jeżeli n utożsamimy ze zmienną czasu, to wspomniany iloczyn interpretować możemy jako średnią zmianę ceny w jednostce czasu (np. 1 dzień) przemnożoną przez określoną liczbę dni. Taką wielkość najpierw minimalizujemy, aby działać w jak najkrótszym horyzoncie czasowym. Ale to ciągle funkcja, a nie konkretna liczba. Dopiero w tym czasie poszukiwane jest maksimum, które wynosi 0,382.

Z kolei Glover et al. [2] pokazali dokładnie to, czego szukamy - że użycie zniesienia Fibonacciego 62% jest optymalne dla ruchu Browna. Właściwie chodzi o część radialną trójwymiarowego ruchu Browna, czyli przypomina to trochę to wcześniejsze twierdzenie na okręgu, z zaprzęgniętym dodatkowo procesem stochastycznym. Poza tym poprzednie twierdzenie dawało liczbę 0,38, podczas gdy teraz mowa o 0,62. Powiedzmy, że mamy całkowity ruch, który liczymy jako 100%. Teraz następuje zniesienie 62% ruchu - zostaje 38%. To nasza lokalna stopa zwrotu. Dlaczego rozumiemy ją jako optimum? Kluczowym założeniem jest to, co się dalej dzieje z aktywem. W przypadku zniesienia mamy założenie, że cena po wystąpieniu bańki będzie spadać do zera. Chociaż można by spojrzeć na to z perspektywy cyklu życia firmy / produktu, to w praktyce spekulacyjnej zamiast pełnej wartości bierze się raczej lokalne "cykle", w których teoretyczne zero stanowią lokalne dołki lub górki (w zależności od kierunku zniesienia). W pracy można też znaleźć nawiązanie do rozszerzenia (zasięgu) Fibonacciego, 162%. Autorzy wskazują możliwość wykorzystania go do sprzedaży aktywów podczas bańki spekulacyjnej. W tym przypadku założenie jest odwrotne - cena będzie rosnąć do nieskończoności. Ponieważ to założenie jest naturalne dla wielu instrumentów, to Fibo można wykorzystać w tym przypadku na dwa sposoby: w odniesieniu do lokalnych cykli (wtedy punkt zero jest bardzo umowny - można ustawić na dowolnie lokalnym dołku lub górce, niekoniecznie ostatnich) oraz do samej ceny (wtedy jednak cel ustalamy aż na 162% bieżącej ceny - szczyt bańki). Na pewno jest to temat jeszcze do przestudiowania, ale trzeba przyznać, że uzyskanie takiego rozwiązania jest niesamowite.


Literatura:

[1] Chung, F., Graham, R. On the discrepancy of circular sequences of reals, 2016;

[2] Glover, K., Hulley, H., Peskir, G.  Three-dimensional Brownian motion and the golden Ratio Rule, 2013.

środa, 24 listopada 2021

Zniesienie 61,8% hossy na WIGu dotychczas się sprawdzało

Chociaż Fibonacciego należy traktować raczej statystycznie, to niektóre układy robią wrażenie. Kiedyś robiłem już mały test korekt WIG20 i faktycznie średnio wyszło ok. 40% , czyli odpowiadało poziomowi 38,2%. Tym razem sprawdziłem jak to wygląda na długich cyklach. Okazuje się, że Fibo jest całkiem dobrą metodą, choć 38% trzeba zastąpić 62%. Interpretowałbym to w taki sposób, że 38% graczy mierzonych wielkością kapitału nie wierzy w hossę i ocenia negatywnie gospodarczą przyszłość, ewentualnie - z punktu widzenia teorii gier - uważa, że inni nie wierzą. 62% oznaczałoby więc, że podczas bessy taka część kapitału graczy nie chce ryzykować czy ma więcej obaw niż nadziei. Taka interpretacja pozwoliłaby też odróżnić korektę od trendu spadkowego. Oczywiście jest też płytka interpretacja samospełniającej się przepowiedni - duży kapitał wchodzi, bo tak pokazuje poziom Fibo, a reszta to nieuświadomiony tłum, który w strachu sprzedaje. 

Przetestuję krótko WIG, DAX i S&P 500. I tak w Polsce bessa od sierpnia 2007 zniosła niemal dokładnie 62% hossy 2002-2007. Poniżej wykres na danych miesięcznych WIG:



DAX zrobił jeszcze dokładniejsze zniesienie FIbonacciego w tym samym okresie:


Tu uwaga techniczna: powyższe dwie analizy zrobiłem w https://www.biznesradar.pl/ . Okazuje się, że serwis inaczej oblicza zniesienia Fibo w zależności od skali. Automatycznie ustawia skalę logarytmiczną i powyższe jest na podstawie tej skali. Ale po zmianie na liniową poziomy zniesień ustawiają się na innych poziomach i wtedy DAX tak idealnie nie wygląda:


 

Wg mnie to błąd serwisu, bo powinien pokazywać zniesienia w tych samych punktach. Na liniowej skali obliczenia wydają się bardziej poprawne, bo obliczany jest procent od różnicy cenowej, a nie od różnicy logarytmów cen. Aby się upewnić czy mam rację, powtórzyłem to samo na https://stooq.pl/. I rzeczywiście, tam zniesienia ustawiają się na w tych samych punktach niezależnie od skali.

Dalej sprawdzałem w stooq.pl. Jak wygląda sytuacja na S&P 500? Gdybyśmy zrobili analogię do poprzedników, tzn. sprawdzili okres 2002-2009, to nie dostalibyśmy Fibonacciego -  spadki od 2007 zniosły całą hossę:


Cofnijmy się do roku 1995. Mimo że wcześniej trend wzrostowy się nie skończył, to w skali log był liniowy, a od 1995 nastąpiło jego przyspieszenie, a właściwie zwiększenie nachylenia trendu. Tym samym ten moment można uznać za początek nowego cyklu tego indeksu, który trwał do 2002:


Widzimy, że wówczas Fibo okazał się dobrym "amortyzatorem". Spójrzmy na WIG, też w okresie 1995-2002:


Spadki zakończyły się znów w punkcie 62%.  

W przypadku DAX-u sytuacja jest bardziej złożona. Dla tego samego okresu złoty podział nie został spełniony:

 

Z drugiej strony, trudno mówić tu o początku cyklu. DAX bez przerwy rósł wcześniej mniej więcej w tym samym tempie od 1983:




Mimo wszystko metody Fibo 62 nie można traktować jako pewnik, co udowadnia np. kryzys 1929-1933 - S&P 500:  


Zróbmy teraz analizę od 2009 do dziś. 

WIG:


Można powiedzieć, że w 2020 Fibo 62 zamortyzował u nas spadki. 

DAX:


W tym wypadku giełda nie spadła nawet w okolice 60%, prędzej 40%, co wskazywałoby raczej na korektę, a nie zakończenie długoterminowego trendu.

S&P 500:


To samo, co DAX.


Rynki są tak złożone, że taka prosta analiza pojedynczego indeksu nie ma większego sensu, chociaż na jakimś lokalnym poziomie można przewidywać. Kolejny rok to raczej zakończenie lub rozpoczęcie bessy, ale wygląda na to, że tąpnięcie WIGu w 2020 można interpretować w ramach zakończenia lokalnego i rozpoczęcia nowego cyklu, który obecnie trwa 1,5 roku.

czwartek, 11 listopada 2021

Straszenie bieda-emeryturami i trzy sposoby na nie

Zanim pokażę receptę na tzw. bieda-emerytury, przypomnę, że zgodnie z ustawą o rentach i emeryturach zarówno składki na emeryturę jak i same emerytury są waloryzowane o inflację. Składki są dodatkowo waloryzowane o 100% wzrostu realnego PKB, a same emerytury co najmniej o 20% tego wzrostu. Komuś może się nie podobać to 20%, ale trzeba pamiętać, że emeryt ponosi mniejsze koszty niż pracujący (choćby na dojazdy do pracy i w ogóle ma czas wolny). Jeżeli więc dziś emeryci nie umierają z głodu, to twierdzenie, że w przyszłości będą umierać albo przymierać głodem jest po prostu fałszem. Sama waloryzacja o inflację sprawia, że koszty życia nie mogą rosnąć, musi być tak samo jak wcześniej. Biorąc pod uwagę dodatkowy bodziec gospodarczy może być tylko lepiej. 

W takim razie pytanie czy takie oto teksty, jak Nationale-Nederlanden można uznać za poważne: Stopa zastąpienia - dzięki niej zobaczysz swoją biedę Emerytura 

Jeśli uważasz, że obecni emeryci otrzymują niskie świadczenia, to jesteś w błędzie. Ich emerytury są bardzo przyzwoite w porównaniu do tego, ile Ty dostaniesz. Przerażający scenariusz? To będzie Twoja rzeczywistość – otrzymasz jedynie 25-40 proc. swojej ostatniej pensji.

Zaczęło się od trzęsienia ziemi, to napięcie musi rosnąć:

Dokonajmy małego eksperymentu. Zobaczmy, jak zmieniać się będzie wysokość emerytur w przyszłości. Za punkt wyjścia przyjmiemy obecną średnią płacę. Ta będzie oczywiście rosła, ale też będą drożeć towary. Miejmy nadzieję, że zarobki będą rosły szybciej niż inflacja, jednak teraz na potrzeby eksperymentu załóżmy, że jej realna wartość pozostanie bez zmian. Nominalnie będzie dużo wyższa, ale kupimy za nią tyle samo dóbr, co dziś.

Jak przeżyć za 1,5 tys. zł?

Do pokazania, jak będą zmieniać się emerytury, używamy prognozy stopy zastąpienia przygotowanej przez ZUS. Stopa zastąpienia to relacja przeciętnej emerytury do przeciętnej pensji. Obecnie wynosi ona 56,4 proc. Zatem osoba zarabiająca dziś średnią krajową w wysokości 5,2 tys. zł, otrzyma jutro emeryturę w wysokości 2,9 tys. zł.
Jeszcze nie najgorzej, prawda? Załóżmy jednak, że na emeryturę przechodzisz za 10 lat. Wtedy stopa zastąpienia wyniesie 47,1 proc., zatem emerytura będzie w wysokości 2 450 zł.
Emeryci, którzy skończą pracę za 20 lat, będą dostawać 1 950 zł. To już trochę gorzej wygląda. Mniej niż pensja minimalna. Dałbyś radę za tyle przeżyć?

To nie koniec. Za 30 lat emeryci otrzymywać będą 28,7 proc. swoich dotychczasowych zarobków. Gdyby taka stopa zastąpienia była dziś, emerytura byłaby w wysokości… 1,5 tys. zł.


Gdyby tylko ubezpieczyciele pisali takie rzeczy, to uznałbym to za zwykłą reklamę swoich produktów, manipulującą faktami. Jednak w podobnym tonie piszą wszędzie w mediach, więc trzeba na to spojrzeć nieco poważniej. Wydaje mi się, że za ten stan rzeczy w dużym stopniu odpowiadają instytucje. Np. wg Komisji Europejskiej zagrożenie ubóstwem ma miejsce, gdy dochód wynosi poniżej 60% mediany dochodu w danym państwie (Komisja Europejska, Adekwatność i Stabilność Świadczeń Emerytalnych). 

Wydawało mi się, że zagrożenie ubóstwem to jest wtedy, gdy ledwo stać na utrzymanie, bo to chyba powinien być punkt odniesienia. A tu się okazuje, że jak nie stać mnie na 3 telewizory, tylko na 2, a większość stać na 3, to jestem biedakiem. Jeśli już, to powinno się odróżnić ubóstwo względne od absolutnego. Chociaż i tutaj słowo "ubóstwo" mi nie pasuje.

To wróćmy do analizy biedaemerytur. Wysokość emerytury uzyskujemy w postaci sumy zwaloryzowanych (o nominalny wzrost przeciętnych wynagrodzeń) składek podzielonych przez tzw. dalsze trwanie życia (ponad 200 miesięcy). Powiedzmy, że nie ma wzrostu PKB. Np. 

6000 zł [pensja]*19,52% [składka] *12 [m-cy]*30 [lat] / 200 [m-cy] = 2108. 

Jeśli żyjemy dłużej o rok (212 mcy):

6000 *19,52% *12 * 30 / 212 = 1989 zł. 

Jeżeli o 2 lata - 1882 zł. O 5 lat - 1622. 

Pozornie wydaje się, że ubezpieczyciel ma rację i niepotrzebnie się go czepiam. Mało kto zauważa jednak, że waloryzacja jest powiązana z dalszym trwaniem życia. Wyższy PKB podnosi długość życia - nie można tych dwu aspektów traktować jako zmienne niezależne. Zobaczmy do czego to prowadzi:

Więcej zarabiamy -> jakość naszego życia jest wyższa -> żyjemy dłużej

Ale z drugiej strony:

Więcej zarabiamy -> nasze składki są wyższe oraz waloryzowane -> nasza emerytura jest wyższa

Załóżmy, że długość życia rośnie proporcjonalnie do składek. Jeżeli większą składkę podzielimy przez większy okres dalszego życia, to emerytura może pozostać taka sama! Wniosek? W przykładzie ubezpieczyciela błędne jest założenie, że PKB nie rośnie i w ten sposób zaniża on emeryturę z ZUSu. Aby zrównoważyć dłuższe trwanie życia ze wzrostem PKB, to w moim przykładzie, gdy żyjemy dłużej o rok, 6000 (albo składkę) muszę pomnożyć przez 2108 / 1989 = 1,06:  6000 zł * 1,06 *19,52% *12 *30 / 212 = 2108. Emerytura się nie zmieniła.

W rzeczywistości te 6% to zdecydowanie za dużo. Poniżej na podstawie GUSu zrobiłem wykres dalszego trwania życia w latach - średnioważone dla kobiet i mężczyzn (waga dla mężczyzn: 0,42 - wg GUS w 2020 mężczyźni od 60 r. życia stanowili 42% osób od 60 r. ż.) wraz z linią trendu, od 1995 do 2020:


 Źródło: obliczenia własne na podst. GUS. Waga dla mężczyzn: 0,42.


Załamanie trendu w 2020 psuje cały obraz, ale można przypuszczać, że nastąpi powrót. Średnio wychodzi, że długość życia rośnie co roku o ok. 0,14 roku, choć gdyby usunąć ostatni rok, dostalibyśmy 0,156. Teraz wynik jest sensowny: PKB realnie rośnie o 3-5% i przekłada się to na 0,14-0,16 dodatkowego roku dalszego życia - czyli co roku żyjemy dłużej o ok. 2 miesiące . A to znaczy, że w moim przykładzie za wzrost 6% trzeba wstawić 4% (średnia z 3 i 5% wzrostu PKB), a za 212 należy wstawić 202: 

6000 * 1,04 * 19,52% *12 *30 / 202 = 2171. Nasza emerytura wzrosła o 3% (tzn. 2171 / 2108 = 1,03).

Stopa zastąpienia spada

Stopa zastąpienia to przeciętna emerytura podzielona przez średnią płacę w gospodarce. Skoro wiemy, że PKB (wynagrodzenia) mają rosnąć o ok. 4%, a emerytura o 3%, to jasne się staje, dlaczego stopa zastąpienia spada! Dla naszego przykładu

Rok 1 emerytury: stopa zastąpienia = 2108 / 6000 = 35,13%

Rok 2 emerytury: stopa zastąpienia = 2108*1,03 / (6000*1,04) =  2171 / 6240 =  35% 

Rok 3 emerytury: stopa zastąpienia = 2108*1,03^2 / (6000*1,04)^2 =  34,46% 

...

Rok 10: 2751 / 8539,9 = 32%

Rok 20: 3697 / 12641 = 29%

Rok 30: 4968 / 18712 = 26,5%


Widzimy więc, że stopa zastąpienia spada, bo (realne) wynagrodzenia rosną o ok. 1 pkt proc. więcej niż emerytury. Ktoś mógłby zarzucić temu modelowi, że zakłada ciągle wzrost długości trwania dalszego życia, co wcale nie jest takie oczywiste i ostatni rok to udowodnił. Oczywiście to prawda, ale pamiętajmy, że zakładamy tu co roku 2 miesiące dodatkowego życia, co w perspektywie 10 lat daje 1,67 wzrostu trwania życia, 20 lat - ponad 3 lat i 30 lat - 5 lat. Dziś średni wiek życia to 77-78, więc dodanie 5 lat jest jak najbardziej realne biorąc pod uwagę, że we Francji, Szwecji, Hiszpanii i wielu innych krajach jest to 83 (por. tutaj). 

Rozumiemy więc już, że cały wrzask o bieda-emerytury to pic na wodę fotomontaż, który ma tylko na celu naganiać na dodatkowe ubezpieczenia i ofe. Oczywiście media na tym dodatkowo żerują, bo to dla nich chwytliwy temat.

W każdym razie, już wiemy, którego ubezpieczyciela i OFE unikać.


Jak jest w innych krajach?

Szczegółową analizę stopy zastąpienia krajów UE znalazłem w Pension adequacy report 2021. W większości przypadków prognozuje się spadek stopy zastąpienia, KE porównuje 2019 z 2059. Dla kobiet:


Dla mężczyzn:

Źródło: KE, 2021 pension adequacy report, s. 69


Źródło: ibidem, s. 150.

 

Rzeczywiście Polska na tle pozostałych krajów wygląda kiepsko, skoro w 2059 prognozuje się najniższy poziom stopy zastąpienia ze wszystkich krajów UE. Jedynie Estonia i Łotwa mają mieć zbliżony do naszego. Z czego to wynika? Z pewnością ma to związek z niskim wiekiem emerytalnym kobiet. 

Zaniżony wiek emerytalny kobiet

Z niezrozumiałego powodu kobiety mają prawo do emerytury o 5 lat wcześniej od mężczyzn mimo że przeciętnie o 5 lat dłużej żyją. W obecnych czasach jest to całkowicie nieracjonalne. Z tego powodu najwyraźniej ta nieracjonalność przebija się do statystyki. Tę intuicję wspiera porównanie wieku emerytalnego kobiet w krajach Unii. W tym samym raporcie KE znajdziemy podział tego wieku w 2019 oraz prognozowanym w 2059 (z tego samego raportu):


Źródło: ibidem, s. 72.

I co się okazuje: jesteśmy jedynym z tej listy krajem, dla którego szacuje się, że w 2059 wiek emerytalny kobiet pozostanie na poziomie 60 lat. Wszyscy dobrze wiemy, że tak nie będzie. Wszystkie pozostałe kraje mają podwyższony wiek do 65 lub więcej i u nas też tak się stanie. 

Dlaczego KE tylko u nas nie podwyższyła tego wieku? Statystycy, którzy opracowują ten raport, współpracują z władzami danego kraju; to urzędnicy państwowi musieli się uprzeć na te 60 lat wbrew logice. Krótko mówiąc - raport ma podłoże polityczne i nie można go traktować jako całkowicie obiektywne źródło informacji. Oczywiście stopa zastąpienia będzie zbliżona do średniej innych krajów, jeśli tylko nastąpi urealnienie wieku przejścia na emeryturę u kobiet.

Trzy sposoby na "bieda-emerytury"

Czy można zrobić coś, co podniesie stopę zastąpienia, tak aby przyszłym emerytom żyło się nieco lepiej w stosunku do prognoz? Oczywiście mówimy tu o sposobach, które nie obciążą dodatkowo systemu. Jedno rozwiązanie już podałem. Należy wprowadzić równouprawnienie kobiet i mężczyzn poprzez zrównanie ich wieku emerytalnego. U naszych zachodnich sąsiadów istotnie ten wiek jest taki sam (do roboty lewica). De facto kobiety powinny przechodzić nawet później na emeryturę, skoro statystycznie żyją dłużej o ok. 5 lat, ale to już kwestia bardziej dyskusyjna. 

Wg R. Gwiazdowskiego podwyższenie wieku nawet do 67 lat dla obu płci, nie zlikwidowałoby dziury w systemie emerytalnym. O ile pamiętam, Gwiazdowski popierał, przynajmniej początkowo, program 500+, który nie tylko nie poprawił sytuacji demograficznej (a przecież to było głównym celem), ale pogorszył sytuację budżetu państwa. Dlatego ciężko mi Gwiazdowskiego traktować jako autorytet.    

I tu dochodzimy do drugiego sposobu. Ogromna rzesza ludzi, którzy dobrze lub bardzo dobrze zarabiają, traktują 500+ jak... przyszłą emeryturę. Nie wydają tego, bo mają dość pieniędzy. Finansowanie tych osób w obliczu wielu potrzeb w kraju jest skrajnie niemoralne i nieodpowiedzialne. Tak więc te osoby czy dzieci tych osób powinny mieć obniżone emerytury o te kwoty, bo już płacimy składki czyli podatki na nie.  

Tzw. eksperci od tematu widzą często tylko jedną stronę medalu - za małą dzietność, nie zwracając uwagi na przyczyny tego stanu rzeczy. Wiadomo, że główną przyczyną jest to, że ludzie częściej i dłużej poświęcają się karierze zawodowej. Jeżeli to przekłada się na wzrost PKB, to znaczy, że mamy do czynienia z jakby substytucją między populacją a PKB. Szybki tryb życia, konsumpcjonizm i kariera zawodowa mają swoją cenę. Jeżeli populacja młodych i czynnych zawodowo nie rośnie albo nawet spada przy rosnącej gospodarce, a jednocześnie liczba emerytów wzrasta, to należy zmniejszyć udział wydatków finansów publicznych związanych z niektórymi sektorami, gdzie głównym beneficjentem jest młodsza populacja.

A zatem trzecim dodatkowym sposobem jest zmniejszenie udziału finansowania policji, mediów czy kultury (w ujęciu realnym) w PKB. Ponownie, nie znaczy to obniżenie wartości wydatków, tylko przeniesienie części wzrostu gospodarczego z tych sektorów na sektor emerytalny.

niedziela, 7 listopada 2021

Wpis chwilowy - Korwin i bankructwo ZUS-u

 Jeszcze na chwilę temat ZUS-u - jak to ludzie wierzą, że może za chwilę zbankrutować, a "obietnica" wypłaty przyszłych emerytur jest niepewna. Ponieważ niewiedza prowadzi do tworzenia się mitów, które szerzą się jak wirus, ich odkłamywanie powinno stać się obowiązkiem dziennikarzy. Do poczytania artykuł z onetu: ZUS zbankrutuje? OKO.Press: to jedno z największych kłamstw o emeryturach w Polsce. Cytat:

 

Przede wszystkim ZUS nie jest zawieszoną w próżni autonomiczną jednostką działającą dla zysku. Jest częścią państwowego systemu emerytalnego, a to oznacza, że wypłaty zobowiązań emerytalnych są gwarantowane nie tylko przez Fundusz Ubezpieczeń Społecznych, do którego trafiają nasze składki, ale również przez budżet państwa.

Jeżeli nie wystarcza środków na wypłatę wszystkich należnych świadczeń z bieżących składek, wówczas budżet państwa ma obowiązek dofinansować FUS z pieniędzy pochodzących z podatków w wysokości niezbędnej do wywiązania się FUS ze zobowiązań wobec emerytów.

 (...)

Czy ZUS zbankrutuje?

Tak. I to jeszcze w tym roku. Przynajmniej jeśli wierzyć Fundacji Republikańskiej oraz Związkowi Przedsiębiorców i Pracodawców, którzy w 2013 roku wyrazili przekonanie, że ZUS zbankrutuje w przeciągu 5-8 lat. „Matematyki nie da się oszukać” – z naukową powagą dodawał prezes związku przedsiębiorców Cezary Kaźmierczak. 8 lat od 2013 to właśnie rok 2021, więc możecie zacząć się przygotowywać na to, że upadłość ZUS nastąpi już lada dzień.

 

 Ale najbardziej podoba mi się tekst o Korwinie:

Janusz Korwin-Mikke chwalił się, że on już od lat siedemdziesiątych przewidywał bankructwo ZUS, tymczasem mamy 2021 rok i ZUS – wyraźnie na złość Korwin-Mikkemu – ani myśli upadać.

Z niesprawdzonej prognozy polityk wybrnął więc w ten sposób, że oświadczył, że ZUS nie zbankrutuje, ponieważ… już zbankrutował. Sam ZUS jednak najwyraźniej nie zauważył faktu, że już jest niewypłacalny, ponieważ pomimo deklaracji pana Janusza, wciąż wypłaca kolejne emerytury w należnej wysokości i nie zamierza przestać tego robić w żadnej dającej się przewidzieć przyszłości.

wtorek, 2 listopada 2021

Paradoks "skoku" na OFE

Minęło już 7 lat od tzw. skoku na OFE przez rząd D. Tuska. Mimo upływu czasu nadal panuje chyba powszechne przekonanie, że PO okradło Polaków z ich oszczędności. Powody tego są trzy:

- medialny przekaz (tytuły takie jak: Skok na pieniądze z OFE. Rząd zabiera nam 150 miliardów złotych ; Dwa lata temu dwóch takich zwinęło OFE i po roku powtórka z rozrywki: Trzy lata temu skrojono OFE itp.)

- brak umiejętnej komunikacji z obywatelami

- słaby poziom wiedzy i wykształcenia ekonomicznego społeczeństwa.

Pierwszy punkt wskazuje na pewną manipulację ze strony mediów. Natomiast dwa ostatnie powody można było wyeliminować zatrudniając specjalistę, aby w obrazowych i prostych słowach wyjaśnił ludowi, że ów "skok" to nie tylko zabezpieczenie ich środków przed niepożądaną zmiennością na rynkach finansowych, ale także perfekcyjne zabezpieczenie przed inflacją, a nawet realny zysk wynikający ze wzrostu PKB. Narzędziem do tej operacji stał się ZUS. Przeniesiono więc środki z kosztownych rachunków OFE na osobiste subkonto ZUS-u.

Jaka jest różnica między tym subkontem a OFE? Wyjaśnienie znajdziemy np. na stronie https://www.pzu.pl/dla-ciebie-i-rodziny/inwestycje-i-oszczednosci/emerytura/otwarty-fundusz-emerytalny-ofe, gdzie przeczytamy:

  • ZUS zapisuje wartość wpływających składek na Twoim subkoncie, a otrzymane środki przeznacza na bieżące wypłaty emerytur.
  • ZUS nie inwestuje składek, tylko je waloryzuje.
  • OFE inwestuje przekazane mu składki na rynku kapitałowym (m. in. w akcje polskich spółek).

Co to znaczy, że ZUS waloryzuje nasze środki? Wyjaśnia to art. 25, ustęp 6 Ustawy z dnia 17 grudnia 1998 r. o emeryturach i rentach z Funduszu Ubezpieczeń Społecznych  (Dz. U. z 2021 r. poz. 291, 353 i 794):

6. Wskaźnik waloryzacji składek jest równy wskaźnikowi cen towarów i usług konsumpcyjnych ogółem w roku kalendarzowym poprzedzającym termin waloryzacji w stosunku do poprzedniego roku powiększonemu o wzrost realny sumy przypisu składek na ubezpieczenie emerytalne w roku kalendarzowym poprzedzającym termin waloryzacji w stosunku do roku poprzedniego, z zastrzeżeniem ust. 9. Wskaźnik waloryzacji składek nie może być niższy niż wskaźnik cen towarów i usług konsumpcyjnych ogółem w roku kalendarzowym poprzedzającym termin waloryzacji w stosunku do poprzedniego roku.

O ile wskaźnik cen towarów i usług konsumpcyjnych - CPI, to oczywista sprawa, o tyle nie dla wszystkich jasne będzie znaczenie przypisu składek. Okazuje się, że wyjaśnienie znajduje się w kolejnych punktach ustawy:

7. Wskaźnik wzrostu realnego sumy przypisu składek na ubezpieczenie emerytalne, o którym mowa w ust. 6, otrzymuje się poprzez podzielenie wskaźnika wzrostu nominalnego sumy przypisu składek na ubezpieczenie emerytalne w roku kalendarzowym poprzedzającym termin waloryzacji w stosunku do roku poprzedniego przez wskaźnik cen towarów i usług konsumpcyjnych ogółem ustalony dla analogicznego okresu. 

8. Wskaźnik wzrostu nominalnego sumy przypisu składek na ubezpieczenie emerytalne, o którym mowa w ust. 7, stanowi iloraz sumy przypisu składek na ubezpieczenie emerytalne w roku kalendarzowym poprzedzającym termin waloryzacji i w roku poprzednim. 

9. Wskaźnik waloryzacji składek za rok 2000 jest równy wskaźnikowi wzrostu przeciętnego wynagrodzenia za 2000 r. w stosunku do przeciętnego wynagrodzenia za 1999 r.


I wszystko staje się jasne: ponieważ przeciętne wynagrodzenie odnosi się do całej gospodarki, to suma przypisu składek również odnosi się do sumy składek w gospodarce. A więc w przybliżeniu można powiedzieć, że "wzrost realny sumy przypisu składek na ubezpieczenie emerytalne" stanowi realny wzrost średniego wynagrodzenia krajowego w stosunku do poprzedniego roku. A te są siłą rzeczy związane są ze wzrostem realnego PKB. Warto dodać, że także art. 89 mówi o wskaźniku waloryzacji, ale nie składek, ale samych emerytur i rent. Tam wprost nawiązuje się do wzrostu przeciętnego wynagrodzenia z roku poprzedniego.

Tabela wskaźników waloryzacji ZUS w kolejnych latach znajduje się tutaj. Za 2020 r. wskaźnik wyniósł 105,41%, za 2019 108,94%, 2018 - 109,20%.

Już sam fakt, że ZUS perfekcyjnie zabezpiecza przed inflacją, daje mu w ostatnich latach przewagę nad wszelkimi formami lokat. Ponieważ stopa procentowa jest kilka razy poniżej naturalnej stopy procentowej, to ZUS okazuje się chronić obywateli przed politycznymi decyzjami NBP i RPP.

Ale wiemy, że to nie wszystko - ZUS powiększa wartości składek o wzrost realnego PKB. To wydaje się nawet przesadą, bowiem wzrost ten wynika m.in. z postępu technicznego, czyli wzrostu wydajności pracy. Są przecież zawody, które nie zwiększają swojej wydajności, jak urzędnicy, nauczyciele czy pracownicy fizyczni. Jako emeryci będą więc uzyskiwać niezasłużoną premię. Można tu oczywiście bronić koncepcji tej nadwyżki, przypominając, że wpłacane składki w OFE uzyskiwałyby podobne lub wyższe wyniki. Tylko zauważmy, że w przypadku OFE stopa zwrotu stanowi premię za ryzyko - ta przekształca się w zysk netto, aby trafić do akcjonariuszy. Natomiast realne nadwyżki zusowskie wynikają ze wzrostu wynagrodzeń, czyli normalnych kosztów i przychodów przedsiębiorstw. Wynagrodzenia i PKB (w ujęciu realnym) rosną natomiast z dwóch źródeł: premii za ryzyko oraz nadwyżek monopolistycznych (oligopolistycznych). Dlatego uzyskiwane zyski z OFE są sprawiedliwe, natomiast realne nadwyżki zusowskie są dla wielu dochodem ponadnormalnym (a jeszcze innych za niskie)

Paradoksem jest, że ci najmniej wykształceni, którzy są święcie przekonani, że zostali okradzeni przez Tuska, najbardziej korzystają z jego reformy. 

P. S. Polecam art.

OFE. Stracimy gdy Morawiecki oddał, a nie Tusk zabrał

napisany przez radcę prawnego. Z tego tekstu jasno wynika, że Kowalski pozostał wierzycielem swoich środków. Zmienił się jedynie dłużnik. Nie było żadnej nacjonalizacji. Kogo to obchodzi, że te pieniądze poszły np. na zasypanie dziury budżetowej? Tak samo Skarb Państwa emituje obligacje i nikt nie ma z tym problemu, bo każdy wierzy, że spłaci zobowiązania. Ostatni bzdurny argument o tym, że te środki to tylko zapis księgowy, a faktyczne pieniądze znikły. Jak bank udziela kredytu, to też mu pieniądze znikły. A już pomijam, że teraz panuje wszędzie pieniądz bezgotówkowy, który też jest tylko zwykłym zapisem księgowym. Żeby udowodnić, że Polacy zostali okradzeni, trzeba by udowodnić, że przelano za mało środków z OFE do ZUS. A o tym chyba propaganda milczy.