Py学习  »  Python

以前嗤之以鼻,现在逐字学习!用Python量化缠论,一键自动生成交易信号 | 附代码

邢不行 • 5 月前 • 146 次点击  


这是邢不行第 113 期量化小讲堂的分享

作者 | 邢不行、密斯锌硒



一千个人眼中有一千个哈姆雷特,我们只是尽可能的去量化我们理解的部分缠论的思路。


我们过往在文章中多次聊过技术指标,如MACD、KDJ等等,也聊过一些K线形态,如跳空回补、锤子线等等。


点击上图查看文章


近几年也一直有人问我能不能对缠论做量化,本文就来做相关尝试。



01

缠论的介绍


1

缠论介绍


先给不了解的小白介绍下缠论。


缠论是由网络名人“缠中说禅”的“教你炒股”系列文章整理而来,于2006年6月7号正式面世。



据说缠论适合一切具有波动走势的投资市场,如股票、权证和期货等。


某百科缠论介绍


2006年那个投资者普遍相信技术指标和形态的时代,缠论一经问世就备受追捧


被认为是全世界最有用技术形态分析体系,时至今日仍被很多人在研究和学习。


缠论的作者缠中说禅在2008年停更此后便再未出现,网传他的真实身份是大A当年第一只百元股亿安科技的操盘手李彪。



3

缠论分类


按照缠论的体系,可分为分型、笔、线段、中枢与走势四层结构。这些要素一起构成了缠论最后的买卖判断



篇幅有限,会分为系列来写,本文先聊缠论中的分型,并分享分型的量化方法



如果你认可下文的思路,以后就可以用我给的代码来判断所有股票在缠论中的分型


如果你认为我有错,也可以借鉴我的思路,尝试自己去量化缠论



02

缠论的K线


1

缠论K线


了解分型前,我们需要谨记一点:缠论中的K线寻常K线不相同



传统K线通过上下影线和箱体来表现股票当天的开高收低和涨跌幅,且区分阴阳线


在缠论中K线只保留最高价和最低价,其他则被视为无效信息。


传统K线和缠论K线


后文聊到的所有K线也都特指这种处理过的特殊K线。


2

K线关系


缠论将两根相邻K线的关系分为两种。


有趋势关系的是不存在包含关系没有趋势关系的被称作包含关系



缠中说禅认为包含关系的K线过于混乱影响价格趋势的分析 。


他选择去简化这些K线,直到所有K线两两之间都不是包含关系,例如下图:



3

包含关系处理


包含关系的K线具体该如何处理?


比如下图中的两组K线,K线1K线3上升趋势,同时K线1K线2相互包含



缠论中的处理较简单粗暴:用一根新的K线4来代替K线1和2。



K线4的最高价最低价分别取自K线1和2中相对较高的最高价和最低价。


原有的三根K线就此变为了两根K线组成的不包含关系



同理,K线1K线3下降趋势,也是类似的处理方式。



只不过K线4取自K线1和K线2中相对较低的最高价和最低价。


概括而言即:上升取高,下降取低。



更具体的解释如下:



据此不断向后处理,即可得到相邻K线间存在清晰上升或下降位置关系的新K线组合



上述内容对部分学过缠论的人来说较基础,但理清这些是量化缠论的关键



我也再重新申明,上文所言都是我自己理解的缠论。如果有不同的看法也欢迎指正和探讨



03

K线预处理


1

数据&代码


相信90%以上用缠论交易的人都还在自己在行情软件上画图找买卖点的阶段,这样做耗时耗力


我们做量化交易的断然不会自己手工去一根根处理K线,必然要借助A股历史数据和Python代码



具体的数据我已经帮大家整理妥当,包含了所有股票(包括已退市的股票)上市至今每天的开高收低价格,甚至可以计算复权价,非常的完备。



有了数据后就可以借助Python代码去做相应的计算处理:



如果你需要这个数据和代码的话,可以加我微信xbx297,都是可以免费发给你的


2

程序结果


程序运行结果如图所示:



处理后的相邻K线间都只存在上升和下降关系,一目了然。这张图就完全符合缠论处理K线的思想


研究缠论的人看到这张图应该会很开心,毕竟之前只能照着行情软件的K线去处理,无法很好地表达缠论K线的特点。


而上图不仅包含了全部历史数据,还异常简洁,没有一点多余信息。



