Python says: This stock index is the most I've ever seen waste, not one

Disclaimer: This article is a blogger original article, follow the CC 4.0 BY-SA copyright agreement, reproduced, please attach the original source link and this statement.
This link: https://blog.csdn.net/xingbuxing_py/article/details/100152155

introduction:

Xing series of posts not "quantitative small lecture," teaches beginners through practical examples using python to quantify the investment, research to understand the industry, hoping to be helpful to everyone.

[History] summary article, please click here

Must-read article] [ EOS arbitrage, a week, 15% of the risk-free return

                     10 years 400 times Strategy Share (attached video to explain the code line by line)

Personal micro letter: xingbx007, there is a problem please share

 


Python says: This stock index is the most I've ever seen waste, not one

 

Now just open a stock APP, was found in the following stock K line chart, will by default display some odd indicators.

For example, this looks very senior figure below KDJ indicators:

 

 

Under the online search and I found this KDJ indicator seems very powerful way. As shown below, which consists of three folding lines touching together composition, the name of which three lines are called K, D, J .

 

 

Online said, KDJ indicator known as stochastic indicator, the so-Americans invention, it is said to combine " concept of momentum ," " RSI " and " moving average advantage", the use of advanced ..... .

 

You can not directly point?

Talking is, KDJ known can predict the ups and downs of the stock !

例如,当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线代码)

 

联系作者

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

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

 

Guess you like

Origin blog.csdn.net/xingbuxing_py/article/details/100152155