niedziela, 5 marca 2017

Czym się różni pamięć długoterminowa od krótkoterminowej?

Gdy myślimy o procesach biologicznych, intuicyjnie rozumiemy co oznacza pamięć krótkoterminowa a co długoterminowa. Ale w procesach finansowych sprawa się komplikuje. Przykładem procesu z krótką pamięcią jest AR(p). Jednak rząd p = 1 nie oznacza wcale, że całkowita pamięć działa tylko 1 krok naprzód. Na przykład wygenerujmy następujący skorelowany gaussowski proces z 1000 obserwacji:


Sprowadzając go do stacjonarności (czyli biorąc pierwsze różnice) otrzymamy zwykły AR(1) ze współczynnikiem autoregresji 0.6 (czyli jest to ruch Browna z autokorelacją 1 rzędu). Dostaniemy dla niego funkcję autokorelacji - ACF: 



Empiryczny ACF zaczyna się faktycznie od poziomu 0.6, ale w kolejnych rzędach błędnie odnajduje dodatkowe autokorelacje. ACF wskazuje, że pamięć kończy się dopiero przed 6-tą obserwacją (p-value = 0.11). Dzieje się tak, dlatego że kolejne obserwacje wpływają na siebie: jeżeli jednego dnia jest wzrost, to szansa na wzrost kolejnego dnia jest spora, ale skoro tak, to i trzeciego dnia będzie spora itd. Tak więc pozornie pierwszy dzień wpływa na trzeci, czwarty itd. To daje do myślenia. Ten efekt może być pomylony z "efektem motyla" znanym z teorii chaosu,  który będzie związany z pamięcią długoterminową, ale nie krótkoterminową.
Aby usunąć te wewnętrzne autokorelacje, stosuje się cząstkową autokorelację PACF (partial ACF).


PACF wyraźnie wskazuje, że już po 1 kroku autokorelacja znika.

Stąd PACF służy do oceny autokorelacji p-tego rzędu, a jednocześnie pozwala dobrać optymalny poziom p w modelu AR(p).

A teraz wygenerujmy proces z długą pamięcią, ale bez krótkiej, tzn. część AR(1) = 0, a więc wydawałoby się, że także autokorelacja cząstkowa nie wystąpi. Niech to będzie proces o takim przebiegu, również z 1000 obserwacjami:


Jest to ułamkowy proces ruchu Browna z wykładnikiem Hursta = 0.9, czyli jego pierwsze różnice charakteryzują się ułamkowym rzędem integracji d = 0.4 w modelu ARFIMA (krótkie opisowe wyjaśnienie ułamkowego rzędu integracji zamieściłem w Czy oczekiwane stopy zwrotu w ogóle się zmieniają?, tam też opisałem znaczenie ACF). Analizując pierwsze różnice, zacznijmy znowu od ACF:


Tym razem ACF spada o wiele wolniej i pamięć utrzymuje się jeszcze długo po 9-tej obserwacji. Następnie sprawdźmy PACF:


Autokorelacja cząstkowa zanika dopiero po 3 kroku. Sugerowałoby to, że aby wymodelować ten proces, trzeba by użyć AR(3), a właściwie ARFIMA(3, 0.4, 0) - część MA zostawiam, aby nie wprowadzać zamieszania. A jednak gdy mamy do czynienia z procesami o długiej pamięci, ta klasyczna zasada Boxa-Jenkinsa nie działa. Przecież wygenerowałem ten proces, wiedząc, że nie posiada krótkiej pamięci, którą odnajduje PACF. Żeby zauważyć, że rzeczywiście długa pamięć "myli" PACF, możemy estymować 2 modele: ten prawidłowy, tj. ARFIMA(0, 0.4, 0) oraz ARFIMA(1, 0.4, 0). Taką możliwość daje program Matrixer.

ARFIMA(0, 0.4, 0)

Dostaliśmy d = d1 = 0.448. Ocena parametru jest bliska prawdziwemu 0.4.

ARFIMA(1, 0.4, 0)

W tym przypadku część AR(1) okazuje się nieistotna statystycznie (p-value = 0.176), natomiast d = d1 = 0.388 jest istotny i bliski prawdziwemu 0.4.

