Python说:这个炒股指标是我见过最废的,没有之一

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/xingbuxing_py/article/details/100152155

引言:

邢不行的系列帖子“量化小讲堂”,通过实际案例教初学者使用python进行量化投资,了解行业研究方向,希望能对大家有帮助。

【历史文章汇总】请点击此处

【必读文章】EOS期现套利,一周时间,15%无风险收益

                     10年400倍策略分享(附视频逐行代码讲解)

个人微信:xingbx007,有问题欢迎交流


Python说:这个炒股指标是我见过最废的,没有之一

现在随便打开一个炒股APP,发现在股票K线图的下面,都会默认显示一些奇怪的指标。

比如下图这个看上去很高级的KDJ指标:

网上搜索下,发现这个KDJ指标好像都很厉害的样子。如下图所示,它由三根缠绵在一起的折线组成,这3根线的名字分别叫K、D、J

网上说,KDJ指标又叫随机指标,由美国人某某某发明,据说它综合了“动量观念”、“强弱指标”和“移动平均线”的优点,运用了先进的......

你能不能直接点?

说人话就是,KDJ号称可以预测股票的涨跌

例如,当KDJ中的K线,从下往上穿过D线时,形成"黄金交叉",俗称金叉,这个时候就预示着股价会上涨,应该买入股票。

下图中,某股票在7月21日的金叉之后,股价果真一路上涨:

当K线,从上往下穿过D线时,形成"死亡交叉",俗称死叉,预示着股价会下跌,这个时候就应该卖出股票。

例如在下图中,特锐德这个股票,在03月9日的“死叉”过后,股票确实一直下跌:

看到这里有的朋友可能会觉得,这是炒股秘籍啊!买了就涨、卖了就跌,赶紧投钱,从此走上人生巅峰!

然而我们是熟练使用Python的人!怎么可以随便相信别人说的,而自己不去实证一下呢?

我们接下来就来做一件疯狂的事情。

我们准备通过Python,将一个股票历史上所有的金叉、死叉情况都找出来,并且统计之后的涨跌情况,看看KDJ指标金叉、死叉的买卖点是否真的有效!

哼,用数据说话,这才是我们会Python的做法!

我们先选择万科这个股票,找到它从1990年上市到最近的股价数据,如下图所示:

然后用以下的Python代码计算出万科股票每天的KDJ指标:

就是这么简单,复杂的指标只需要6行代码,Python大法好!

想要代码和股票数据,可以加邢不行的微信xingbx007获取。

接下来找出万科历史上所有金叉死叉的交易日期,如下图所示:

根据图中数据,截止到最近万科股票历史上总共出现过1444次金叉或死叉,其中金叉、死叉各572次。

我们先统计在这572次金叉后,股票的涨跌情况:

总共出现过572次金叉,在这572次金叉之后的1天后,股票上涨的比例是49%;3天后,上涨比例是51%;5天后上涨的是51%;10天后,上涨比例是50%

上涨的比例居然普遍是50%???!!!

不是说好了金叉之后股票就会上涨的吗?怎么还有一半的情况是下跌的?

这样的话,和抛硬币买卖股票又有什么区别?

那既然金叉不行,我们再来看下死叉。死叉之后股票下跌的概率是否会显著大于50%呢?

下面是数据:

......这是在搞笑吗?

死叉后下跌的比例居然还经常不到50%??难道死叉还成看涨信号了?

金叉、死叉买入法失效,会不会是万科这个股票不行呢?换个其它股票是不是就行了?或者是因为数据量太少?

为了消除以上的顾虑,那我们索性就把所有3500多只股票的金叉、死叉的都找出来看看。

反正对于Python来说就是写个循环遍历下所有股票而已,小事一桩。

很快的跑完程序后发现,历史上所有股票总共出现过170万次金叉和死叉。

170万次,这次数据量肯定够大了。想要代码和股票数据,可以加邢不行的微信xingbx007获取。

下图显示出现金叉和死叉之后股价涨跌图:

在85万次金叉后,股票上涨的概率是50%左右......

在85万次死叉后,股票下涨的概率是50%左右......

怎么还是50%啊!!!

某些有一定经验的炒股朋友会说,不能简单的看见金叉就买进、看见死叉就卖出,还有更高级的用法。

比如只有当KDJ三条线处于底部低位的时候,此时金叉买入的成功率更高;或者当KDJ三条线处于顶部高位时,死叉卖出也会更有可能盈利。

那我们就修改下Python程序,根据以下条件进行筛选:

     1 低位金叉:D值小于20且形成金叉

     2 高位死叉:D值大于80且形成死叉

根据程序结果,金叉死叉次数由原来的170万降低为24万

以下是低位金叉和高位死叉之后股价涨跌比例:

结果是,所谓低位、高位,并没有什么用...

稍微有所安慰但又有点讽刺的是:意外发现高位死叉,这个理论上的卖出指标,反而是个很好的买入指标,大约有55%的胜率。

以上的数据表明,KDJ这个看上去高大上的指标,其实真的和抛硬币来买卖股票没啥区别。

所以我也不知道为什么,众多的炒股软件会把它当做默认选项来展示。建议将本文转发给正在炒股的朋友,免得被继续误导。

并且,我们刚刚使用Python和数据来验证指标的有效性,并且尝试去优化,整个过程其实就是量化投资当中的回测。

任何客观的投资方法都可以使用Python代码实现,然后利用历史股票数据验证其有效性。在验证赚钱之后再投入实战,而不是盲目的尝试,这就是量化投资最大的优势。

推荐阅读

2018量化炒币7大玩法复盘 | 视频、PPT分享

收藏!量化小讲堂前50篇合集(含代码)

量化投资中经常使用Excel,可能会被同事打

警惕!数字货币交易所排名陷阱:到底哪家交易最活跃?(下)

历年排名前10的基金,在第2年表现如何?Python告诉你答案

在量化投资中,原来K线还能这么画(附画K线代码)

联系作者

如果你想入门量化,但是始终找不到方向,可以加入我的知识星球。我会在里面解答你的问题,分享我的感悟,不论是投资、技术,还是职业选择、思维方式。

                                                                       -- 学习和成长从来都不是一个人的事 --

猜你喜欢

转载自blog.csdn.net/xingbuxing_py/article/details/100152155