如何找到经验数据集(股票收益)的最佳拟合参数分布?

数据挖掘 Python 分配 scipy 金融
2022-02-17 03:57:46

给定一些实值经验数据(时间序列),我可以将其转换为直方图以获得数据的(非参数)经验分布,但直方图呈块状且参差不齐。

相反,我想从分布函数或分布函数库中识别出最合适的参数分布,以便我可以人为地生成一个参数分布,该分布与我的真实数据的经验分布非常吻合并且是连续的。scipyscipy.stats

例如,如果经验数据是经验 AAPL 股票回报的月度回报,我知道参数Johnson-SU 分布类似于并且可以模仿股票回报分布,因为它具有可定制的偏斜。然而,Johnson SU 分布scipy需要校准四个输入参数。如何从scipy适合我的 AAPL 回报样本的经验分布的参数分布中搜索最佳参数设置?

1个回答

首先,如果您想找到适合您的数据的最佳分布,您只需迭代地将您的数据拟合到分布的长列表中。Scipy 支持其中的大多数。拟合后,您可以使用 KS-test 找到最适合的分布,也可以使用拟合误差来决定。该解决方案可以满足您的需求,该帖子中的其他解决方案也是解决您问题的好方法。

此外,如果您确定您的分布是Johnson-SU 分布,要查找参数,请使用 Scipy 的 fit 函数,该函数将返回最能代表您的数据的参数。

a, b, loc, scale = scipy.stats.johnsonsu.fit(data)