Nie ma sensu zwiększać p aż do 3, skoro już 1 rząd jest nieistotny. Dlatego widać, że długa pamięć może zastąpić całkowicie autoregresję. PACF działałby tylko wtedy, gdybyśmy od początku nałożyli warunek, że d = 0, czyli po prostu estymowali zwykły AR. Wtedy istotnie powinniśmy zastosować AR(3).

Mimo iż pamięć jest rozważana w rozmaitych kontekstach, to okazuje się, że różnicę pomiędzy pamięcią krótko- a długoterminową można sformułować następująco: pamięć, w sensie ACF, krótkoterminowa zanika geometrycznie, natomiast długoterminowa - hiperbolicznie [1, 2]. Przykładem funkcji, która maleje geometrycznie jest e^(-x), a hiperbolicznie 1/(1+x). Poniższe rysunki pozwalają porównać obydwa zjawiska:



Tak więc w szeregach czasowych z długą pamięcią, ACF i PACF są nieprzydatne. ACF może błędnie sugerować niestacjonarność procesu (kolejne obserwacje korelują ze sobą, powodując nieprzypadkowe zmiany, co wywołuje ich oddalanie się od średniej), a PACF autokorelację pierwszych rzędów. Może się oczywiście zdarzyć odwrotnie - istnieć autokorelacja liniowa dalekiego rzędu, np. 7-go i jeśli nie wyłapiemy AR(7), to błędnie oszacujemy występowanie długiej pamięci. Co więcej, nawet jeśli wyłapiemy AR(7), ale nie zauważymy, że reszty modelu są (nadal) wzajemnie skorelowane, to też błędnie oszacujemy występowanie długiej pamięci. To właśnie dlatego, aby usunąć autokorelacje pomiędzy resztami (składnikami losowymi), stosuje się proces MA. Stąd podstawą jest model ARMA, ARIMA i dopiero potem ARFIMA.

Literatura:
[1] Pong S., Shackleton, M. B., Taylor, S. T., Distinguishing short and long memory volatility specifications, 2008;
[2] Jin H. J., Frechette, D. L., Fractional Integration in Agricultural Futures Price Volatilities, May 2004.

wtorek, 21 lutego 2017

Robot ma wielkie oczy

Każdy prawdziwy inwestor rozumie, że praca sama w sobie nie jest wartością, że nie jest celem samym w sobie. Że stanowi tylko narzędzie do uzyskania dochodów. W wielu popularnych poradnikach - często pisanych przez ludzi, którzy rzeczywiście przeszli drogę od zera do milionera - przeczytamy czy wysłuchamy, że celem powinna być zawsze wolność finansowa, a nie dobra praca.

Można powiedzieć, że tak myślą inwestorzy - marzą, by ich portfele rosły same bez udziału ich wysiłku. Nie mieli by nic przeciwko temu, żeby program komputerowy (czy robot) sam optymalizował ich udziały w papierach wartościowych czy innych aktywach.

Ale coraz częściej można spotkać się z fatalistycznymi wizjami i zmartwieniami samych ekonomistów, o tym, że wkrótce roboty i sztuczna inteligencja zabiorą ludziom pracę - zarówno fizyczną jak i umysłową - i trzeba się ich bać. Dobra - gdyby tylko jacyś tam nieznani ekonomiści tak się przejmowali - to pal licho. Ale gdy słyszy się to z ust szanowanych, często nagradzanych ekonomistów - to budzi zgrozę. Dla przykładu - zacytuję http://www.businessinsider.com [1]:

"A Nobel Prize-winning economist has warned that the rise in robotics and automation could destroy millions of jobs across the world. Angus Deaton, who won the Nobel Prize last year for his work on health, wealth, and inequality, told the Financial Times he believes robots are a much greater threat to employment in the US than globalisation."

Richard B. Freeman z kolei pisze długi artykuł na ten temat i najpierw zauważa, że strach przed globalnym bezrobociem jest bezpodstawny [2]:

