Autoregresywno ruchomy średni kod


Analiza serii czasowej statssystemsx zawiera klasę modelu i funkcje użyteczne w analizie szeregów czasowych. Obejmuje ona obecnie jednocyfrowe modele autoregresji (AR), modele autoregresji wektorowej (VAR) i jednowymiarowe, autoregresywne modele średniej ruchomej (ARMA). Zawiera również opisowe statystyki dla szeregów czasowych, na przykład autokorelację, częściową funkcję autokorelacji i periodogram, a także odpowiednie teoretyczne właściwości ARiMR lub powiązanych procesów. Obejmuje również metody pracy z autoregresywnymi i poruszającymi się wielomianami opóźnionymi. Dostępne są również testy statystyczne i niektóre przydatne funkcje pomocnicze. Oszacowanie dokonuje się za pomocą dokładnych lub warunkowych maksymalnych prawdopodobieństw lub warunkowych najmniejszych kwadratów, używając filtra Kalman lub filtrów bezpośrednich. Obecnie funkcje i klasy muszą być importowane z odpowiedniego modułu, ale główne klasy zostaną udostępnione w przestrzeni nazw statsmodels. tsa. Struktura modułu znajduje się w statsmodels. tsa to stattools. empiryczne właściwości i testy, acf, pacf, związek przyczynowo-skutkowy, próba korzeniowa jednostki adfina, test ljung-box i inne. armodel. jednoczynnikowy proces autoregresyjny, estymacja warunkowego i dokładnego maksymalnego prawdopodobieństwa oraz arimamodel warunkujący najmniej kwadratowy. jednoznaczny proces ARiMR, oszacowanie z warunkowego i dokładnego maksymalnego prawdopodobieństwa oraz wariantowe wektora najmniejszych kwadratów, var. modele estymacji procesów autoregresji wektora (VAR), analizę odpowiedzi impulsów, dekompozycje wariancji błędów prognoz i narzędzia kalmanfowania danych. klasy estymacji dla ARMA i innych modeli z dokładnym MLE przy użyciu sprężyny filtra Kalman. właściwości procesów arma z określonymi parametrami, zawiera narzędzia do konwersji między reprezentacją ARMA, MA i AR oraz acf, pacf, gęstość spektralną, funkcję odpowiedzi impulsów i podobne sandbox. tsa. fftarma. podobnie jak armaprocess, ale pracujących w tsatools w dziedzinie częstotliwości. dodatkowe funkcje pomocnika, tworzenie macierzy opóźnionych zmiennych, konstruowanie regresorów dla trendów, detrend i podobnych. filtry. funkcja pomocnicza dla szeregów czasowych filtrowania Niektóre dodatkowe funkcje użyteczne w analizie szeregów czasowych znajdują się w innych częściach modeli statystycznych, na przykład w dodatkowych testach statystycznych. Niektóre powiązane funkcje są również dostępne w matplotlib, nitime i scikits. talkbox. Funkcje te są bardziej przeznaczone do stosowania w przetwarzaniu sygnałów, w przypadku gdy dostępne są dłuższe szeregi czasowe i częściej pracują w dziedzinie częstotliwości. Statystyka statyczna i testy stattools. acovf (x, bezstronny, obojętny, fft) Autoregresywne ruchome średnie błędy (błędy ARMA) i inne modele, w których występują opóźnienia w błędach, można oszacować używając instrukcji FIT, symulowanych lub prognozowanych przy użyciu instrukcji SOLVE . Modele ARMA dla procesu błędów są często stosowane w modelach z autokorelacjami resztkowymi. Makro AR może być używane do określania modeli z procesami błędów autoregresji. Makro MA można używać do określania modeli z ruchomymi średnimi błędami. Błędy autoregresji Model z błędami autoregresyjnymi pierwszego rzędu, AR (1), ma postać, podczas gdy proces usterki AR (2) ma formę i tak dalej dla procesów wyższego rzędu. Zauważmy, że s są niezależne i identyczne, a ich oczekiwana wartość wynosi 0. Przykład modelu z elementem AR (2) jest dla tak zwanych procesów wyższego rzędu. Na przykład można napisać prosty model regresji liniowej z błędami średnie MA (2), ponieważ MA1 i MA2 są parametrami średniej ruchomej. Zauważ, że funkcja RESID. Y jest automatycznie definiowana przez PROC MODEL, ponieważ w modelach MA używana jest funkcja ZLAG do obcinania rekursji opóźnień. Zapewnia to, że opóźnione błędy zaczynają się od zera w fazie zalegania i nie propagują brakujących wartości, gdy brakuje zmiennych z okresu lagowania, i zapewnia, że ​​przyszłe błędy są zero, a nie brakuje podczas symulacji lub prognozowania. Szczegółowe informacje na temat funkcji opóźnienia można znaleźć w sekcji Lag Logic. Model ARMA (p, q) może mieć następującą postać: Model ARMA (p, q) można określić w następujący sposób: gdzie ARi i MA j reprezentują parametry autoregresji i ruchome-średnie dla różnych opóźnień. Możesz użyć dowolnych nazw dla tych zmiennych i istnieje wiele równoważnych sposobów, w jaki może być napisana specyfikacja. Procesy ARMA wektora można również oszacować za pomocą modelu PROC MODEL. Na przykład dwa zmienne procedury AR (1) dotyczące błędów dwóch zmiennych endogennych Y1 i Y2 można określić w następujący sposób: Problemy z konwergencją z modelami ARiMR Modele ARMA mogą być trudne do oszacowania. Jeśli szacunkowe parametry nie znajdują się w odpowiednim zakresie, wzrastające wykładniczo wzory ruchome średnioroczne wzrastają. Obliczone reszty dla późniejszych obserwacji mogą być bardzo duże lub mogą przepełnić. Może się tak zdarzyć, ponieważ użyto niewłaściwych wartości początkowych lub dlatego, że iteracje oddalały się od rozsądnych wartości. Należy zachować ostrożność przy wybieraniu wartości początkowych dla parametrów ARMA. Wartości wyjściowe równe 0,001 dla parametrów ARMA zazwyczaj działają, jeśli model pasuje dobrze do danych, a problem jest dobrze przygotowany. Zauważ, że model MA można często przybliżyć za pomocą modelu wysokiej klasy AR i vice versa. Może to powodować wysoką współliniowość w mieszanych modelach ARMA, co z kolei może powodować poważne złe warunki w obliczeniach i niestabilność szacunków parametrów. Jeśli występują problemy z konwergencją podczas szacowania modelu z procesami błędów ARMA, spróbuj oszacować w krokach. Najpierw użyj instrukcji FIT, aby oszacować tylko parametry strukturalne przy zachowaniu parametrów ARMA na zero (lub do rozsądnych wcześniejszych szacunków, jeśli są dostępne). Następnie użyj innej instrukcji FIT, aby oszacować tylko parametry ARMA, używając wartości parametrów strukturalnych z pierwszego uruchomienia. Ponieważ wartości parametrów strukturalnych prawdopodobnie zbliżą się do ich ostatecznych szacunków, szacunkowy parametr ARMA może się teraz zbiegać. Na koniec użyj innej instrukcji FIT w celu uzyskania równoczesnych oszacowań wszystkich parametrów. Ponieważ początkowe wartości parametrów mogą być dość zbliżone do ich ostatecznych wspólnych szacunków, szacunki powinny się szybko zbiegać, jeśli model jest odpowiedni dla danych. Warunki początkowe AR Początkowy okres opóźnienia błędów w modelach AR (p) można modelować na różne sposoby. Metody autoregresywnego uruchamiania błędów obsługiwane przez procedury SASETS są następujące: procedury najmniejszych kwadratów warunkowych (procedury ARIMA i MODEL) bezwarunkowe najmniejsze kwadraty (procedury AUTOREG, ARIMA i MODEL) maksymalne prawdopodobieństwo (procedury AUTOREG, ARIMA i MODEL) Yule-Walker (AUTOREG tylko procedura) Hildreth-Lu, która usuwa pierwsze obserwacje (tylko procedura MODEL) Zobacz rozdział 8, procedura AUTOREG, aby wyjaśnić i omówić zalety różnych metod uruchamiania AR (p). Inicjacje CLS, ULS, ML i HL mogą być wykonywane przez PROC MODEL. W przypadku błędów AR (1) te inicjalizacje można wyprodukować, jak pokazano w tabeli 18.2. Metody te są równoważne w dużych próbkach. Tabela 18.2 Inicjalizacja przeprowadzona przez PROC MODEL: AR (1) BŁĘDY Początkowe opóźnienia w błędach modeli MA (q) można również modelować na różne sposoby. Poniższe paradygmaty uruchamiania błędów ruchomych średnich są obsługiwane przez procedury ARIMA i MODEL: bezwarunkowe najmniejsze kwadraciki warunkowe najmniejszych kwadratów Metoda najmniejszych kwadratów warunku najmniejszych kwadratów jest nie optymalna, ponieważ ignoruje problem uruchamiania. Zmniejsza to wydajność szacunków, chociaż pozostają one bezstronne. Początkowa zalegająca reszta, rozciągająca się przed rozpoczęciem danych, przyjmuje się jako 0, ich bezwarunkową oczekiwaną wartość. Wprowadza to różnicę pomiędzy tymi resztami a uogólnionymi resztami najmniejszych kwadratów dla ruchomą średnią kowariancją, która w przeciwieństwie do modelu autoregresji utrzymuje się przez zestaw danych. Zwykle ta różnica szybko się zbieżna z wartością 0, ale w przypadku niemal niezmiennych ruchomej średniej procesów konwergencja jest dość powolna. Aby zminimalizować ten problem, powinieneś mieć mnóstwo danych, a szacunkowe średnie ruchome parametry powinny być dobrze w zakresie odwrócenia. Ten problem można rozwiązać kosztem napisania bardziej złożonego programu. Można bezwzględnie określić najmniejsze kwadraty dla procesu MA (1), określając następujący model: Ruchome średnie błędy mogą być trudne do oszacowania. Powinieneś rozważyć zastosowanie aproksymacji AR (p) do średniej ruchomości. Ruchome przeciętne proces może być dobrze przybliżone procesem autoregresji, jeśli dane nie zostały wygładzone lub zróżnicowane. AR Makro SAS makro AR generuje instrukcje programowania dla modelu PROC MODEL dla modeli autoregresji. Makro AR jest częścią oprogramowania SASETS i nie trzeba ustawiać specjalnych opcji, aby używać makra. Proces autoregresji może być zastosowany do błędów równań strukturalnych lub samej serii endogennych. Makro AR może być użyte do następujących typów autoregresji: nieograniczona autoregresja wektorowa autoregresja wektorowa Jednorodna autoregresja Aby obliczyć wynik błędu równania jako proces autoregresji, użyj następującej instrukcji po równaniu: Na przykład załóżmy, że Y jest liniową funkcję X1, X2 i błąd AR (2). Piszesz ten model w następujący sposób: Połączenia z AR muszą pochodzić po wszystkich równaniach stosowanych w procesie. Poprzednia makra wywołania, AR (y, 2), generuje instrukcje pokazane na wyjściu LIST na rysunku 18.58. Rysunek 18.58 Wyjście opcji LIST dla modelu AR (2) Zmienne prefiksowane PRED są zmiennymi tymczasowymi programu, tak że zwłoki pozostałości są prawidłowymi resztami, a nie tymi, które zostały ponownie zdefiniowane przez to równanie. Należy zauważyć, że jest to równoważne oświadczeniach wyraźnie napisanych w sekcji Ogólne formularze dla modeli ARMA. Można również ograniczyć parametry autoregresji do zera przy wybranych opóźnieniach. Na przykład, jeśli chcesz, aby parametry autoregresji były opóźnione w wersjach 1, 12 i 13, możesz użyć następujących stwierdzeń: Te instrukcje generują dane wyjściowe pokazane na rysunku 18.59. Rysunek 18.59 Wyjście opcji LIST dla modelu AR z opóźnieniami 1, 12 i 13 WZÓR PROCEDURY ZAKOŃCZENIOWANIA SKŁADNIAJĄCEJ KODEJ KREŚCINY Z PROGRAMU PRED. yab x1 c x2 RESID. y PRED. y - BRAK PRZEWODNICZĄCY. y - y OLDPRED. y PRED. y yl1 ZLAG1 (y - perdy) yl12 ZLAG12 (y - perdy) yl13 ZLAG13 (y - perdy) RESID. y PRED. y - ACTUAL. y ERROR. y PRED. y - y Istnieją wariantów warunkowej metody najmniejszych kwadratów, w zależności od tego, czy obserwacje na początku serii są wykorzystywane do nagrzewania procesu AR. Domyślnie metoda warunku najmniejszych kwadratów AR wykorzystuje wszystkie obserwacje i przyjmuje zera dla początkowych opóźnień w terminach autoregresji. Korzystając z opcji M, możesz zażądać, aby AR używała bezwarunkowej metody najmniejszych kwadratów (ULS) lub maksymalnego prawdopodobieństwa (ML). Na przykład omówienie tych metod znajduje się w części AR Warunki początkowe. Korzystając z opcji MCLS n, możesz poprosić o użycie pierwszych n obserwacji do obliczania szacunków początkowych opóźnień autoregresji. W tym przypadku analiza rozpoczyna się od obserwacji n 1. Na przykład: za pomocą makra AR można zastosować model autoregresji do zmiennej endogennej zamiast do terminu błędów, używając opcji TYPEV. Na przykład, jeśli chcesz dodać pięć ostatnich opóźnień Y do równania z poprzedniego przykładu, możesz użyć AR, aby wygenerować parametry i opóźnienia, używając następujących stwierdzeń: Powyższe oświadczenia generują dane wyjściowe pokazane na rysunku 18.60. Rysunek 18.60 Wyjście opcji LIST dla modelu AR Y Model ten przewiduje Y jako kombinację liniową X1, X2, przecięcia i wartości Y w ostatnich pięciu okresach. Nieobciążone autoregresją wektora Aby wyliczyć warunki błędów zestawu równań jako procesu autoregresji wektora, użyj następującej postaci makra AR po równaniach: wartość parametru procesu jest dowolną nazwą podawaną przez AR w celu utworzenia nazw dla autoregresji parametrów. Możesz użyć makra AR do modelowania kilku różnych procesów AR dla różnych zestawów równań przy użyciu różnych nazw procesów dla każdego zestawu. Nazwa procesu zapewnia, że ​​użyte nazwy zmiennych są unikatowe. Użyj krótkiej wartości procesu dla procesu, jeśli szacunki parametrów mają zostać zapisane w zestawie danych wyjściowych. Makra AR próbują skonstruować nazwy parametrów mniej niż lub równe ośmiu znaków, ale jest to ograniczone długością nazwy procesu. który jest używany jako prefiks dla nazw parametrów AR. Wartością variablelist jest lista zmiennych endogennych dla równań. Załóżmy na przykład, że błędy dla równań Y1, Y2 i Y3 są generowane przez autoregresywny wektor wektora drugiego rzędu. Możesz użyć następujących stwierdzeń: generujących następujące informacje dla Y1 i podobnego kodu dla Y2 i Y3: W procesach wektorowych można używać tylko metody warunku najmniejszych kwadratów (MCLS lub MCLS n). Możesz również użyć tego samego formatu z ograniczeniami, że współczynnik matrycy wynosi 0 przy wybranych opóźnieniach. Na przykład poniższe instrukcje stosują proces wektora z rzędu trzeciego do błędów równa ze wszystkimi współczynnikami z opóźnieniem 2 ograniczonym do 0, a współczynniki z opóźnieniami 1 i 3 nieograniczone: można modelować trzy serie Y1Y3 jako proces autoregresji wektorowej w zmiennych zamiast w błędach przy użyciu opcji TYPEV. Jeśli chcesz modelować Y1Y3 w funkcji wcześniejszych wartości Y1Y3 i niektórych zewnętrznych zmiennych lub stałych, możesz użyć AR, aby wygenerować instrukcje dotyczące terminów opóźnień. Napisz równanie dla każdej zmiennej dla nonautoregressive części modelu, a następnie wywołaj AR z opcją TYPEV. Na przykład, nonautoreresywna część modelu może być funkcją zmiennych egzogennych lub może być przechwytywanie parametrów. Jeśli nie istnieją egzogenne składniki modelu autoregresji wektora, w tym żadne przechwyty, następnie przypisaj zero każdej zmiennej. Przed wywołaniem AR musi być przypisane do każdej zmiennej. Ten przykład ilustruje wektor Y (Y1 Y2 Y3) jako funkcję liniową tylko w dwóch poprzednich okresach i białego szablonu błędu. Model ma 18 (3 3 3 3) parametry. Składnia AR Macro Są dwa przypadki składni makra AR. Gdy ograniczenia dotyczące procesu AR w wektorze nie są potrzebne, składnia makra AR ma ogólną formę określa przedrostek AR dla użycia w konstruowaniu nazw zmiennych potrzebnych do zdefiniowania procesu AR. Jeśli endolista nie zostanie określony, lista dominikańska będzie niewłaściwa. która musi być nazwą równania, do którego ma zostać zastosowany proces błędu AR. Wartość nazwy nie może przekraczać 32 znaków. jest kolejność procesu AR. określa listę równań, do których ma być zastosowany proces AR. Jeśli podano więcej niż jedno imię, tworzony jest nieograniczony proces wektora z resztkami strukturalnymi wszystkich równań włączonych jako regresory w każdym z równań. Jeśli nie podano inaczej, endoliczne nazwy domyślne. określa listę opóźnień, w których mają być dodawane AR terminy. Współczynniki terminów w przypadku opóźnień nie wymienionych na liście są ustawione na 0. Wszystkie wymienione lagi muszą być mniejsze lub równe nlag. i nie ma duplikatów. Jeśli nie określono, lista opóźnień domyślnie przyjmuje wszystkie opóźnienia od nlag. określa metodę estymacji do wdrożenia. Prawidłowe wartości M to CLS (szacunkowe najmniejsze kwadraty warunkowe), ULS (bezwarunkowe najmniejsze kwadraty) i ML (szacunki maksymalnego prawdopodobieństwa). MCLS jest domyślnym. Dopuszcza się tylko MCLS, jeśli podano więcej niż jedno równanie. Metody ULS i ML nie są obsługiwane przez modele AR AR. określa, że ​​proces AR powinien być zastosowany do samych zmiennych endogennych zamiast do strukturalnych resztek równań. Ograniczenie autoregresji wektora Można kontrolować, które parametry są zawarte w procesie, ograniczając do 0 tych parametrów, których nie uwzględniono. Najpierw użyj AR z opcją DEFER, aby zadeklarować listę zmiennych i zdefiniować wymiar procesu. Następnie użyj dodatkowych wywołań AR, aby wygenerować terminy dla wybranych równań z wybranymi zmiennymi w wybranych opóźnieniach. Na przykład: Otrzymane równania błędów są następujące: model ten stwierdza, że ​​błędy Y1 zależą od błędów zarówno Y1, jak i Y2 (ale nie Y3) w obu przypadkach 1 i 2 oraz że błędy Y2 i Y3 zależą od poprzednie błędy dla wszystkich trzech zmiennych, ale tylko w punkcie opóźnienia 1. AR Makro Syntakty dla Ograniczonej Wektorowej AR Alternatywne użycie AR może być nałożone na ograniczenia w procesie AR wektora, dzwoniąc do AR kilkakrotnie, aby określić różne terminy i opóźnienia AR dla różnych równania. Pierwsze wywołanie ma postać ogólną określającą przedrostek dla AR do wykorzystania w konstruowaniu nazw zmiennych potrzebnych do zdefiniowania procesu AR w wektorze. określa kolejność procesu AR. określa listę równań, do których ma być zastosowany proces AR. określa, że ​​AR nie ma generować procesu AR, ale oczekuje na dalsze informacje określone w późniejszych wywołaniach AR dla tej samej wartości. Kolejne połączenia mają ogólny kształt jest taki sam jak w pierwszym wywołaniu. określa listę równań, do których mają być stosowane specyfikacje w tym wywołaniu AR. Tylko nazwy wymienione w wartości endolistycznej pierwszego wywołania wartości nazwy mogą pojawić się na liście równań w eqlist. określa listę równań, których zaległe pozostałości strukturalne mają być włączone jako regresory w równaniach w eqlist. Mogą pojawić się tylko nazwy w endolistze pierwszego wywołania wartości nazwy. Jeśli nie określono, domyślne wartości domyślne dla listy endolistów. określa listę opóźnień, w których mają być dodawane AR terminy. Współczynniki terminów w przypadku opóźnień nie wymienionych na liście są ustawione na 0. Wszystkie wymienione opóźnienia muszą być mniejsze lub równe wartości nlag. i nie ma duplikatów. Jeśli nie podano inaczej, domyślne opóźnienie dla wszystkich opóźnień od 1 do nlag. Macro Makro Makro SAS generuje instrukcje programowania dla modelu PROC MODEL dla modeli średniej wielkości. Makro MA jest częścią oprogramowania SASETS, a nie jest wymagane specjalne zastosowanie makra. Proces przenoszenia średniej błędów może być zastosowany do błędów równań strukturalnych. Składnia makra MA jest taka sama jak makra AR, z wyjątkiem argumentu TYPE. Podczas korzystania z połączonych makr MA i AR makra MA należy postępować zgodnie z makrem AR. Następujące instrukcje SASIML powodują proces błędu ARMA (1, (1 3)) i zapisują go w zestawie danych MADAT2. Następujące instrukcje PROC MODEL są używane do oszacowania parametrów tego modelu przy użyciu struktury maksimum prawdopodobieństwa: Szacunki parametrów generowanych przez ten bieg są pokazane na rysunku 18.61. Rysunek 18.61 Szacunki z ARMA (1, (1 3)) Proces Jest dwa przypadki składni dla makra MA. Gdy nie ma potrzeby ograniczeń w procesie MA wektora, składnia makra MA ma ogólną postać określa przedrostek MA, który ma być użyty do konstruowania nazw zmiennych potrzebnych do zdefiniowania procesu MA i jest domyślnym endolistem. jest kolejność procesu MA. określa równania, do których ma zostać zastosowany proces MA. Jeśli podano więcej niż jedno imię, estymacja CLS jest używana w procesie wektora. określa opóźnienia, po upływie których mają zostać dodane warunki MA. Wszystkie wymienione opóźnienia muszą być mniejsze lub równe nlag. i nie ma duplikatów. Jeśli nie określono, lista opóźnień domyślnie przyjmuje wszystkie opóźnienia od nlag. określa metodę estymacji do wdrożenia. Prawidłowe wartości M to CLS (szacunkowe najmniejsze kwadraty warunkowe), ULS (bezwarunkowe najmniejsze kwadraty) i ML (szacunki maksymalnego prawdopodobieństwa). MCLS jest domyślnym. Dopuszcza się tylko MCLS, jeśli w endolistze podano więcej niż jedno równanie. MA Makro Syntakty dla ograniczonego ruchu wektora średniego Alternatywne użycie MA może nałożyć ograniczenia na proces wektora MA przez kilkakrotne wywołanie MA w celu określenia różnych terminów i opóźnień MA dla różnych równań. Pierwsze wywołanie ma ogólny formularz określający przedrostek dla MA do wykorzystania w konstruowaniu nazw zmiennych potrzebnych do zdefiniowania procesu MA wektora. określa kolejność procesu MA. określa listę równań, do których ma być zastosowany proces MA. że MA nie ma generować procesu MA, ale oczekuje na dalsze informacje określone w późniejszych wywołaniach MA dla tej samej wartości nazwy. Kolejne połączenia mają ogólny kształt jest taki sam jak w pierwszym wywołaniu. określa listę równań, do których mają być stosowane specyfikacje w tym poddziale MA. określa listę równań, których zaległe pozostałości strukturalne mają być włączone jako regresory w równaniach w eqlist. (p, q) Modele do analizy serii czasowej - część 1 W ostatnim artykule przyjrzeliśmy się losowym chodzeniom i białemu hałasowi jako podstawowe modele czasów szeregowych dla niektórych instrumentów finansowych, takich jak codzienne indeksy akcji i indeksy akcji. Odkryliśmy, że w niektórych przypadkach model losowego spaceru był niewystarczający do uchwycenia pełnego zachowania autokorelacji instrumentu, co motywuje bardziej wyrafinowane modele. W następnych kilku artykułach omówimy trzy typy modelu, a mianowicie model Autoregresji (AR) rzędu p, Model Ruchowej Średniej Średnicy (MA) q oraz mieszany model ARM (Algomous Moving Average) dla p , q. Te modele pomogą nam spróbować przechwycić lub wyjaśnić więcej korelacji szeregowej obecnej w instrumencie. Ostatecznie dostarczą nam środków przewidywania przyszłych cen. Jednak dobrze wiadomo, że szereg czasów finansowych posiada własność znaną jako klasteryzacja zmienności. Oznacza to, że zmienność instrumentu nie jest stała w czasie. Określenie techniczne tego zachowania jest znane jako warunkowa heteroskedastyczność. Ponieważ modeli AR, MA i ARMA nie są warunkowo heteroskedastyczne, tzn. Nie biorą pod uwagę klastrowania zmienności, ostatecznie będziemy potrzebować bardziej wyrafinowanego modelu naszych przewidywań. Modele takie obejmują model Autogressive Conditioner Heteroskedastic (ARCH) oraz uogólniony model Autogressive Conditioner Heteroskedastic (GARCH) oraz wiele jego wariantów. GARCH jest szczególnie dobrze znany w dziedzinie finansów kwantowych i jest wykorzystywany przede wszystkim do symulacji czasowych finansowych finansowych jako środka oceny ryzyka. Jednak podobnie jak w przypadku wszystkich artykułów QuantStart chcę zbudować te modele z prostszych wersji, dzięki czemu możemy zobaczyć, jak każdy nowy wariant zmienia nasza zdolność przewidywania. Pomimo faktu, że AR, MA i ARMA są stosunkowo prostymi modelami serii czasowych, są one podstawą bardziej skomplikowanych modeli, takich jak autonomiczna średnia ruchoma (ARIMA) i rodzina GARCH. Dlatego ważne jest, abyśmy je badali. Jedną z naszych pierwszych strategii handlowych w serii artykułów z serii czasowych będzie łączenie ARIMA i GARCH w celu przewidywania cen n okresów wcześniej. Jednak musimy poczekać, aż będziemy dyskutować zarówno na temat ARIMA, jak i GARCH oddzielnie, zanim zastosujemy je do prawdziwej strategii. W jaki sposób będziemy kontynuować W tym artykule zamierzamy przedstawić kilka nowych koncepcji serii czasowych, które potrzebują pozostałych metod, a mianowicie ściśle stacjonarności i kryterium informacyjnego Akaike (AIC). Po tych nowych koncepcjach będziemy śledzić tradycyjny wzór studiów nad nowymi modelami serii czasowych: Uzasadnienie - pierwszym zadaniem jest dostarczenie powody, dla którego interesował się konkretnym modelem jako quants. Dlaczego wprowadzamy model serii czasowej Jakie efekty można uchwycić Co zyskujemy (lub zgubimy) przez dodanie większej złożoności Definicja - musimy dostarczyć pełnej definicji matematycznej (i powiązanej notacji) modelu szeregu czasowego, aby zminimalizować jakiejkolwiek niejednoznaczności. Właściwości drugiego zamówienia - omówimy (aw niektórych przypadkach) właściwości drugiego rzędu modelu szeregów czasowych, który zawiera średnią, jej odchylenie i funkcję autokorelacji. Korelogram - Użyjemy właściwości drugiego rzędu, aby wykreślić korelogram realizacji modelu szeregów czasowych w celu wizualizacji jego zachowania. Symulacja - będziemy symulować realizację modelu serii czasowej, a następnie dopasować model do tych symulacji, aby zapewnić dokładne implementacje i zrozumieć proces dopasowywania. Prawdziwe dane finansowe - dopasujemy model serii czasowej do rzeczywistych danych finansowych i rozważmy korelikę reszt, aby zobaczyć, jak model stanowi korelację szeregową w pierwotnej serii. Przewidywanie - opracujemy prognozy n-krokowe modelu szeregów czasowych dla poszczególnych realizacji, aby ostatecznie wytworzyć sygnały handlowe. Prawie wszystkie artykuły, które piszę w modelach serii czasowych, wpuszczą się w ten wzorzec i pozwolą nam łatwo porównać różnice między każdym modelem, gdy dodajemy kolejną złożoność. Zaczęlibyśmy patrząc na ścisłą stacjonarność i AIC. Ściśle stacjonarne Dostarczamy definicji stacjonarności w artykule o korelacji szeregowej. Ponieważ jednak wejdziemy w sferę wielu serii finansowych, z różnymi częstotliwościami, musimy zadbać o to, aby nasze (ewentualnie) modele uwzględniały zmieniającą się w czasie zmienność tych serii. W szczególności musimy rozważyć ich heteroskedastyczność. Rozwiążemy ten problem, próbując dopasować niektóre modele do serii historycznych. Ogólnie rzecz biorąc, nie wszystkie korelacje szeregowe w resztach zamontowanych modeli można rozliczyć bez uwzględnienia heteroskedastyczności. Powoduje to powrót do stacjonarności. Seria nie jest stacjonarna w wariancji, jeśli ma zmienną zmienność w czasie. To motywuje bardziej rygorystyczną definicję stacjonarności, a mianowicie ścisłej stacjonarności: ścisła stacjonarna seria serii A, jest stacjonarna, jeśli wspólny rozkład statystyczny elementów x, ldots, x jest taki sam jak xm, ldots, xm, forall ti, m. Można myśleć o tej definicji tak po prostu, że rozkład szeregów czasowych jest niezmieniony w przypadku dowolnego przeskoku w czasie. W szczególności średnia i wariacja są stałe w czasie dla ściśle nieruchomej serii, a autokoromiarność pomiędzy xt i xs (powiedzmy) zależy tylko od absolutnej różnicy t i s, t-s. W przyszłych postach będziemy przeglądać stacjonarne serie. Kryterium informacyjne Akaike Wspomniałem w poprzednich artykułach, że musimy rozważyć, jak wybrać między osobnymi najlepszymi modelami. Dotyczy to nie tylko analizy serii czasowej, ale także nauki maszynowe, a szerzej - statystyki w ogóle. Dwie główne metody, które wykorzystamy (na razie), to Akaike Information Criterion (AIC) i Bayesian Information Criterion (w miarę postępów w naszych artykułach na temat statystyki Bayesiana). Cóż, krótko rozważyć AIC, ponieważ będzie to używane w części 2 artykułu ARiMR. AIC jest zasadniczo narzędziem wspomagającym dobór modelu. Oznacza to, że jeśli mamy wybór modeli statystycznych (w tym serii czasowych), to AIC szacuje jakość każdego modelu w stosunku do pozostałych, które są dostępne. Opiera się na teorii informacji. co jest bardzo interesujące, głęboki temat, niestety nie możemy przejść zbyt wiele szczegółów. Próbuje zrównoważyć złożoność modelu, który w tym przypadku oznacza liczbę parametrów, jak dobrze pasuje do danych. Pozwala podać definicję: Kryterium informacyjne Akaike Jeśli weźmiemy funkcję prawdopodobieństwa dla modelu statystycznego, który ma k parametry, a L zmaksymalizuje prawdopodobieństwo. to Akaike Information Criterion jest podawany przez: Preferowany model, z wybranych modeli, zawiera minium AIC grupy. Można zauważyć, że AIC wzrasta wraz z liczbą parametrów, k, wzrasta, ale jest zmniejszona, jeśli ujemne prawdopodobieństwo logowania wzrasta. Zasadniczo penalizuje modele, które są nadmierne. Będziemy tworzyć modele AR, MA i ARMA różnych zamówień i jednym ze sposobów na wybranie najlepszego modelu dopasowanego do konkretnego zestawu danych jest użycie AIC. To dobrze, co robimy w następnym artykule, głównie w modelach ARMA. Modele autoregresji (AR) Modele porządku p Pierwszy model rozważany, będący podstawą części 1, jest autoregresywnym modelem porządku p, często skróconym do AR (p). W poprzednim artykule rozważaliśmy losowy chód. gdzie każdy termin, xt jest zależny wyłącznie od poprzedniego określenia, x i stochastycznego białego szumu, wt: model autoregresji jest po prostu rozszerzeniem losowego chodu, który zawiera terminy z czasem w czasie. Struktura modelu jest liniowa. to jest model zależny liniowo od poprzednich warunków, z współczynnikami dla każdej kadencji. To właśnie tam regresywny pochodzi z autoregresji. Jest to zasadniczo model regresji, w którym poprzednie predykaty są czynnikami predykcyjnymi. Autoregresywny Model zamawiania p Model serii czasowej,, jest autoregresywnym modelem zamówienia s. AR (p), jeśli: rozpocznij xt alfa1 x ldoty alfa x suma p alai x koniec wagi Gdzie białe szumy i alfa w mathbb, z alfabetem neq 0 dla autoregresji z kolejnością p. Jeśli weźmiemy pod uwagę Operatora Przesuwania Wstecznego. (patrz poprzedni artykuł) możemy następnie przepisać powyższe jako funkcję theta: begin thetap () xt (1 - alpha1 - alpha2 2 - ldots - alphap) xt wt end Może być pierwszą rzeczą, jaką należy zwrócić uwagę na model AR (p) jest to, że przypadkowy chód po prostu jest AR (1), a alfa1 równy jedności. Jak wspomniano powyżej, model autogresyjny jest przedłużeniem losowego chodu, więc ma to sens. Łatwo jest przewidzieć model AR (p), na dowolny czas t, jak raz ustalamy współczynniki alfa, nasz szacunek po prostu staje się: start hat t alpha1 x ldots alphap x end W związku z tym możemy dokonać n-step ahead prognozy poprzez produkcję hat t, kapelusz, kapelusz itp. do kapelusza. W rzeczywistości, gdy weźmiemy pod uwagę modele ARMA w części 2, użyjemy funkcji prognozowania R do tworzenia prognoz (wraz z standardowymi przedziałami ufności błędów), które pomogą nam w produkcji sygnałów handlowych. Stacjonarność dla procesów autoregresyjnych Jednym z najważniejszych aspektów modelu AR (p) jest to, że nie zawsze stacjonuje. Rzeczywiście stacjonarność danego modelu zależy od parametrów. Ive dotknął tego przed w poprzednim artykule. Aby ustalić, czy proces AR (p) jest nieruchomy, czy nie, musimy rozwiązać równanie charakterystyczne. Równanie charakterystyczne jest po prostu modelem autoregresji, zapisanym w formie przesunięcia wstecznego, ustawionym na zero: rozwiązujemy to równanie. Aby proces autoregresji stał się nieruchoma, potrzebujemy wszystkich absolutnych wartości korzeni tego równania, aby przekroczyć jedność. Jest to bardzo użyteczna własność i pozwala nam szybko obliczyć, czy proces AR (p) jest nieruchomy, czy nie. Rozważmy kilka przykładów, aby ten pomysł był konkretny: Random Walk - proces AR (1) z alfa1 ma charakterystyczny równanie theta 1 -. Jest oczywiste, że ma korzeń 1 i jako taki nie jest stacjonarny. AR (1) - Jeśli wybierzemy alfa1 frac otrzymamy xt frac x wt. Daje to nam charakterystyczny równanie 1-frac 0, który ma korzeń 4 gt 1, a więc ten szczególny proces AR (1) jest nieruchome. AR (2) - Jeśli ustawimy alpha1 alfa2frac otrzymamy xt frac x frac x wt. Jego charakterystyczne równanie staje się - frac () () 0, co daje dwa korzeni 1, -2. Ponieważ ma korpus jednostkowy, jest to niestacjonarne serie. Jednak inne serie AR (2) mogą być nieruchome. Właściwości drugiego zamówienia Średnia wartość procesu AR (p) wynosi zero. Autokomisy i autokorelacje są jednak podawane przez funkcje rekurencyjne, znane jako równanie Yule-Walker. Pełne właściwości podano poniżej: begin mux E (xt) 0 begin begin gammak sum p alphai gamma, enspace k 0 end begin rhok sum p alphai rho, enspace k 0 end Pamiętaj, że przed wartością parametru alphai konieczne jest znać parametry alfa obliczanie autokorelacji. Teraz, gdy stwierdziliśmy, że właściwości drugiego rzędu możemy symulować różne rzędy AR (p) i sprecyzować odpowiadające im reguły. Symulacje i korelogramy Zaczynamy od procesu AR (1). Jest to podobne do losowego chodu, z tym że alfa1 nie musi być równa jedności. Nasz model będzie miał alpha1 0,6. Kod R do utworzenia tej symulacji jest następujący: Zauważ, że nasz pętli for jest wykonywany od 2 do 100, a nie od 1 do 100, jako xt-1, gdy t0 nie jest indeksowalny. Podobnie w przypadku procesów AR (p) wyższego rzędu, t w pętli musi wynosić od p do 100. Możemy sprecyzować realizację tego modelu i jego związanego z nim korplamtu za pomocą funkcji układu: teraz spróbujmy dopasować proces AR (p) do symulowanych danych, które właśnie wygenerowaliśmy, aby sprawdzić, czy możemy odzyskać podane parametry. Można sobie przypomnieć, że przeprowadziliśmy podobną procedurę w artykule dotyczącym białego szumu i losowych spacerów. Jak się okazuje, R dostarcza użytecznych komend do dopasowywania modeli autoregresji. Możemy użyć tej metody, aby najpierw powiedzieć nam najlepszą kolejność modelu (określoną przez AIC powyżej) i podać nam szacunki parametrów alfa, które można następnie wykorzystać do utworzenia przedziałów ufności. Dla kompletności, powtórzmy serię x: Teraz używamy komendy ar, aby dopasować model autoregresji do naszego symulowanego procesu AR (1), przy zastosowaniu metody MLE (maksymalnej oceny prawdopodobieństwa) jako procedury dopasowania. Najpierw wyodrębnimy najlepszy uzyskany rozkaz: komenda ar z powodzeniem określiła, że ​​nasz model szeregów czasowych jest procesem AR (1). Następnie możemy uzyskać szacunki parametrów alfanumerycznych: procedura MLE wyprowadziła szacunkowy, kapelusz 0.523, który jest nieco niższy niż prawdziwa wartość alfa1.6. Wreszcie, możemy użyć standardowego błędu (z asymptotyczną odmianą) w celu skonstruowania 95 przedziałów ufności wokół podstawowego parametru (ów). Aby to osiągnąć, po prostu utworzymy wektor c (-1.96, 1.96), a następnie pomnoż go przez błąd standardowy: Prawidłowy parametr wchodzi w zakres 95 przedziału ufności, ponieważ wed oczekuje od faktu, że wygenerowaliśmy realizację z modelu konkretnie . Jeśli chodzi o zmianę alfa1 -0.6 Tak jak wcześniej możemy dopasować model AR (p) przy użyciu ar: Po raz kolejny odzyskamy prawidłową kolejność modelu, z bardzo dobrym szacunkiem kapelusz -0.597 z alfa1-0.6. Widzimy również, że prawdziwy parametr mieści się ponownie w przedziale ufności 95. Dodać trochę bardziej złożoności do naszych procesów autoregresji poprzez symulowanie modelu porządku 2. W szczególności ustawimy wartość alfa10.666, ale również ustawimy alpha2 -0.333. Jest to pełny kod do symulacji i plotowania realizacji, a także korespondencji w takich seriach: jak wcześniej widać, że koreltrram różni się znacznie od białego szumu, jak się spodziewamy. Istnieją statystycznie znaczące piki w k1, k3 i k4. Jeszcze raz użyjemy komendy ar do dopasowania modelu AR (p) do naszej podstawowej AR (2) realizacji. Procedura jest podobna jak w przypadku dopasowania AR (1): poprawna kolejność została odzyskana, a parametr szacuje kapelusz 0.696 i kapelusz -0.395 nie są zbyt daleko od prawdziwych wartości parametrów alfa10.666 i alpha2-0.333. Zauważ, że otrzymujemy komunikat ostrzegawczy o konwergencji. Zwróć uwagę, że R faktycznie wykorzystuje funkcję arima0 do obliczania modelu AR. W kolejnych artykułach modele AR (p) są po prostu modelami ARIMA (p, 0, 0), a zatem model AR jest szczególnym przypadkiem ARIMA bez składnika Moving Average (MA). Również użyj komendy arima do tworzenia przedziałów ufności wokół wielu parametrów, dlatego nie przejmuj się tutaj. Teraz, gdy stworzyliśmy kilka symulowanych danych, nadszedł czas, aby zastosować modele AR (p) do serii czasowych aktywów finansowych. Dane finansowe Amazon Inc Zacznij od uzyskania ceny akcji Amazon (AMZN) przy użyciu quantmod jak w ostatnim artykule: Pierwszym zadaniem jest zawsze spiskować cenę za krótką wizualną inspekcję. W tym przypadku korzystając z codziennych cen zamknięcia: zauważysz, że kwant modyfikuje dla nas trochę formatowania, a mianowicie datę i nieco ładniejszy wykres niż zwykłe wykresy R: teraz będziemy przyjmować logarytmiczne zwroty AMZN, a następnie pierwsze - kolejność różnic w serii w celu przekształcenia oryginalnych serii cenowych z serii niestacjonarnych do (potencjalnie) stacjonarnych. Pozwala to porównać jabłka z jabłkami między akcjami, indeksami lub dowolnym innym składnikiem aktywów, do wykorzystania w późniejszych wielowymiarowych statystykach, na przykład przy obliczaniu macierzy kowariancji. Jeśli chcesz uzyskać szczegółowe wyjaśnienie, dlaczego powrót z dzienników jest preferowany, spójrz na ten artykuł w Quantivity. Pozwala tworzyć nową serię, amznrt. aby utrzymać nasze zróżnicowane logarysy: po raz kolejny możemy wydrukować serię: na tym etapie chcemy wykreślić krążek. Chciałby sprawdzić, czy zróżnicowane serie wyglądają jak biały szum. Jeśli tak nie jest, to jest niewyjaśniona korelacja szeregowa, co można wytłumaczyć modelem autoregresji. Znamy statystycznie znaczący szczyt w k2. Stąd istnieje uzasadniona możliwość niewymienionej korelacji szeregowej. Należy jednak pamiętać, że może to wynikać z tendencji do pobierania próbek. Jako taki możemy spróbować dopasować model AR (p) do serii i wydać przedziały ufności dla parametrów: dopasowanie modelu autoregresji ar do pierwszego rzędu zróżnicowanych serii cenników produkuje model AR (2), z kapeluszem -0,0278 i kapelusz -0,0687. Ive również wyprowadzić zmienność aysmptotyczną tak, że możemy obliczyć standardowe błędy dla parametrów i wydawać przedziały ufności. Chcemy sprawdzić, czy zero wchodzi w zakres 95-ciu przedziału ufności, czyniąc to zmniejsza naszą pewność, że mamy prawdziwy proces AR (2) bazujący na serii AMZN. Aby obliczyć przedziały ufności na poziomie 95 dla każdego parametru, używamy następujących poleceń. Przyjmujemy pierwiastek kwadratowy pierwszego elementu asymptotycznej macierzy odchylenia w celu wytworzenia standardowego błędu, a następnie utworzyć przedziały ufności przez pomnożenie go odpowiednio o -1,96 i 1,96, dla poziomu 95: Należy zauważyć, że staje się to bardziej proste przy korzystaniu z funkcji arimy , ale poczekaj, aż do części 2 przed jej prawidłowym wprowadzeniem. Widzimy więc, że dla zera alfa1 znajduje się w przedziale ufności, podczas gdy dla zera zero 0 nie jest zawarty w przedziale ufności. W związku z tym powinniśmy być bardzo ostrożni, myśląc, że mamy prawdziwy model generowania AR (2) dla AMZN. W szczególności zauważamy, że model autoregresji nie uwzględnia klastrowania zmienności, co prowadzi do klastrowania szeregowej korelacji w szeregach finansowych. Kiedy weźmiemy pod uwagę modele ARCH i GARCH w późniejszych artykułach, będziemy to uwzględniać. Kiedy zaczniemy korzystać z pełnej funkcji arimy w następnym artykule, będziemy przewidywać dzienne dzienne szeregi cenowe, aby umożliwić nam tworzenie sygnałów handlowych. Indeks Kapitałowy SampP500 USA Wraz z poszczególnymi akcjami możemy wziąć pod uwagę indeks amerykańskiego indeksu akcji SampP500. Pozwala zastosować wszystkie poprzednie polecenia do tej serii i wyprodukować wykresy jak poprzednio: Możemy sprecyzować ceny: jak poprzednio, dobrze stworzyć różnicę pierwszego rzędu cen zamknięcia dziennika: po raz kolejny możemy wydrukować serię: jest jasne z tego wykresu, że zmienność nie jest stacjonarna w czasie. Znajduje to również odzwierciedlenie w działaniu korespregatora. Istnieje wiele pików, w tym k1 i k2, które są statystycznie znaczące poza modelem szumu białego. Ponadto widzimy dowody na długotrwałe procesy pamięci, ponieważ istnieją pewne statystycznie znaczące piki przy k16, k18 i k21: Ostatecznie będziemy potrzebować bardziej wyrafinowanego modelu niż autoregresywny model porządku. Na tym etapie nadal możemy spróbować dopasować taki model. Pozwala zobaczyć, co otrzymujemy, jeśli to zrobimy: Użycie ar generuje model AR (22), tj. Model o 22 parametrach innych niż zero. Co to oznacza? Wskazuje się, że w korelacji szeregowej prawdopodobnie jest dużo bardziej złożona niż prosty liniowy model poprzednich cen może naprawdę uwzględnić. Jednak już wiedzieliśmy to, ponieważ widać, że istnieje znaczna korelacja szeregowa w zmienności. Na przykład rozważyć bardzo niestabilny okres około 2008 roku. To motywuje kolejny zestaw modeli, mianowicie Moving Average MA (q) i ARMA (ARTYKUŁA ARTYKUŁOWEGO) z autoregresją (p, q). Dowiedzieć się o tych obu w części 2 niniejszego artykułu. Jak wielokrotnie wspominaliśmy, ostatecznie doprowadzą nas do rodzinnych modeli ARIMA i GARCH, z których oba przyniosą znacznie lepsze dopasowanie do złożoności korelacji szeregowej modelu Samp500. To pozwoli nam znacznie poprawić nasze prognozy i ostatecznie wyprodukować bardziej zyskowne strategie. Pierwsze kroki z ilościową symulacją przemiany ruchowej średniej wielkości (pierwsze zamówienie) Demonstracja jest tak ustawiona, że ​​ta sama losowa seria punktów jest używana bez względu na to, jak stałe i są zróżnicowane. Jednak po naciśnięciu przycisku quotrandomizequot zostanie wygenerowana i używana nowa seria losowa. Utrzymanie losowej identycznej identyczności pozwala użytkownikowi zobaczyć dokładnie efekty zmian serii ARMA w dwóch stałych. Stała jest ograniczona do (-1, 1), ponieważ rozbieżności wyników serii ARMA, gdy. Demonstracja jest tylko dla pierwszego rzędu. Dodatkowe warunki AR pozwoliłoby na generowanie bardziej złożonych serii, a dodatkowe warunki MA wzrosłyby wygładzając. Szczegółowy opis procesów ARMA można znaleźć na przykład w: G. Box, G. M. Jenkins i G. Reinsel, analizie serii czasowej: prognozowaniu i kontroli. 3rd ed. Englewood Cliffs, NJ: Prentice-Hall, 1994. POWIĄZANE LINKI

Comments

Popular Posts