はじめに:
興の記事のシリーズではない「量的小さな講演では、」誰にでも役立つことを期待して、投資を定量化するためのpythonを使用して実用的な例を通して、業界を理解するための研究を、初心者を教えます。
[歴史]要約記事、クリックしてくださいここに
必読記事] [ EOS裁定、週、無リスクリターンの15%
10年400回戦略シェア(線でのコード行を説明するために添付動画)
個人的なマイクロ手紙:xingbx007は、共有してください問題があります
Pythonは言う:この株価指数は、ほとんど私が今まで見てきた廃棄物ではないものです
今だけの在庫APPを開いて、以下の株式Kの折れ線グラフで発見されたデフォルトでいくつかの奇妙な指標が表示されます。
たとえば、これは以下の非常にシニアの図に見えるKDJの指標:
そして、オンライン検索の下で、私はこのKDJインジケータが非常に強力な方法だ見つけました。以下に示す組成、一緒に触れる3本の折り線から成る三行は、K、D、Jと呼ばれるその名前。
オンラインでは、「確率論的指標、いわゆるアメリカ人発明として知られているKDJインジケータは、結合すると言われている、と述べた勢いの概念を」、「RSI」と「移動平均利点」、高度の使用..... 。
あなたは直接指すことはできませんか?
トーキングは知ら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代码实现,然后利用历史股票数据验证其有效性。在验证赚钱之后再投入实战,而不是盲目的尝试,这就是量化投资最大的优势。
推荐阅读
历年排名前10的基金,在第2年表现如何?Python告诉你答案
联系作者
如果你想入门量化,但是始终找不到方向,可以加入我的知识星球。我会在里面解答你的问题,分享我的感悟,不论是投资、技术,还是职业选择、思维方式。
-- 学习和成长从来都不是一个人的事 --