"From the 1930s through the 1990s, fears that technological advances would create permanent joblessness—which seemingly arise whenever unemployment persists for a long period—have proven groundless. In his 1940 State of the Union address, President Franklin Roosevelt blamed high unemployment on the nation’s failure to “[find] jobs faster than invention can take them away,” but when demand ramped up during World War II, the surplus of labor turned into a shortage. In the early 1960s, fears that automation would eliminate thousands of jobs per week led the Kennedy administration to examine the link between productivity growth and employment, but the late 1960s boom ended the automation scare. During the mid-1990s recession, some analysts proclaimed the end of work, only to see the dot-com boom raise the proportion of the adult population working to an all-time high. Employment returns when the economy recovers. And mechanization and automation have been accompanied by an improvement in the structure of jobs, with humans shifting from manual work to professional and managerial work. In the past several decades, the ratio of employment to population has increased rather than decreased. Should this time be different?"

Ale zaraz potem potwierdza, że obecna automatyzacja przechodzi w nową fazę, w której roboty zaczynają przejmować pracę umysłową:

"Pedro Domingos, a computer scientist at the University of Washington, has predicted that “tomorrow’s scientists will have armies of virtual graduate students, doing lab work, statistical analysis, literature search, and even paper-writing.”"

i za chwilę przyłącza się do litanii zagrożeń robotyzacji.

Ekonomiści budują całe modele obliczające ilu ludzi straci pracę i ilu będzie cierpieć przez sztuczną inteligencję [3].

Niewiarygodne, że nawet Bill Gates uważa, że roboty powinny zostać opodatkowane! [4]. Gates jako najbogatszy filantrop na świecie może sobie płacić podatki nawet za oddychanie, ale z lekka drażni sposób, w jaki przedstawiają to dziennikarze, nazywając taki pomysł "rewolucyjnym". Ja rozumiem, że rewolucyjnym pomysłem jest opodatkowanie przychodów. Bo nie inaczej chce Gates.

Dlaczego pomysł Gatesa nie tylko nie jest rewolucyjny, ale jest idiotyczny? Każdy kto trochę zna ekonomię wie, że postęp techniczny obniża koszty, a więc zwiększa tym samym dochody. A skoro przedsiębiorca otrzymuje wyższe dochody, to płaci wyższy podatek dochodowy. Tym samym zyskuje zarówno przedsiębiorca jak i państwo. Z tych podatków państwo może finansować zasiłki i inne potrzeby socjalne. Na tym opiera się prawdziwy rozwój gospodarczy.

Tymczasem Gates chce by robota traktować na równi z człowiekiem, czyli uważać, że robot uzyskuje jakiś dochód, od którego trzeba pobrać podatek. Co jest oczywiście fałszem, bo robot nie uzyskuje żadnego wynagrodzenia, a tylko pracodawca niejako przejmuje to wynagrodzenie (i w ten sposób obniża swoje koszty). Co oznacza, że Gates chce, aby dochody zostały podwójnie opodatkowane (a z VAT potrójnie): od przychodu z robota i od zysku brutto. A przecież zysk brutto i tak wzrósł, a więc jest podatek nie tylko od przychodu, ale jeszcze od wyższego zysku brutto.

Przykład: powiedzmy, że początkowo zysk brutto wynosi 1, a dzięki robotowi jest to 1+x = y. Jeśli podatek wynosi 0,2 zysku brutto, to bez robota podatek wynosi 0,2, a z robotem 0,2(1+x) = 0,2y. Jest to prawidłowa sytuacja, gdy państwo zyskuje dzięki robotowi dodatkowe 0,2x. Tak więc już pewna część przychodu z robota jest opodatkowana. Ale teraz dokonajmy grabieży, którą proponuje Gates: najpierw opodatkowujemy x, czyli pierwszy podatek to 0,2x. Tę część odejmujemy od zysku brutto, czyli y - 0,2x stanowi podstawę podatku dochodowego. Ponieważ y = 1+x, to podstawa wynosi 1+x - 0,2x = 1+ 0,8x. Z tego wyliczamy podatek 0,2*(1+0,8x). Tak więc gdy zsumujemy obydwa podatki, to dostaniemy 0,2x + 0,2(1+0,8x) = 0,2(x + 1 + 0,8x) = 0,2(1 + 1,8x). Jeśli x = 0, wtedy dostaniemy początkowy podatek 0,2. Ale jeśli x > 0, to zawsze dostaniemy większy całkowity podatek. Podsumujmy te 3 sytuacje:
1. gdy nie ma robota, to podatek = 0,2
2. gdy jest robot, ale jeden podatek od zysku brutto, to podatek ten wynosi 0,2(1+x)
3. gdy jest robot, ale są dwa podatki - od przychodu i zysku brutto, to podatek sumaryczny wynosi 0,2(1 + 1,8x).

