Czy można stosować analizę głównych składników w odniesieniu do cen akcji / danych niestacjonarnych?


10

Czytam przykład podany w książce Machine Learning for Hackers . Najpierw rozwinę ten przykład, a następnie omówię moje pytanie.

Przykład :

Pobiera zestaw danych na 10 lat z 25 cenami akcji. Uruchamia PCA w cenie 25 akcji. Porównuje główny składnik z indeksem Dow Jones. Obserwuje bardzo silne podobieństwo między PC a DJI!

Z tego, co rozumiem, przykład bardziej przypomina zabawkę, która pomaga początkującym, takim jak ja, zrozumieć, jak skuteczne jest narzędzie PCA!

Jednak czytając z innego źródła , widzę, że ceny akcji są niestacjonarne, a PCA na cenach akcji jest absurdalne. Źródła, z których czytam, całkowicie wyśmiewają pomysł obliczania kowariancji i PCA dla cen akcji.

Pytania :

  1. Jak ten przykład działał tak dobrze? PCA cen akcji i DJI były bardzo blisko siebie. A dane są prawdziwymi danymi z cen akcji z lat 2002-2011.

  2. Czy ktoś może wskazać mi jakieś fajne źródło do czytania danych stacjonarnych / niestacjonarnych? Jestem programistą. Mam dobre doświadczenie matematyczne. Ale nie robiłem poważnej matematyki przez 3 lata. Ponownie zacząłem czytać o takich rzeczach, jak przypadkowe spacery itp.

Odpowiedzi:


10

Ten artykuł służy częściowej odpowiedzi na pierwotne pytanie i niektóre pytania postawione w komentarzach do odpowiedzi @ JonEgil.

Zwroty finansowe (logarytmiczne) * wynoszą w przybliżeniu (chociaż często występuje pewna warunkowa heteroskedastyczność) - podczas gdy ceny są w przybliżeniu przypadkowymi spacerami. Przy założeniu I . i . d . obserwacje, główny składnik analiza byłaby bezpośrednio uogólniać z próbki do populacji (czyli przykładowe główne składniki byłyby szacowania populacji główne komponenty), ale to może nie trzymać pod non- I . i . d . obserwacje - zobacz ten wątekja.ja.re.ja.ja.re.ja.ja.re.. Dlatego sensowne jest uruchamianie PCA w przypadku (logarytmicznych) zwrotów, a nie cen.

ja.ja.re.

P.tr: =log(P.t)-log(P.t-1)=logP.tP.t-1r: =P.t-P.t-1P.t-1hh


1
fa(tja)logfa(tja+1)fa(tja)

1
@amoeba, dodałem szybkie wyjaśnienie i muszę teraz wyjść. Mam nadzieję, że nie popełniłem tam zbyt wielu błędów. Wrócę jutro, jeśli będą jakieś dalsze problemy.
Richard Hardy,

1
Dzięki. Widzę teraz, że zwroty (zwroty logarytmiczne) są zasadniczo pochodną (pierwszą różnicą) logarytmu cen. Więc jeśli twierdzenie jest takie, że zwroty są identyczne, a ceny dziennika są przypadkowymi spacerami, to ma to sens. Nadal jestem jednak zaskoczony przykładem Dow Jonesa i chętnie przyjmę wszelkie dalsze wyjaśnienia.
ameba

6

Profesjonalnie prowadzę tego typu analizy i mogę potwierdzić, że rzeczywiście są one przydatne. Pamiętaj jednak o analizowaniu zwrotów, a nie cen. Podkreśla to także krytyka w Slender Means:

To perform PCA, your data have to have a meaningful covariance matrix 
(or correlation matrix, but the conditions are equivalent). They analyze 
stock prices, which are non-stationary time series variables.

Typowym przykładem użycia w naszej analizie jest oszacowanie ryzyka systemowego na rynku. Im więcej współpracy na rynku, tym mniej dywersyfikacji, którą naprawdę masz w swoim portfolio. Można to na przykład określić ilościowo przez wariancję opisaną przez pierwszy główny składnik. Który jest identyczny z wartością pierwszej wartości własnej.

W przypadku danych finansowych zwykle bada się ruchome okno w czasie. Przydatna jest pewna forma czynnika rozpadu, który osłabia starsze obserwacje. Dla danych dziennych, od 20 do 60 dni, dla danych tygodniowych może 1-2 lata, wszystko w zależności od potrzeb.

Należy pamiętać, że w przypadku globalnych rynków finansowych, gdzie dziesiątki lub setki tysięcy cen aktywów stale się zmieniają, jeden typowo nie można uruchomić macierzy kowariancji 100 000 w porównaniu do 100 000. Zamiast tego typowym przypadkiem jest uruchomienie analizy według kraju, sektora lub innych bardziej znaczących grup. Ewentualnie podziel zwrot według zestawu podstawowych czynników (wartość, wielkość, jakość, kredyt ....) i wykonaj na nich analizę PCA / kowariancji.

