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.
symbols = {"GOOG", "MSFT", "FB", "AAPL", "INTC"};
prices = Table[
FinancialData[stock, {{2015, 1, 1}, {2015, 12, 31}}], {stock,
symbols}];
Calcule las salidas de registro.
logreturn = Minus[Differences[Log[prices[[All, All, 2]]], {0, 1}]];
Filtre las salidas de registro con un ARCHProcess de orden 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];
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.
Realice una prueba multivariable de normalidad con BaringhausHenzeTest (BHEP). La hipótesis de normalidad es claramente rechazada.
htd = BaringhausHenzeTest[fdata, "HypothesisTestData"];
htd["TestDataTable"]
htd["ShortTestConclusion"]
Ajuste los datos filtrados con MultinormalDistribution y MultivariateTDistribution.
multiN = EstimatedDistribution[fdata,
MultinormalDistribution[Array[x, 5], Array[s, {5, 5}]]]
multiT = EstimatedDistribution[fdata,
MultivariateTDistribution[Array[x, 5], Array[s, {5, 5}], nu]]
Calcule el AIC de dos distribuciones. El modelo de MultivariateTDistribution tiene un valor más pequeño.
aic[k_, dist_, data_] := 2 k - 2 LogLikelihood[dist, data]
aic[5 + 15, multiN, fdata]
aic[5 + 15 + 1, multiT, fdata]