I oczywiście analogicznie łatwo zauważamy, że końcowy zysk netto wynosi odpowiednio dla tych sytuacji:
1. 0,8
2. 0,8(1 + x)
3. 0,8(1 + 0,8x)

A wracając do meritum: powiedzmy, że roboty przejmą niemal całą pracę ludzi, razem z prawnikami, sędziami, księgowymi, inżynierami, lekarzami, politykami itd. No i co z tego? Czy praca sama w sobie jest świętością? Czy chodzi o to, żeby mieć pracę czy pieniądze? Jeżeli ludzie uważają, że chodzi o to, by mieć pracę, to oczywiście będzie dla nich problem. Ale to będzie problem wyłącznie psychologiczny, a nie realny, ekonomiczny. Powyżej podałem właściwie rozwiązanie. Postęp techniczny, jak np. sztuczna inteligencja zwiększa oszczędność czasu i obniża koszty, a przez to zwiększa dochody. Większe dochody oznaczają większe podatki, które można przeznaczyć dla wszystkich tych, którzy nie potrafią dostosować się do panujących warunków. W przyszłości, dzięki olbrzymiemu postępowi, państwa - jeśli nie dojdzie do kolejnej wojny światowej albo globalnej pandemii - będą posiadać ogromne z dzisiejszego punktu widzenia dochody, które będą przeznaczać na warunki socjalne, ale nikt nie będzie już tego nazywał zasiłkami, bo po prostu będzie to coś normalnego, naturalnego. Każdy będzie dostawał pieniądze od państwa na utrzymanie, a ludzie będą mieć więcej czasu na rozwój osobisty, naukę, badania, rodzinę itp. Dlatego kapitalizm przejdzie w sposób naturalny w swego rodzaju ekonomię dobrobytu. Warto zauważyć, że już dziś państwa nazywane państwami dobrobytu, wcale nie przeżywają wielkich kryzysów gospodarczych. Należy jednak pamiętać, że aby taka wizja mogła się spełnić, to wszelka pomoc socjalna nie może opierać się na zadłużaniu państwa, ale przeciwnie - tylko nadwyżka budżetu może być wykorzystana do celów socjalnych.

Dziś komputer potrafi wygrać już w pokera z najlepszymi zawodnikami. Tak więc wkrótce automaty będą mogły przejmować niektóre zadania umysłowe. Gdy roboty przejmą np. pracę polityków, to nastąpi ogromny spadek kosztów i olbrzymia oszczędność. Decyzje będą zawsze szybkie, optymalne (bo oparte na pełnej wiedzy ekonomiczno-socjologicznej), ludzie nie będą się wściekać, nie będzie protestów, strajków itd. - obniżą się koszty społeczne. Również gdyby robot był sędzią, to wydawałby zawsze najbardziej sprawiedliwe, optymalne wyroki w oparciu o całą wiedzę prawniczą. I nikt nie mógłby go posądzać o stronniczość. Oczywiście ktoś to wszystko musi kontrolować. Zawsze będą ludzie, ktorzy będą mieć pracę. Być może większość ludzi będzie musiała być informatykami lub kimś łączącym informatykę z innym zawodem. Fataliści od science-fiction zaczną oczywiście snuć obawy, co to będzie jak robot przejmie rolę informatyka. Ja im proponuję w takim razie, by od  razu podyskutowali, co tu zrobić jak Słońce się wypali.



Źródło:
[1] NOBEL ECONOMIST: 'I don’t think globalisation is anywhere near the threat that robots are'
[2] Who Owns the Robots Rules the World
[3] Seth G. Benzell, Laurence J. Kotlikoff, Guillermo LaGarda, Jeffrey D. Sachs,  Robots Are Us: Some Economics of Human Replacement, 2016. Link: http://www.nber.org/papers/w20941
[4] Bill Gates z rewolucyjnym pomysłem: Opodatkować roboty

poniedziałek, 13 lutego 2017

Optymalizacja wstępnych parametrów modelu log-periodycznego

Jeżeli mamy trudności z uzyskaniem wartości krytycznej w modelu log-periodycznym, wtedy możemy spróbować użyć pewnego przekształcenia, które pokazali Filiminov i Sornette [1]. W pierwotnym modelu występowały 3 parametry liniowe: A, B, C oraz 4 parametry nieliniowe a, w, tc, d. Można model przekształcić do takiej postaci, aby uzyskać 4 parametry liniowe i 3 nieliniowe. Nieliniowość powoduje, że obliczenia są bardzo skomplikowane i program komputerowy może nie dać rady rozwiązać problemu numerycznego. Dodatkowo nieliniowość tych parametrów wywołuje quasi-periodyczność, przez co funkcja może mieć wiele punktów optymalnych.

Przypomnę, że pierwotna wersja była następująca:

(1)

Przekształcenie modelu (1) da postać:

(2)

Wzór (2) można zapisać także jako:

(3)

Taka postać jest nawet łatwa do zapamiętania, bo jest to suma funkcji liniowej (A+Bx) oraz funkcji cosinus i sinus ((C1cos + C2sin)x).
Kod w Gretlu na nls (NMNK) dla modelu (3) - nie uwzględniając jeszcze parametrów wstępnych - byłby następujący:
 
...................................
l_Zamkniecie = A+B*(tc-time)^a+C1*(tc-time)^a*cos(w*ln(tc-time))+C2*(tc-time)^a*sin(w*ln(tc-time))

deriv A = 1
deriv B = (tc - time)^a
deriv C1 = cos(w*ln(tc - time))*(tc - time)^a
deriv C2 = sin(w*ln(tc - time))*(tc - time)^a

deriv a = B*ln(tc - time)*(tc - time)^a + C1*ln(tc - time)*cos(w*ln(tc - time))*(tc - time)^a + C2*ln(tc - time)*sin(w*ln(tc - time))*(tc - time)^a

deriv w = C2*ln(tc - time)*cos(w*ln(tc - time))*(tc - time)^a - C1*ln(tc - time)*sin(w*ln(tc - time))*(tc - time)^a

deriv tc = B*a*(tc - time)^(a - 1) + C1*a*cos(w*ln(tc - time))*(tc - time)^(a - 1) + C2*a*sin(w*ln(tc - time))*(tc - time)^(a - 1) + (C2*w*cos(w*ln(tc - time))*(tc - time)^a)/(tc - time) - (C1*w*sin(w*ln(tc - time))*(tc - time)^a)/(tc - time)
..................................


Jednak ciągle pozostaje pytanie jakie przyjąć wstępne parametry. Poprzednio zawsze przyjmowałem A = 1, B = -1, C = 0.5, a = 0.5, a także często w = 9.06, d = -1, tc zaczynałem od tc = T+1, gdzie T jest to liczba obserwacji. Trzeba znaleźć dodatkowo C1 i C2. Zgodnie ze wzorem podanym w [1] wiemy, że zachodzi:


Natomiast dotychczas stosowałem wstępne C = 0,5, a d = -1. Wobec tego wstępne C1 i C2 może wynieść odpowiednio 0,5 oraz -0.0087.

W przytoczonej publikacji [1] pokazany jest także dość skomplikowany algorytm na utworzenie wstępnych optymalnych parametrów liniowych. Należy rozwiązać następujące równanie macierzowe:


Aby nie powielać grafiki, wkleiłem bezpośredni obraz z tej publikacji. Zmienna m to nasza zmienna a, zmienna t(i) to t, indeks i to u nas też t, N to T. Wstępne liniowe parametry A, B, C1 i C2 są de facto funkcją pozostałych nieliniowych parametrów.


Literatura:
[1] Sornette, D., Filimonov, V. - A Stable and Robust Calibration Scheme of the Log-Periodic Power Law Model, 2013.

niedziela, 29 stycznia 2017

Czy model logperiodyczny może służyć do wyceny ryzykowanych akcji?

