最大似然估计
最大似然估计(Maximum Likelihood Estimation,MLE),是一种具有理论性的点估计法,此方法的基本思想是:当从模型总体随机抽取n组样本观测值后,最合理的参数估计量应该使得从模型中抽取该n组样本观测值的概率最大,而不是像最小二乘估计法旨在得到使得模型能最好地拟合样本数据的参数估计量。
标题图
本篇文章中,会包含以下几个内容:
- 对正态分布进行最大似然估计
- 对指数分布的最大似然估计
- 使用最大似然估计来对资产收益进行正态拟合。
首先需要引入必备的python库
引入库
首先设定正态分布的均值与标准差,随机产生一组均值为40,标准差为10的样本数据:
产生随机样本数据
最大似然估计下均值与标准差的期望值公式如下:
均值与标准差期望值
很容易在python中将其实现,
实现代码
numpy中已经内建了mean与std函数分别用来计算样本的均值与方差,下面我们来对比下与我们的MLE实现结果是否一致:
与内建方法对比
注:可以看到结果是完全一致的
使用scipy的fit函数,还可以同时计算样本的均值与方差:
使用scipy的fit函数
接下来,为更加直观地体现拟合情况,将拟合的正态分布的概率密度函数与样本的概率分布直方图同时绘制出来
示例代码
绘制结果
指数分布
接下来对于指数分布再来进行一次相同的试验,需要注意的是,在numpy中对于指数分布的定时如下:
numpy中指数分布定义
所以λ的期望值为定义式的倒数:
λ的期望值
在python中计算期望值
计算期望值代码
同样也可以使用scipy中自建的fit函数进行拟合,得到λ的值,和正态分布一样,我们也将数据的频率直方图与拟合的概率密度函数一同绘制出来:
示例代码
拟合图示
对资产收益进行最大似然估计
接下来我们会根据真实的收益数据,使用最大似然估计法对其进行正态分布拟合。首先我们对于数据进行下预处理,得到基于前日收盘价的每日收益率
得到每日收益率
然后可以通过scipy去正态拟合
正态拟合示例代码
拟合图示
注:当然,只有拟合的数据本身是服从正态分布的时候,上述的拟合过程才是有效的,通常可以使用Jarque-Bera检验去做正态检验。
发布者:股市刺客,转载请注明出处:https://www.95sca.cn/archives/76899
站内所有文章皆来自网络转载或读者投稿,请勿用于商业用途。如有侵权、不妥之处,请联系站长并出示版权证明以便删除。敬请谅解!