Quantopian量化交易16最大似然估计

最大似然估计

最大似然估计(Maximum Likelihood Estimation,MLE),是一种具有理论性的点估计法,此方法的基本思想是:当从模型总体随机抽取n组样本观测值后,最合理的参数估计量应该使得从模型中抽取该n组样本观测值的概率最大,而不是像最小二乘估计法旨在得到使得模型能最好地拟合样本数据的参数估计量。

Quantopian量化交易16最大似然估计

标题图

本篇文章中,会包含以下几个内容:

  1. 对正态分布进行最大似然估计
  2. 对指数分布的最大似然估计
  3. 使用最大似然估计来对资产收益进行正态拟合。

首先需要引入必备的python库

Quantopian量化交易16最大似然估计

引入库

首先设定正态分布的均值与标准差,随机产生一组均值为40,标准差为10的样本数据:

Quantopian量化交易16最大似然估计

产生随机样本数据

最大似然估计下均值与标准差的期望值公式如下:

Quantopian量化交易16最大似然估计

均值与标准差期望值

很容易在python中将其实现,

Quantopian量化交易16最大似然估计

实现代码

numpy中已经内建了mean与std函数分别用来计算样本的均值与方差,下面我们来对比下与我们的MLE实现结果是否一致:

Quantopian量化交易16最大似然估计

与内建方法对比

注:可以看到结果是完全一致的

使用scipy的fit函数,还可以同时计算样本的均值与方差:

Quantopian量化交易16最大似然估计

使用scipy的fit函数

接下来,为更加直观地体现拟合情况,将拟合的正态分布的概率密度函数与样本的概率分布直方图同时绘制出来

Quantopian量化交易16最大似然估计

示例代码

Quantopian量化交易16最大似然估计

绘制结果

指数分布

接下来对于指数分布再来进行一次相同的试验,需要注意的是,在numpy中对于指数分布的定时如下:

Quantopian量化交易16最大似然估计

numpy中指数分布定义

所以λ的期望值为定义式的倒数:

Quantopian量化交易16最大似然估计

λ的期望值

在python中计算期望值

Quantopian量化交易16最大似然估计

计算期望值代码

同样也可以使用scipy中自建的fit函数进行拟合,得到λ的值,和正态分布一样,我们也将数据的频率直方图与拟合的概率密度函数一同绘制出来:

Quantopian量化交易16最大似然估计

示例代码

Quantopian量化交易16最大似然估计

拟合图示

对资产收益进行最大似然估计

接下来我们会根据真实的收益数据,使用最大似然估计法对其进行正态分布拟合。首先我们对于数据进行下预处理,得到基于前日收盘价的每日收益率

Quantopian量化交易16最大似然估计

得到每日收益率

然后可以通过scipy去正态拟合

Quantopian量化交易16最大似然估计

正态拟合示例代码

Quantopian量化交易16最大似然估计

拟合图示

注:当然,只有拟合的数据本身是服从正态分布的时候,上述的拟合过程才是有效的,通常可以使用Jarque-Bera检验去做正态检验。

发布者:股市刺客,转载请注明出处:https://www.95sca.cn/archives/76899
站内所有文章皆来自网络转载或读者投稿,请勿用于商业用途。如有侵权、不妥之处,请联系站长并出示版权证明以便删除。敬请谅解!

(0)
股市刺客的头像股市刺客
上一篇 2024 年 7 月 12 日
下一篇 2024 年 7 月 12 日

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注