Analyse der Klasse der instationären Prozesse mit stationären Zuwächsen an den Aktienmärkten

    Der Zweck dieses Artikels besteht darin, die Ergebnisse einer Studie zur Ermittlung der Struktur der Werte der an der Moskauer Börse und der NYSE gehandelten Aktienkurse zu teilen, indem deren Stationarität mithilfe des Dickey-Fuller-Tests überprüft wird.

    Es gibt eine kleine Klasse von Beständen, bei der es sich um einen instationären Prozess mit stationären Inkrementen und der Verteilung von t-Statistiken handelt, die sich eher merkwürdig verhalten, dh sie tendieren nicht zu einer normalen Verteilung mit einer Zunahme der Anzahl von Beobachtungen. Wie identifiziere ich solche Aktien?

    Datenerfassung


    Das erste, was wir brauchen, ist eine Liste von Tickern, die Sie tatsächlich über einen der Broker handeln können. Ein Ticker ist eine Kurzbezeichnung in den Börseninformationen von börsennotierten Instrumenten (in diesem Fall Aktien). Ich werde mit dem russischen Aktienmarkt beginnen. Wir haben den beliebtesten Austausch - Moskau, also lasst uns darüber reden.

    Irgendwann in meinem Leben ging ich offline und schloss einen Makler-Servicevertrag mit der Sberbank ab. In dieser Situation kann die Liste der Ticker ganz einfach abgerufen werden. Es reicht aus, das QUIK-System herunterzuladen und einen Börsenkurs für Aktien zu bestellen:

    Bild

    Zeigen Sie sie dann auf der Registerkarte Handel an und speichern Sie die Tabelle in einer Datei. Insgesamt 296 Ticker. Wenn Sie nicht wirklich wollen , eine Quest arrangieren, dann tickers Liste in Abschnitt finden Sie Beispiele für Daten auf der Website des Moskauer Börse. Die einzige, vielleicht ist diese Liste nicht mehr aktuell.

    Das zweite, was wir brauchen, sind Aktienkursdaten. Wie viele von ihnen benötigt werden, um ein angemessenes Bild des Marktes zu erhalten, und wie lange sie noch benötigt werden, ist umstritten. Die technische Beschränkung, auf die wir weiterhin stoßen werden, beträgt mindestens 10 Werte für jede Aktie.

    Ich wollte Daten zu den Börsenschlusskursen für 2016 (252 Handelstage) aus den zuvor erhaltenen Tickern entnehmen, aber Sie können Daten für einen kürzeren Zeitraum erfassen und sogar Intraday-Studien durchführen. Im Großen und Ganzen ist es für uns jetzt nicht so wichtig, welche Daten wir aufnehmen. Die einzige Sache ist, wenn wir zur Moskauer Börse gehen und sie nach Archivdaten für 2016 fragen, wird sie uns sagen, dass 32.400 Rubel für das Ganze bezahlt werden müssen (früher kosten die Daten übrigens noch mehr). Ich habe einen Parser geschrieben, der nicht in Ordnung ist.

    Tatsächlich ist es viel schneller, Daten vom Finale oder von Yahoo Finance abzurufen, aber aus irgendeinem Grund macht es nicht so viel Spaß. Einmal habe ich sogar den Leiter der Informations-Audit-Gruppe kontaktiert und gefragt, ob ich deren Website für Nachforschungen analysieren könnte. Ich durfte

    [Es gab viele Buchstaben und Codes zum Parser, aber ich habe alles gelöscht, weil es wahrscheinlich nicht sehr interessant ist. Wenn ich mich irre, schreibe ich, ich werde den Parser als separaten Artikel veröffentlichen.]

    Es gelang mir, Daten für 289 Aktien zu sammeln (es gab keine Daten für den Rest). Zur Vereinfachung wurden Ticker und Preise in einer Microsoft SQL Server-Datenbank gespeichert. Fahren Sie nun mit Mathe fort.

    Über die Stationarität


    Wenn wir von Stationarität ohne Formeln und komplexe Konzepte sprechen, dann ist der Punkt, dass die stationäre Reihe ihre Eigenschaften wie Erwartung, Varianz und Kovarianz über die Zeit nicht ändert.

    Der Aktienkurs kann als autoregressiver Prozess in der Größenordnung von 1 betrachtet werden:

    y_ {t} = \ phi y_ {t-1} + \ varepsilon_ {t},

    wo \ phi- Parametermodell \ varepsilon_ {t} \ sim iid (0, \ sigma ^ 2)- weißes Rauschen t = 1, ..., n. Ein solcher Vorgang ist stationär vorgesehen | \ phi | <1.

    Angenommen, wir haben Aktienkurse für 252 Handelstage. Wie können wir aus den verfügbaren Beobachtungen bestimmen, ob ein solcher autoregressiver Prozess stationär ist oder nicht? Es ist notwendig, ein Standardverfahren zum Testen einer Hypothese durchzuführen H_0: \ phi = 1(d. H. Der Prozess ist nicht stationär) gegen eine alternative Hypothese H_1: \ phi <1(d. H. Der Prozess ist stationär).

    Über die Dickey-Fuller-Distribution


    Tatsächlich ist das Testen einer Hypothese nicht so einfach, da bei einem wahren Wert die \ phi = 1t-Statistik nicht gemäß dem Schülergesetz verteilt wird und ihre Verteilung mit einer Zunahme der Anzahl der Beobachtungen nicht zum normalen Standard tendiert. In diesem Fall können wir nicht einfach die Tabelle der kritischen Werte des Schülers nehmen und die Hypothese daran messen.

    Unter t-Statistik wird hier das Verhältnis der Abweichung der Parameterschätzung des autoregressiven Modells von seinem wahren Wert zum Standardfehler der Koeffizientenschätzung verstanden:

    t = \ frac {\ hat {\ phi} - \ phi} {s _ {\ hat {\ phi}},

    wo \ hat {\ phi}ist die Parameterschätzung des autoregressiven Modells (1), s _ {\ hat {\ phi}}ist der Standardfehler der Schätzung \ hat {\ phi}. Die Koeffizientenschätzung \ hat {\ phi}in einem alternativen Modell kann unter Verwendung der herkömmlichen Methode der kleinsten Quadrate (LSM) durchgeführt werden.

    Wayne Fuller sprach 1976 zum ersten Mal darüber, dass T-Statistiken nicht in Ordnung sind. 1979 schrieben sie zusammen mit David Dickey einen interessanten Artikel mit dem Titel "Verteilung der Schätzer für autoregressive Zeitreihen mit einer Einheitswurzel".

    Es ist fast unmöglich, es mit einem nüchternen Kopf zu analysieren, aber dort präsentierten sie die Verteilung der t-Statistik unter der Bedingung \ phi = 1, dh wann t = \ frac {\ hat {\ phi} - 1} {s _ {\ hat {\ phi}}(die als Dickey-Fuller-Statistik bezeichnet wurde) für Gleichung (1) und ihre zwei Modifikationen:

    y_ {t} = a + \ phi y_ {t-1} + \ varepsilon_ {t},

    y_ {t} = a + \ phi y_ {t-1} + ct + \ varepsilon_ {t}.


    Für Gleichung (1) hat die Dickey-Fuller-Verteilung die Form:

    \ lim t_1 = \ frac {W ^ 2 (1) -1} {2 \ sqrt {\ int_ {0} ^ {1} W ^ 2 (s) ds}},

    wo t_1ist die t-statistik für den prozess (1), W (s)ist der standard Wiener prozess.

    Die kritischen Werte der Dickey-Fuller-Statistik sind in Fullers Buch "Introduction to Statistical Time Series" aufgeführt. Um den autoregressiven Prozess auf Stationarität zu testen, muss daher das Standard-Hypothesentestverfahren verwendet werden, mit dem Unterschied, dass anstelle der Tabelle der kritischen Werte für die Student-Verteilung die Tabelle der kritischen Werte für die Dickey-Fuller-Verteilung verwendet werden muss.

    Es ist auch wichtig anzumerken, dass die Gleichungen (1), (2) und (3) in der folgenden Form umgeschrieben werden können:

    y_ {t} - y_ {t-1} = \ phi y_ {t-1} - y_ {t-1} + \ varepsilon_ {t},

    \ Delta y_ {t} = (\ phi - 1) y_ {t-1} + \ varepsilon_ {t},

    \ Delta y_ {t} = \ beta y_ {t-1} + \ varepsilon_ {t},

    y_ {t} - y_ {t-1} = a + \ phi y_ {t-1} - y_ {t-1} + \ varepsilon_ {t},

    \ Delta y_ {t} = a + (\ phi - 1) y_ {t-1} + \ varepsilon_ {t},

    \ Delta y_ {t} = a + \ beta y_ {t-1} + \ varepsilon_ {t},

    y_ {t} - y_ {t-1} = a + \ phi y_ {t-1} - y_ {t-1} + ct + \ varepsilon_ {t},

    \ Delta y_ {t} = a + (\ phi - 1) y_ {t-1} + ct + \ varepsilon_ {t},

    \ Delta y_ {t} = a + \ beta y_ {t-1} + ct + \ varepsilon_ {t},

    wo \ Delta y_ {t} = y_ {t} - y_ {t-1}, a \ beta = \ phi - 1. Die Prozesse (4), (5) und (6) können \ beta = 0wie die Hypothese für bewertet und getestet werden \ phi = 1. Folglich ermöglichen die Dickey-Fuller-Statistiken die Überprüfung der Stationarität nicht nur des Prozesses selbst, sondern auch seiner Unterschiede erster Ordnung.

    Über den Dickey-Fuller-Test


    Der Dickey-Fuller-Test ist in allen Standardpaketen verfügbar, sodass wir die bei der Datenerfassung ermittelten Aktienkurse beispielsweise in MATLAB auf Stationarität prüfen können. Der folgende Code stellt eine Verbindung zur Microsoft SQL Server-Datenbank her (in der Aktienkurse und Ticker gespeichert sind), und es werden zwei Arrays erstellt. Der erste ist für Preise direkt, der zweite ist nur für die Ticker, für die es Preisdaten gibt:

    conn = database.ODBCConnection('uXXXXXX.mssql.masterhost.ru', 'uXXXXXX', 'XXXXXXXXXX');
    curs = exec(conn, 'SELECT ALL PriceId, StockId, Date, Price FROM StockPrices');
    curs = fetch(curs);
    data = curs.Data
    idsArr = unique(cell2mat(data(:,2)));
    sqlquery = 'SELECT ALL StockId, ShortName, Code FROM Stocks WHERE StockId IN (';
    for i=1:length(idsArr)
        if i==length(idsArr)
            sqlquery = strcat(sqlquery,int2str(idsArr(i)),')');
        else
            sqlquery = strcat(sqlquery,int2str(idsArr(i)),',');
        end
    end
    curs = exec(conn, sqlquery);
    curs = fetch(curs);
    names = curs.Data
    close(conn);
    

    Der Dickey-Fuller-Test wird mit der Adftest-Funktion durchgeführt, die eine eindimensionale Zeitreihe am Eingang verwendet und einen logischen Wert von 1 zurückgibt, wenn die Nullhypothese zugunsten der Alternative verworfen wird, und ansonsten von 0. Lassen Sie uns den Dickey-Fuller-Test mit einer Signifikanz von 5% für ein Modell der Form (1) durchführen:

    for i = 1:length(names)
        % Indexes with current stock's data
        indexes = find(cell2mat(data(:,2)) == cell2mat(names(i,1)));
        isStat(i) = adftest(cell2mat(data(indexes,4)));
    end
    % Indexes with stationary stocks
    stat = find(isStat == 1);
    

    Das Programm weist die Nullhypothese fünfmal zugunsten eines alternativen Modells zurück. Wir zeigen diese Zeitreihen:

    for i=1:length(stat)
        indexes = find(cell2mat(data(:,2)) == cell2mat(names(stat(i),1)));
        figure
        plot(datetime(data(indexes,3)), cell2mat(data(indexes,4)))
        legend(names(stat(i),3));
    end
    

    Schauen wir uns das Kurschart einer der Aktien an.


    Hier ist zu erkennen, dass die Zeitreihe des Aktienkurses nicht stationär ist.

    Wir konstruieren die Differenzen erster Ordnung für eine gegebene Zeitreihe.


    Es scheint, dass die Differenzen erster Ordnung für die Zeitreihe des Aktienkurses die Stationaritätsbedingung wirklich erfüllen.

    NYSE-Ergebnisse


    Dieselben Studien wurden für den US-amerikanischen Aktienmarkt durchgeführt, nämlich für die New York Stock Exchange. Die Liste der Ticker wurde der NASDAQ- Website entnommen . Derzeit gibt es 2.714 adäquate Ticker. Die Preisdaten stammen von Yahoo Finance. Es gab 2647 Ticker, für die Daten zu den Aktienkursen für 2016 vorliegen, und als Ergebnis der Prüfung auf Stationarität wurden 26 Aktien mit stationären Inkrementen erhalten.

    Schlussfolgerungen


    Es gibt eine große Anzahl von Vermögenswerten an den Aktienmärkten, für die Preisänderungen ein instationärer Prozess mit stationären Schritten sind. Das Vorhandensein solcher Prozesse bildet die Grundlage für weitere Forschung und stabile Gewinne, aber wir werden das nächste Mal darüber sprechen.

    Was zum Thema zu lesen?


    Magnus, Y.R. Ökonometrie. Anfängerkurs / Ya.R. Magnus, P.K. Katyshev, A.A. Peresetsky. - M .: Business, 2004 .-- 576 p.

    Dies ist ein sehr gutes Lehrbuch über Ökonometrie, nicht schlechter als bürgerlich, und es ist normal geschrieben, so dass Sie es herausfinden können.

    UPD. Stationäre inkrementelle Aktienanalyse für 2017 an der Moskauer Börse .

    Jetzt auch beliebt: