Formålet med dette indlæg er at give dig en kort, men tilstrækkelig forståelse af Box-Jenkins (BJ)-metoden med det formål at du i slutningen af artiklen selv besidder værktøjet til forecast af aktiekurser.

Aktiekurser tricky at forecaste. Ja faktisk nærmest umulige, men lad os give det en chance, for nok kan man ikke bestemme den præcise kurs grundet imperfekt information om fremtiden, men BJ-metoden kan give et udemærket udgangspunkt at handle ud fra. Hvis du ikke har nogle idé om, hvad Boj-Jenkins går ud på, vil jeg foreslå at læse dette blog opslag om Box-Jenkins først. Vi vil i dette eksempel benytte aktie indekeset VIX, som beskriver volatiliteten i S&P-500 indekset. I dette eksempel bruger vi Oxmetrics, som er ideelt, hvis man arbejder med BJ-metoden.
Første step: Modelspecifikationen
Først og fremmest skal vi have opstillet en model, som kan beskrive den tidligere aktiekurs bedst muligt. Så lad os tage et kig på udviklingen i indekset så lang tilbage, som dataen rækker.

Når vi kigger på udviklingen i VIX fra figur 1, bør det første man ligger mærke til være, at dataen ikke er stationær. Hvis du er en smule rusten i stationaritets betingelserne, kan du læse mere derom her. Så lad os transformere data ved at tage logaritmen og første differencen. (y_t=log(VIX_t)-log(VIX_{t-1}).

Som man kan se på figur er middelværdien nu nogenlunde konstant, samt variansen på trods af nogle enkelte outliers, særligt omkring i midten af 2018. Lad os kigge på autokorrelationsfunktionen og den partielle autokorrelationsfunktion og finde ud af, hvor mange lags der rent faktisk er signifikante.

Det fremgår af fiur 3, at ca. 10 lags af variablen selv er signifikant på et 95 pct. signifikantsniveau, mens kun 7 lags af residualen. Dermed ser den umiddelbare model således ud: y_t=\delta+y_{t-1}+\dots+y_{t-10}+\epsilon_t+\dots+\epsilon_{t-7}. I oxmetrics behøver man ikke skrive nogle koder eller andet besværligt. Det rimelig intuitivt og meget “point-and-click”. Modellen bør indstilles efter følgende billede:

Parameterne estimeres i øvrigt ved brug af Maximum Likelihood estimation. Så lad os se, hvor godt vores model beskriver de sande værdier.

Umiddelbart virker det som om modellen beskriver de faktiske værdier rimelig godt. De fleste af lagne er signifikante på et 95 pct. signifikantsniveau, hvilket fremgår af søjlen længst til højre, som angiver p-værdien. Dog er der enkelte lags, som ikke fremgår signifikante: y_{t-i}, i=4,8,9, \epsilon_{t-4} samt konstanten \delta. Disse lags kan man fjerne, men da jeg personeligt ønsker at holde modellen nested beholder jeg samtlige lags.
For effektivt at vurdere hvorvidt modellen er egnet til bestemmelse af lukkekursen for VIX, sørges det for at modellen er velspecificeret. Derfor implementeres en række forskellige misspecifkationstest.
Antagelsen om ingen autokorrelation, \mathbb{E}\left[\epsilon_{t} \epsilon_{t} | x_{t}, x_{s}\right]=0 \text { for alle } t \neq s, testes ved
Ljung-Box test, for at sikre en konsistent MLE. Desuden kan autokorrelation medføre
autoregressiv-betinget heteroskecacitet (ARCH-eekter), men ikke omvendt. Teststørrelsen bestemmes ud fra autokorrelationsfunktionen med h lags og er givet ved Q=n(n+2) \sum_{j=1}^{h} \frac{\hat{\rho}_{j}^{2}}{n-j}, hvor n angiver datastørrelsen. Under nulhypotesen er Q \sim \chi^{2}(h).
Den relevante nulhypotese er formuleret:
\mathcal{H}_{0} : \text { Residualerne er ikke autokorreleret } \quad \mathcal{H}_{A} : \mathcal{H}_{0} \text { Ikke sand }
Det antages at den betingede varians for fejlledet t er homoskedastisk \mathbb{E}\left[\epsilon_{t}^{2} | x_{t}\right]=\sigma^{2}. Residualerne testes derfor for ARCH-eekter for at undersge en GARCH-udvidelse er påkrævet. Derfor opstilles en ny hjælperegression:
\epsilon_{t}^{2}=\kappa_{0}+\kappa_{1} \epsilon_{t-1}^{2}+\kappa_{2} \epsilon_{t-2}^{2}+\cdots+\kappa_{p} \epsilon_{t-p}^{2}+u_{t}.
\text { for alle } t=1,2, \ldots, T, \text { hvorom det gælder, at } u_{t} \sim \mathcal{N}\left(0, \sigma_{u}^{2}\right)
\mathcal{H}_{0} : \text { Residualerne udviser ingen ARCH-effekter, } \mathcal{H}_{A} : \mathcal{H}_{0} \text { ikke sand }
Teststørrelsen for \kappa_{1}=\kappa_{2}=\cdots=\kappa_{p}=0 kan bestemmes med en LM (White)-test, som under nulhypotesen er givet ved L M=T R_{a u x(9)}^{2} \sim \chi^{2}(p), hvor p angiver antallet af frihedsgrader.
En valid standard inferens krver normaltfordelte fejlled. Er dette ikke tilfældet vil QMLE blive brugt. Det testet om skvheden i residualerne er lig 0 og om kurtosis er lig 3, som er tilfældet for en normalfordeling. Den estimerede skævhed (S) og kurtosis (K) for fejlledene er asymptotisk normaltfordelt grundet en CLT.
Testsstørrelsen for skævheden og kurtosis er givet ved:
\begin{array}{c}{\xi_{S}=\frac{T}{6} S^{2}, \quad \xi_{K}=\frac{T}{24}(K-3)^{2}} \\ {\mathcal{H}_{0} : \text { Residualerne er normaltfordelt } \mathcal{H}_{A} : \mathcal{H}_{0} \text { ikke sand }}\end{array}
Eftersom begge teststørrelser er asymptotisk uafhængige, implementeres en samlet Jarque-Bera-test, \xi_{J B}=\xi_{S}+\xi_{K}, som under nulhypotesen er \chi^{2}(2)-fordelt. Den endelige specikation af modellen bestemmes ved fremgangsmaden Generel to Specic, hvor \tau-test, LR-test og informationskriterier (IC) bliver brugt til at specificere det endelige antal af p og q.
Vi finder altså at testen for ingen ARCH effekter forkaste, idet p=0,000. Derfor kan man med fordel udvide med modellen med et GARCH led, som inkorporere “Volatility Clustering”, som Mandelbrot i sin tid døbte sammenhængene varians.
Andet step: Fremskrivning
Et out-of-sample forcast er en fremskrivning af VIX-lukkekurser ud fra den bedst specicerede model. Den optimale fremskrivning af y_{t+h} er den betingede forventning til udviklingen i VIX, pa informationsættet på tidspunkt I_{T}=\left\{y_{-\infty}, \ldots, y_{T}\right\}, y_{t+h | T}=\mathbb{E}\left[y_{T+h} | I_{t}\right], \text { mens variansen } \mathbb{V}\left[y_{T+h} | I_{t}\right]=\mathbb{E}\left[\left(y_{T+h}-y_{T+h | T}\right)^{2}\right]. Det ses, at variansen af fremskrivningen er lig variansen fra fejlleddet i fremskrivningen, idet fejlleddet antages at være IID. Givet at stationaritetsbetingelsen er overholdt, vil fremskrivningen konvergere mod den ubetingede middelværdi og variansen for fremskrivningen konvergere mod den ubetingede varians. Dette skyldes at nar h stiger, indeholder y_{T+h | T} mindre information om den historiske udvikling i y_T.

Tredje step: Tid til at tjene penge
Benyt modellen til at se om kursen går op eller ned. Simpel strategi. Køb lavt. Sælg højt.
Forbehold og alternativer

Imperfekt information. Machine Learning gør det nemmer at inkorpurer den massive data det finansielle marked genere sammen med trawling af nyhedsartikler og tweets.
Skriv et svar