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.
![Click for copyable input](assets.fr/log-returns-of-stock-prices/In_99.png)
symbols = {"GOOGL", "MSFT", "FB", "AAPL", "INTC"};
prices = Table[
FinancialData[stock, {{2015, 1, 1}, {2015, 12, 31}}], {stock,
symbols}];
Calculez les renvois logarithmiques.
![Click for copyable input](assets.fr/log-returns-of-stock-prices/In_100.png)
logreturn = Minus[Differences[Log[prices[[All, All, 2]]], {0, 1}]];
Filtrez les renvois logarithmiques avec une ARCHProcess d'ordre 1.
![Click for copyable input](assets.fr/log-returns-of-stock-prices/In_101.png)
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.
![](assets.fr/log-returns-of-stock-prices/O_74.png)
Effectuez un test de normalité multivariée avec BaringhausHenzeTest (BHEP). L'hypothèse de normalité est clairement rejetée.
![Click for copyable input](assets.fr/log-returns-of-stock-prices/In_103.png)
htd = BaringhausHenzeTest[fdata, "HypothesisTestData"];
![Click for copyable input](assets.fr/log-returns-of-stock-prices/In_104.png)
htd["TestDataTable"]
![](assets.fr/log-returns-of-stock-prices/O_75.png)
![Click for copyable input](assets.fr/log-returns-of-stock-prices/In_105.png)
htd["ShortTestConclusion"]
![](assets.fr/log-returns-of-stock-prices/O_76.png)
Ajustez les données filtrées avec MultinormalDistribution et MultivariateTDistribution.
![Click for copyable input](assets.fr/log-returns-of-stock-prices/In_106.png)
multiN = EstimatedDistribution[fdata,
MultinormalDistribution[Array[x, 5], Array[s, {5, 5}]]]
![](assets.fr/log-returns-of-stock-prices/O_77.png)
![Click for copyable input](assets.fr/log-returns-of-stock-prices/In_107.png)
multiT = EstimatedDistribution[fdata,
MultivariateTDistribution[Array[x, 5], Array[s, {5, 5}], nu]]
![](assets.fr/log-returns-of-stock-prices/O_78.png)
Calculez l'AIC pour les deux distributions. Le modèle de MultivariateTDistribution a une valeur inférieure.
![Click for copyable input](assets.fr/log-returns-of-stock-prices/In_108.png)
aic[k_, dist_, data_] := 2 k - 2 LogLikelihood[dist, data]
![Click for copyable input](assets.fr/log-returns-of-stock-prices/In_109.png)
aic[5 + 15, multiN, fdata]
![](assets.fr/log-returns-of-stock-prices/O_79.png)
![Click for copyable input](assets.fr/log-returns-of-stock-prices/In_110.png)
aic[5 + 15 + 1, multiT, fdata]
![](assets.fr/log-returns-of-stock-prices/O_80.png)