Py学习  »  Python

我用Python量化了1000万次散户操作,然后反着来,胜率竟然高达...?! | 你可以永远相信散户!

经管之家 • 1 年前 • 161 次点击  


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

作者 | 邢不行




有这么一批人,他们是股市的中坚力量,占据了A股流通市值的半壁江山


他们擅长在3000点高地打持久战,敢于和资金量远超自己的对手近身肉搏,在市场大起大落之时,总能看到他们视死如归的身影。


这就是我们今天的主角,A股市场的生力军:散户。



01

散户反着买

1

散户传说


在A股市场上,散户是真正做到了为国接盘的侠之大者。


但一直以来散户却备受嘲讽,被看作韭菜的代名词。甚至还有一句俗语流传甚广:散户反着买,别墅靠大海


值得一提的是,一直以来市场上广为流传的俗语,都是我们量化策略开发的灵感源泉。


本文就尝试从这句俗语入手,构建一个量化策略,来看一看到底是散户反着买,别墅靠大海,还是跟着散户买,天天发大财。


如果你有其他觉得可以回测的股市俗语的话,可以扫描下方二维码或加我微信xbx783和我交流。



2

抄散户作业


我曾在《妙用北向资金找出大盘买点、卖点,跟着操作6年4倍》中说过,投资最幸福的事情,是有人一直对,我们照着抄就行,比如北向资金、社保基金等。


第二幸福的事,是有人一直错,我反着来就可以了,他买我卖,他卖我买。



从经验来看,散户不正是这样的角色吗?所以这次我们就尝试跟着学渣,反着操作,反向抄一波作业。



02

龙虎榜探索


1

散户大本营


想实现上述策略,就要有散户操作的相应数据。


数据对量化投资至关重要,没有数据就是巧妇难为无米之炊。


我找到了一个非常合适的数据来验证猜想,这个数据和东方财富这家券商有关。


作为全国最大的互联网券商,东财的主要客户群体就是散户



在东财开户后,无论你身处何地,都会被统一归结到它在拉萨的几家营业部


散户大本营


由于这些营业部的交易量大多来自于散户,它们也被称为散户大本营


需要注意的是,这几家营业部也是龙虎榜的常客


2

龙虎榜简介


有同学可能不知道什么是龙虎榜,这里简单介绍一下。


每个交易日都会有一些股票的价格出现异常的波动,只要符合下图中任意一个条件的股票,交易所就会把它列出来,放到一个榜单上,这个榜单就是龙虎榜。



3

龙虎榜表现


只要上了龙虎榜,交易所就会公布买入和卖出该股票活跃的营业部


找到龙虎榜的历史数据,就会发现东财的东环路第一证券营业部经常上榜


我还发现了某财经网站,它统计了该营业部在上榜后相关股票的未来表现


东环路上榜后结果惨淡


细看上表,可以发现该营业部相关的股票,上榜后大概率是亏的,且上榜越久亏得越多,同时胜率也极低,简直就是追涨杀跌最好的反面教材。


并且除了东环路第一营业部,东财的其他三家营业部也有相应数据,表现也是同样的惨不忍睹



更为魔幻的是,这个统计还是来自东财的官网,妥妥的我打脸我自己。


感兴趣的同学可以扫描下方二维码或加我微信xbx783,把相关网址发给你们,大家可以去围观一下。



言归正传,通过龙虎榜数据我们可以初步判定,散户的操作确实不行。


但这个数据有一定的局限性,毕竟每天能上龙虎榜的股票是很有限的,东财的营业部也无法代表所有散户的操作。


如果数据不够全面,那基于这个数据构建的量化策略就会有失偏颇。所以我们需要寻找其他可靠的数据。



03

资金流数据


1

资金流概念


我曾写过一篇文章,介绍过大家在炒股软件上经常能看到的资金流入流出数据


比如某股票的机构资金流入、散户资金流出,以及主力资金流入、大户资金流出等。



我在这篇文章里也详细讲过资金流数据是如何计算出来的,感兴趣的可以去看看。


邢不行 | 量化投资中如何计算机构、主力、散户资金流数据


我先简单说下结论:实际上资金流数据它只是一个简单的近似的模拟,它通过算法估算出机构、散户相关的资金流入流出数据,而不是真去汇总了所有机构、大户、中户、散户的买卖数据。


2

资金流数据


我同样帮大家整理好了数据,包含了所有股票(包括已退市的股票)上市至今每天的开高收低价和资金流数据:如散户买入/卖出金额、机构买入/卖出金额等等,非常完备。


数据情况如图所示:



