Salidas de registro de precios de acciones
Se supone que los precios de acciones modelados con el movimiento geométrico browniano (en el modelo clásico de Black–Scholes) son distribuidos normalmente en sus salidas de registro. Aquí esta premisa es examinada con los precios de acciones de cinco compañías: Google, Microsoft, Facebook, Apple e Intel.
Extraiga los precios de acciones en 2015 con FinancialData.
![Click for copyable input](assets.es/log-returns-of-stock-prices/In_99.png)
symbols = {"GOOG", "MSFT", "FB", "AAPL", "INTC"};
prices = Table[
FinancialData[stock, {{2015, 1, 1}, {2015, 12, 31}}], {stock,
symbols}];
Calcule las salidas de registro.
![Click for copyable input](assets.es/log-returns-of-stock-prices/In_100.png)
logreturn = Minus[Differences[Log[prices[[All, All, 2]]], {0, 1}]];
Filtre las salidas de registro con un ARCHProcess de orden 1.
![Click for copyable input](assets.es/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];
Compare los datos filtrados de cada acción con la distribución normal con QuantilePlot. Para todas las cinco compañías, las colas se desvían de lo normal.
![](assets.es/log-returns-of-stock-prices/O_74.png)
Realice una prueba multivariable de normalidad con BaringhausHenzeTest (BHEP). La hipótesis de normalidad es claramente rechazada.
![Click for copyable input](assets.es/log-returns-of-stock-prices/In_103.png)
htd = BaringhausHenzeTest[fdata, "HypothesisTestData"];
![Click for copyable input](assets.es/log-returns-of-stock-prices/In_104.png)
htd["TestDataTable"]
![](assets.es/log-returns-of-stock-prices/O_75.png)
![Click for copyable input](assets.es/log-returns-of-stock-prices/In_105.png)
htd["ShortTestConclusion"]
![](assets.es/log-returns-of-stock-prices/O_76.png)
Ajuste los datos filtrados con MultinormalDistribution y MultivariateTDistribution.
![Click for copyable input](assets.es/log-returns-of-stock-prices/In_106.png)
multiN = EstimatedDistribution[fdata,
MultinormalDistribution[Array[x, 5], Array[s, {5, 5}]]]
![](assets.es/log-returns-of-stock-prices/O_77.png)
![Click for copyable input](assets.es/log-returns-of-stock-prices/In_107.png)
multiT = EstimatedDistribution[fdata,
MultivariateTDistribution[Array[x, 5], Array[s, {5, 5}], nu]]
![](assets.es/log-returns-of-stock-prices/O_78.png)
Calcule el AIC de dos distribuciones. El modelo de MultivariateTDistribution tiene un valor más pequeño.
![Click for copyable input](assets.es/log-returns-of-stock-prices/In_108.png)
aic[k_, dist_, data_] := 2 k - 2 LogLikelihood[dist, data]
![Click for copyable input](assets.es/log-returns-of-stock-prices/In_109.png)
aic[5 + 15, multiN, fdata]
![](assets.es/log-returns-of-stock-prices/O_79.png)
![Click for copyable input](assets.es/log-returns-of-stock-prices/In_110.png)
aic[5 + 15 + 1, multiT, fdata]
![](assets.es/log-returns-of-stock-prices/O_80.png)