Niektóre fajne artykuły to dyskusja Attilio Meucciego na temat efektywnej liczby zakładów: http://papers.ssrn.com/sol3/papers.cfm?abstract_id=1358533

, a także Ledoit i Wolf's Honey zmniejszyłem przykładową macierz kowariancji http://www.math.umn.edu/~bemis/MFM/2014/spring/References/lw_shrinkage.pdf

Aby uzyskać finansowe wprowadzenie do stacjonarności, warto zacząć od Investopedia. To nie jest rygorystyczne, ale przekazuje główne pomysły.

Powodzenia!

EDYCJA: Oto 3-akcyjny przykład pokazujący Apple, Google i Dow Jones z codziennymi zwrotami do 2015 roku. Górny trójkąt pokazuje korelację zwrotu, dolny trójkąt pokazuje korelację cen.

Górna korelacja zwrotu trójkąta, dolna korelacja ceny trójkąta

Jak widać, Apple ma wyższą korelację cen z Dow (dolny lewy 0,76) niż korelacja zwrotna (górny prawy 0,66). Czego możemy się z tego nauczyć? Niewiele. Google ma ujemną korelację cen zarówno z Apple (-0,28), jak i Dow (-0,27). Ponownie niewiele z tego można się nauczyć. Jednak korelacje zwrotów mówią nam, że zarówno Apple, jak i Google mają dość wysoką korelację z Dow (odpowiednio 0,66 i 0,53). To mówi nam coś o wspólnej zmianie (zmianie ceny) aktywów w portfelu. To przydatna informacja.

Chodzi przede wszystkim o to, że chociaż korelację cen można równie łatwo obliczyć, nie jest to interesujące. Dlaczego? Ponieważ cena akcji nie jest sama w sobie interesująca. Cena zmiana jest jednak bardzo interesujące.


Czy możesz rozwinąć więcej w głównej części pytania, która dotyczy różnicy między stosowaniem cen a zwrotami? Rozumiem, że przy stosowaniu cen niestabilność będzie miała wpływ na macierz korelacji; np. jeśli wszystkie ceny wzrosną liniowo, wówczas wszystkie korelacje będą silnie dodatnie. Po pierwsze, dlaczego jest źle? W szczególności, biorąc pod uwagę, że Dow Jones jest zasadniczo średnią ceną i również wzrośnie (podobnie jak PC1). Po drugie, w jaki sposób wykorzystanie zwrotów powinno pomóc? „Zwroty” AFAIK są zarejestrowanymi stosunkami sąsiadujących punktów; dlaczego ma to znaczenie i jak jest powiązane z Dow Jones?
ameba

dziękuję za twoją pouczającą odpowiedź. Ale to nie odpowiada na moje pytanie. Chcę zrozumieć, dlaczego analiza ceny działa bardzo dobrze w przypadku zestawu danych w książce? A ameba zadała wiele ważnych pytań.
claudius

1
@claudius: Fakt, że ceny PCA dają coś podobnego do Dow Jones, czyli średniej ceny, wcale nie jest zaskakujący. Zastanawiam się raczej, dlaczego PCA na zwrotach zapewnia lepsze dopasowanie. Być może Jon będzie w stanie to wyjaśnić.
ameba

1
Nie sprawdzałem rzeczywistego kodu uruchomionego w ML dla hakerów, ale ilekroć ktoś mówi, że analizuje ceny, 99 razy na 100 to, co analizuje, to log-return. Na przykład dzisiaj Dow spadł o 162 punkty, podczas gdy Apple spadł o 0,88 dolara. Liczby są nie tylko bardzo różne, ale nawet w innej skali, punkty indeksowe vs pieniądze. Ale w ujęciu procentowym 0,91% i 0,75% są porównywalne, a liczby, z którymi chcesz pracować. W przypadku niektórych analiz dane można usunąć z trendów, odejmując średnią. W krótkoterminowych okresach finansowych jest to często ignorowane, przy założeniu braku trendu.
Jon Egil,

1
@amoeba, Aby (częściowo) odpowiedzieć na pytania postawione w komentarzach, zwroty są w przybliżeniu iid, podczas gdy ceny są w przybliżeniu przypadkowymi spacerami. Główne składniki mają swoje ładne właściwości przy założeniu obserwacji. Dlatego sensowne jest uruchamianie PCA zamiast zwrotów cen. Ruey S. Tsay argumentował za uruchomieniem PCA na pozostałościach z ekonometrycznych modeli finansowych szeregów czasowych, ponieważ zwykle przyjmuje się, że są to resztki, myślę, że może to zostać uwzględnione w jego podręczniku „Analiza wielowymiarowych szeregów czasowych z R i aplikacjami finansowymi”.
Richard Hardy,
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.