懂行的人想必发现这个数据和代码的珍贵了吧,只需一键运行代码,即可直接画出K线,用它找到缠论的买卖点也就一蹴而就了。



至此我们完成了缠论中所有K线的预处理。下面就可以用它找出历史上所有的分型了



04

缠论的分型


1

分型定义


缠论中的分型由3根相邻K线构成


这3根K线并非连续上升或下降关系,而是呈现走势反转的形态。



分型又分为底分型和顶分型,两者定义如下:


顶底分型定义


2

分型信号


缠论中底分型的出现意味着股价跌至低位即将反弹,是抄底和建仓的信号


顶分型的出现则意味着股价即将见顶,是卖出的信号。



当然分型结构还比较基础,不能完全作为买卖点的信号来做判断。


但缠论中真正的买卖点就是以分型为基础来构建的,具体内容我们下篇文章再讲。



3

数据&代码


知道了分型的定义,又手握处理过的K线数据,我们就可以借助Python代码来找到所有股票历史上所有的顶底分型


具体代码我已经帮大家准备好了,如果你需要的话,可以加我微信xbx297,都是可以免费发给你的



4

回测结果


程序运行结果如图所示:


红色方形:顶分型     绿色三角:底分型


可以清晰看到指定时间内股票的所有分型的位置。


这个图能帮使用缠论的节省大量时间,去做更有意义的研究。


实际分型信号在图示中后一天


5

尾声


至此我们大概介绍了缠论中K线的处理方法,并对新的K线做了最基础的分型应用。


缠论的内容还有很多,篇幅所限今天先讲到这。


如果本文对你有帮助的话,欢迎多多点赞,点赞破100的话,后面我们就来讲讲缠论中对分型的进一步应用,也就是缠论中划线分析的最基本结构:


缠论的笔


05

后记


文章的最后,和大家分享一点量化投资的心得。


经常有人问我小白如何入门量化投资,有什么资料分享。


我特意为大家准备了一个《量化投资新手学习大礼包》






首先是我们自己总结的适合零基础新手的量化投资学习路径,可以让你知道自己每一步需要达到什么阶段。



接下来你可以通过我整理的量化文章合集,来更全面的了解量化投资到底是什么。



我还精选了适合各个学习阶段的策略研报合集,正如我一直所说,量化研报是很好的量化实践项目,深度研报可以显著提升你的量化水平。



这一份代码则适合喜欢研究技术指标的人,你可以跟着教程轻松计算出所有技术指标,并测试这个指标的有效性。



如果你有一定的基础,还可以尝试回测一些策略,我为你准备好了十几个不同类型的经典策略和它们的代码,相信总有一个适合你自己去魔改开发,运用到实盘。




最后也是最关键的,量化的基础就是准确的历史数据,我会送你一份股票历史日线数据和一份财务数据,你可以用它测试所有技术指标和财务指标,也可以用来回测大部分策略。




识货的你一定能够发现这个大礼包的价值吧。如果你需要的话,可以加我微信xbx297,都是可以直接免费发给你的。




往期文章推荐

技术指标消亡史:从独领风骚到泯然众人 | 量化交易者如何看待技术指标,技术分析还能用吗?| 【邢不行】

微盘股还能买吗?量化轮动策略轻松跑赢指数12倍?!只会买指数ETF也能做量化?| 【邢不行】

大A为何频繁跳水,Python量化1200W条交易数据给你答案!| 【邢不行】

A股贵如金?Python量化验证AH股溢价效应,跟着买15年18倍?| 附策略代码

跟着基金买,别墅靠大海?买基金重仓股票,会破产吗?| 附最新选股结果 |【邢不行】

抓了几千万条热门股数据,用Python量化验证后发现结果竟然...... | 【邢不行】

抓了几千万条热门股数据,用Python量化验证后发现结果竟然...... | 【邢不行】

当我们谈论量化时,我们在谈论什么?量化投资常见策略有哪些?| 融券T0和高频交易详解|【邢不行】

散户反着买,别墅靠大海?股票上了龙虎榜还能买吗?【邢不行】

量化交易一定是机器人+自动化+高频交易吗?| 常见量化交易误区合集,新手脱坑入门指南 | 【邢不行】

抄底总在半山腰?抄底A股的时机何时到来?|【 邢不行】

投资不识筹码峰,炒遍A股也枉然?| 如何用python计算筹码分布数据 |【邢不行】

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/170145
 
146 次点击