Renvois logarithmiques des prix des actions
Les cours des actions modélisées avec le mouvement brownien géométrique (dans le modèle classique Black–Scholes) sont supposés être distribués normalement dans leurs renvois logarithmiques. Ici, cette hypothèse est examinée avec les cours des actions de cinq sociétés : Google, Microsoft, Facebook, Apple et Intel.
Récupérez les cours des actions en 2015 avec FinancialData.
symbols = {"GOOGL", "MSFT", "FB", "AAPL", "INTC"};
prices = Table[
FinancialData[stock, {{2015, 1, 1}, {2015, 12, 31}}], {stock,
symbols}];
Calculez les renvois logarithmiques.
logreturn = Minus[Differences[Log[prices[[All, All, 2]]], {0, 1}]];
Filtrez les renvois logarithmiques avec une ARCHProcess d'ordre 1.
fdata = Table[
{\[Kappa]1, \[Alpha]1} = {\[Kappa], \[Alpha]} /.
FindProcessParameters[lr, ARCHProcess[\[Kappa], {\[Alpha]}]];
MovingMap[Last[#]/Sqrt[\[Kappa]1 + \[Alpha]1 First[#]^2] &, lr, 2]
, {lr, logreturn}];
fdata = Transpose[fdata];
Comparez les données filtrées de chaque action avec la loi normale en utilisant QuantilePlot. Pour les cinq sociétés, les queues s'écartent de la normale.
Effectuez un test de normalité multivariée avec BaringhausHenzeTest (BHEP). L'hypothèse de normalité est clairement rejetée.
htd = BaringhausHenzeTest[fdata, "HypothesisTestData"];
htd["TestDataTable"]
htd["ShortTestConclusion"]
Ajustez les données filtrées avec MultinormalDistribution et MultivariateTDistribution.
multiN = EstimatedDistribution[fdata,
MultinormalDistribution[Array[x, 5], Array[s, {5, 5}]]]
multiT = EstimatedDistribution[fdata,
MultivariateTDistribution[Array[x, 5], Array[s, {5, 5}], nu]]
Calculez l'AIC pour les deux distributions. Le modèle de MultivariateTDistribution a une valeur inférieure.
aic[k_, dist_, data_] := 2 k - 2 LogLikelihood[dist, data]
aic[5 + 15, multiN, fdata]
aic[5 + 15 + 1, multiT, fdata]