Dla wielu spółek już samo dopasowanie kursu do modelu log-periodycznego jest trudne albo niemożliwe. Ostatnio przyszedł mi do głowy taki pomysł. Jeżeli teoria Sornette'a-Johansena [1, 2, 3] jest prawdziwa, to są okresy, w których na giełdzie jest więcej spekulantów niż inwestorów (fundamentalnych). Dla jakich spółek takie okresy mogą występować najczęściej? Dość logiczne, że dla takich, które są wysoko spekulacyjne, tj. ich zyski są trudne do przewidzenia. Weźmy np. rynek gier komputerowych. Spółka latami pracuje nad jakimś projektem i w ciągu tego okresu ponosi tylko straty lub niewielkie zyski. Bardzo często przesuwana jest premiera samej gry i w zasadzie można od początku wziąć półroczną poprawkę na wstępną datę, bo ludzie (nawet specjaliści) najczęściej nie doszacowują potrzebnego czasu na zakończenie takiego dzieła. Kiedy już gra ujrzy światło dzienne, nie wiadomo czy odniesie sukces, a jeśli wiadomo, to nie jest pewne ile zarobi. Ale jeżeli odniesie sukces, to zysk może być tak duży, że podwoi czy potroi cały kapitał własny. W takiej sytuacji nie ma innej możliwości - kurs musi mocno pójść w górę. Jeżeli jednak spółka odniesie sukces, to dopiero zaczyna się kłopot. Inwestycje zwyczajnej spółki przyniosłyby nowy poziom cyklicznych przychodów, ale tutaj zysk z inwestycji jest jednorazowy. Z tego powodu wielu inwestorów unika takich spółek jak ognia: punktem zaczepienia dla nich zawsze jest kapitał własny, a w tym przypadku punkt taki nie istnieje. Jest to spowodowane wysoką niepewnością (wariancją) zysków monopolistycznych. W artykule Kiedy większa niepewność zwiększa wartość akcji? wyjaśniłem, że dla spółek o wysokim ROE w stosunku do kosztu kapitału własnego, P/BV naturalnie będzie wyższy: ta różnica zawiera zarówno średnią stopę zmian zysków monopolistycznych jak i jej wariancję, pomijając już inne momenty centralne.

Jeżeli akcje są tak wysoko spekulacyjne, to fundamentaliści ich nie tykają, czyli wycena również być może powinna opierać się na racjonalnym modelu spekulacyjnym. Zamiast klasycznie wyceniać, powinniśmy stworzyć model log-periodyczny. Natomiast dla spółek bezpiecznych, takich właśnie jak mBank, który cyklicznie płaci dywidendy, a jego zyski są w miarę do przewidzenia i beta nie jest zbyt wysoka, model ten słabo się sprawdza, co pokazałem w poprzednim artykule. Dlatego tym razem sprawdzę NMNK w Gretlu 3 spółki: CD Projekt (CDR), CI GAMES (CIG) i 11Bit (11B).


1. CDR (T = 2021). Okres 2009-2017 do 26.01.2017. Użyłem kodu:
.......................
scalar A = 1
scalar B = -1
scalar C = 0.5
scalar a = 0.5
scalar w = 15
scalar d = -1
scalar tc = 2100

l_Zamkniecie = A+B*(tc-time)^a*(1+C*cos(w*ln(tc-time)+d))
deriv A = 1
deriv B = (tc-time)^a*(1+C*cos(w*ln(tc-time)+d))
deriv C = B*(tc-time)^a*cos(w*ln(tc-time)+d)
deriv a = (tc-time)^a*(B+B*C*cos(w*ln(tc-time)+d))*ln(tc-time)
deriv w = -B*C*(tc-time)^a*sin(w*ln(tc-time)+d)*ln(tc-time)
deriv d = -B*C*(tc-time)^a*sin(w*ln(tc-time)+d)
deriv tc = -B*C*w*(tc-time)^(a-1)*sin(w*ln(tc-time)+d)+B*a*(tc-time)^(a-1)*(1+C*cos(w*ln(tc-time)+d))
.......................

gdzie l_Zamkniecie to logarytm z kursu zamknięcia, a wszystkie parametry są takie jak opisałem poprzednio.



 Dostajemy regresję w postaci niebieskiej linii:



Chociaż model nie wskazuje, aby w najbliższym czasie doszło do krachu (tc > 2700), to akcje wydają się przewartościowane, znajdując się powyżej krzywej regresji. Zauważmy, że obecnie C/WK = 8,23. Aby wycena była zgodna z modelem C/WK musi wynieść 5,56.


2a. CIG (T = 1770). Okres 2010-01-04 - 2017-01-27. To trudniejszy przypadek, bo nie mogłem znaleźć odpowiednich wstępnych parametrów. Pytanie brzmi czy moglibyśmy się dowiedzieć, w jakim oknie czasu użyć modelu. Aby na to odpowiedzieć, można użyć tc < T, a więc znaleźć osobliwość w przeszłości. To też nie jest prosta sprawa. Nie mogłem użyć parametru w w typowym zakresie 5-20. Użyłem więc kodu:
.................
scalar A = 1
scalar B = -1
scalar C = 0.5
scalar a = 0.5
scalar w = 35
scalar d = -1
scalar tc = 1780

l_Zamkniecie = A+B*(tc-time)^a*(1+C*cos(w*ln(tc-time)+d))
deriv A = 1
deriv B = (tc-time)^a*(1+C*cos(w*ln(tc-time)+d))
deriv C = B*(tc-time)^a*cos(w*ln(tc-time)+d)
deriv a = (tc-time)^a*(B+B*C*cos(w*ln(tc-time)+d))*ln(tc-time)
deriv w = -B*C*(tc-time)^a*sin(w*ln(tc-time)+d)*ln(tc-time)
deriv d = -B*C*(tc-time)^a*sin(w*ln(tc-time)+d)
deriv tc = -B*C*w*(tc-time)^(a-1)*sin(w*ln(tc-time)+d)+B*a*(tc-time)^(a-1)*(1+C*cos(w*ln(tc-time)+d))
....................

Dostajemy następujący wykres:



Wcale to nie znaczy, że wyznaczony punkt osobliwości jest wielkością absolutną. Np. gdy ustawiłem tc = 1695, otrzymałem:



Jednak tylko dla dość wąskiego zakresu mogłem dostać jakieś wartości, więc można przyjąć, że jest to obszar rozpoczęcia nowego trendu. Dlatego przyjmę nowe okno czasu:

2b. CIG (T = 624). Okres: 2014-08-01 - 2017-01-27. Mimo przyjęcia nowego zakresu, wyznaczenie wstępnych parametrów nadal sprawia trudności. W końcu przyjąłem:

scalar A = 1
scalar B = -1
scalar C = 0.5
scalar a = 0.5
scalar w = 20
scalar d = -1
scalar tc = 2500

Wyniki:




Tym razem CIG wydaje się prawidłowo wyceniony z punktu widzenia modelu spekulacyjnego. Jest tak mimo wysokiego C/WK = 6,36.


3. 11B (T = 1554). Okres 2010-10-28:2017-01-26. Jest to dobry przykład ruchu Levy'ego, dla którego wariancja jest nieskończona. Tym razem ustalenie wstępnych parametrów było bardzo łatwe, bo wystarczyło przyjąć standardowe (np. tc = T+1):

.....................
scalar A = 1
scalar B = -1
scalar C = 0.5
scalar a = 0.5
scalar w = 9.06
scalar d = -1
scalar tc = 1555
......................

Reszta bez zmian.

Wyniki:



Sytuacja jest ciekawa z dwóch powodów. Po pierwsze Spółka zgodnie z tym modelem jest niedowartościowana mimo wysokiego C/WK = 8,45. Model wskazywałby na wzrost C/WK do 12,95. Po drugie prognozowany tc = 1602,58, a więc zostało niecałe 50 dni do szacowanego załamania. Oczywiście ostatnie testy na WIG (dla początku bessy 2007) dobrze ilustrują jak istotna jest aktualizacja modelingu. Tamte testy sugerują, że trzeba myśleć o wyjściu z rynku jeśli tp = tc - Z, gdzie tp to data prognozowania, tj. tworzenia prognozy, a Z to liczba dni, która waha się między 5 a 7.
To czy hipoteza "spekulacyjnej wyceny" się sprawdzi, przekonamy się w najbliższych tygodniach.


Literatura:

[1] Sornette, D., Johansen, A. - Critical Market Crashes, 1999,
[2] Sornette, D., Johansen A., Ledoit, O. - Predicting Financial Crashes Using Discrete Scale Invariance, Feb 2008,
[3] Sornette, D., Johansen A. - Significane of log-periodic precursors to financial crashes, Feb. 1, 2008.