Wolfram 语言

概率和统计延伸

股票价格的对数收益

几何布朗运动建模(古典布莱克-舒尔斯模型) 的股票价格,其对数收益被假设为正态分布. 在此,用 Google、Microsoft、Facebook、Apple 和 Intel 这 5 家公司的股票价格对该假设进行了检验.

FinancialData 提取 2015 年的股票价格.

In[1]:=
Click for copyable input
symbols = {"GOOGL", "MSFT", "FB", "AAPL", "INTC"}; prices = Table[ FinancialData[stock, {{2015, 1, 1}, {2015, 12, 31}}], {stock, symbols}];

计算对数收益.

In[2]:=
Click for copyable input
logreturn = Minus[Differences[Log[prices[[All, All, 2]]], {0, 1}]];

用 1 阶 ARCHProcess 过滤对数收益.

In[3]:=
Click for copyable input
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];

通过 QuantilePlot 将每个股票的过滤数据与正态分布进行对比. 全部 5 家公司的尾部都从正态偏离.

显示完整的 Wolfram 语言输入
In[4]:=
Click for copyable input
MapThread[ QuantilePlot[#1, PlotLabel -> #2, PlotTheme -> "Detailed"] &, {Transpose[fdata], symbols}]
Out[4]=

BaringhausHenzeTest(BHEP)进行多元正态性检验. 正态性假设被明确驳回.

In[5]:=
Click for copyable input
htd = BaringhausHenzeTest[fdata, "HypothesisTestData"];
In[6]:=
Click for copyable input
htd["TestDataTable"]
Out[6]=
In[7]:=
Click for copyable input
htd["ShortTestConclusion"]
Out[7]=

MultinormalDistributionMultivariateTDistribution 拟合过滤数据.

In[8]:=
Click for copyable input
multiN = EstimatedDistribution[fdata, MultinormalDistribution[Array[x, 5], Array[s, {5, 5}]]]
Out[8]=
In[9]:=
Click for copyable input
multiT = EstimatedDistribution[fdata, MultivariateTDistribution[Array[x, 5], Array[s, {5, 5}], nu]]
Out[9]=

计算两个分布的 AIC. MultivariateTDistribution 模型的值要小一些.

In[10]:=
Click for copyable input
aic[k_, dist_, data_] := 2 k - 2 LogLikelihood[dist, data]
In[11]:=
Click for copyable input
aic[5 + 15, multiN, fdata]
Out[11]=
In[12]:=
Click for copyable input
aic[5 + 15 + 1, multiT, fdata]
Out[12]=

相关范例

de en es fr ja ko pt-br ru