我们还可以这样来看数据。比如2022年3月31日这一天,浦发银行的成交额是20690万,其中散户买入6106万,中户买入6146万,大户买入5773万,机构买入2663万。


我们就能知道散户资金在浦发银行当天的交易中占了多大的作用。


如果你需要这个数据的话,可以扫描下方二维码或加我微信xbx783,都是可以免费发给你的。




3

散户卖出信号


既然我们要反着抄散户的作业,那理论上散户集中买入的股票我要卖出,散户集中卖出的股票我要买入。


这其实是多空策略,我们可以同时做空和做多,但考虑到 A 股目前无法自由做空个股,我们只能构建一个单边的做多策略,也就是去买入散户大量卖出的股票。


那我们该如何判断哪些股票是散户集中卖出的呢?


比如在2021年12月31日,我们针对散户卖出额从大到小排序,看看当天散户卖出成交最多的股票是哪些。



需要注意的是,股票的市值和成交量都有大小之分,大市值股票天生成交量就高,小市值股票的成交量就低。


所以我们不能通过绝对值来判断某个股票有没有被散户集中卖出。


我们要看相对值,去找散户卖出金额占成交额比重最高的股票,这些才是被散户集中卖出的。




04

散户表现统计


1

数据统计


据此,我们计算出所有股票每天的散户卖出额占比,并尝试做出下表来进行初步统计。



这张表统计了散户卖出金额占比大于10%的情况在历史上共出现905万次左右,其中在次日上涨的次数大概是450万次,上涨的概率是49.75%,平均涨跌幅是0.07%,跟抛硬币相差无几。



我们不仅只看1天,还可以看未来3天/5天的数据。当然你会发现都和抛硬币一样。


我们还可以看大于20%、大于30%、甚至大于90%的情况。



按照预期,比例越高时,应该更容易展现出明显的预测效应


我们很难用手工去计算出这张表格的结果,需要借助Python编程来完成。



如果你需要相关数据和代码的话,可以扫描下方二维码或加我微信xbx783,都是可以直接发给你的。


2

统计结果


代码运行结果如图所示:



首先我们可以明显的看到散户卖出金额占比越高,出现的次数就越少。比如占比大于90%的情况只出现了9600次。


而随着占比越高,未来上涨的概率也越高,平均涨幅也越大,特别是占比大于80%和90%的时候,胜率已经达到了惊人的65%+,平均涨幅甚至有4%+、8%+。


大家要知道,在 X 场里面庄家只要相对你有51%的胜率就可以赚的盆满钵满了,60%+的胜率有多惊人也就可想而知了。


散户卖出金额占比越高、股票未来表现越好的统计结果,也这正应了那句俗语:散户反着买,别墅靠大海


3

策略衍生



至此,我们通过对资金流数据的分析,得到了一个较好的统计结果


但我们还没有办法通过这个结论来赚钱。因为你有了结论,也不知道如何执行交易


因为我们量化策略需要非常的精确,它会明确的告诉你什么时候买什么股票、买多少、占多少仓位、什么时候卖出。



我们还可以得到策略相应的资金曲线,看看你根据策略买卖,到底是赚是赔。



到底如何将前文的表格转化成一个清晰的量化策略呢?由于篇幅有限,我们下期再讲。


如果你对这个策略的构建有自己的想法,也欢迎扫描下方二维码或加我微信xbx783和我交流。





05

后记


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


很多人问我小白如何开始学习量化投资,有什么可以书单推荐


我的建议是千万不要直接找本书来看。


你找本编程书看,那跟着敲完“Hello World”就结束了;你找本数学书看,那看到第七页的公式就睡着了。



更好的学习方式是做实际的项目,在实践中学习量化策略。


研报就是很好的量化实践项目。


一篇研报就是一个策略,作者都是年薪百万的高学历券商分析师,你要做的就是读懂策略研报,并用代码实现。


在此期间什么不会学什么,哪里不会点哪里,抱着解决问题的心态去学习,事半功倍。


熟读唐诗三百首,不会作诗也会吟。


那么哪里可以获取研报呢?


你可以扫描下方二维码或加我的微信xbx783,我这里有分门别类几万份研报,还会实时更新


我会区分难度,精选之后发给你。


加我微信xbx783后,也可以交流量化投资相关问题,我比较忙,回复的比较慢,但是看到的都会回复。


聊的开心,聊得有缘,很多量化的数据、资料都是可以送给你的。


也可以翻翻我朋友圈的内容,很多量化干货。一些不会公开发的内容,都会在朋友圈说。




联系作者

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