Python教程 第7节: 探索单均线系统——历史平均收益率最佳均线分析

在前几节的内容中,我们打下了使用Python进行分析和视图的基础。现在,我们可以进行一个更加有趣的分析,不同指数下,使用单均线系统时的历史平均收益率最佳均线长度是多少?

简单单均线系统回顾

在第4节中,我们构建了一个简单的单均线系统,详情可见链接。现在,我们将在此基础上进行改进。

构建单均线系统的收益函数

首先,根据上节的内容,我们可以创建了一个名为 strategie.py 的文件,把单均线系统的收益函数放进去。

这个函数有两个输出:一个是关于时间的总资产的DataFrame,另一个是总收益率。

修改主文件 main.py

接下来,我们修改了主文件 main.py,使用 matplotlib.pyplot 中的 bar 函数绘制柱状图,横坐标表示不同的均线长度,纵坐标表示总收益率。

在这段代码中,我们使用了 matplotlib.pyplot 中的 bar 函数绘制柱状图,bar函数中的第一个参数是横坐标,也就是均线长度,第二个参数是纵坐标,这里是总收益率。

代码中_在Python中表示不需要使用的变量,这里相当于一个占位符。

sma_size_range用于测试从2天到10年的均线,我们看一下输出的效果图。

使用日k线,收益最高的均线长度是318,按照美股一年252个交易日计算,大约相当于1.247年。但是,即便是最高点的总收益也没到100,而这段时间纳斯达克100指数的总收益是162.984倍。

测试不同周期的数据

通过替换代码中的周期,我们测试了周K和月K数据。具体如下:

周k的最高点是110周均线,最高收益大概122倍。

月k的最高点是25个月均线,总收益大概123倍。

结论

我们可以发现:

  • 使用周k和月k做分析决策,长线看来是有优势的,因为可以过滤掉很多市场的杂音
  • 单均线系统在任何情况下都没有超过指数自己本身的收益,所以使用单一均线反复买卖操作,在纳指上是得不偿失的。

最后,大家可以试试其他指数,看是否会得出相同的结论。

0 0 votes
Article Rating

Leave a Reply

3 Comments
Inline Feedbacks
View all comments
Jax Luo
1 year ago

找到原因了,我直接copy文章里的代码,main文件最底下这一行漏掉了
if name == ‘main‘:
main()

Jax Luo
1 year ago

请教一下是什么原因呢,执行的时候没有弹出柱状图,只看到控制台显示下面信息
Process finished with exit code 0

error: Content is protected !!
Scroll to Top
error: Content is protected !!
Scroll to Top