4 资金流统计
有了数据后,我们通过计算散户卖出金额占比这个指标,来寻找每天被散户卖出最多的个股。
我们统计了散户疯狂卖出的那些股票在未来1天/3天/5天的收益表现,具体结果如图所示:
当散户卖出金额占比超过60%后,它在未来上涨的概率非常高,对应的平均涨幅也很惊人。
以上就是之前文章的概述,感兴趣的同学可以去看一看相关内容:
【 】用Python量化散户操作,然后反着来,胜率尽然高达...?! 附代码【上】 - 量化投资 - 经管之家(原人大经济论坛) (pinggu.org)
【 】用Python量化散户操作,然后反着来,胜率尽然高达...?! 附代码【下】 - 量化投资 - 经管之家(原人大经济论坛) (pinggu.org)
02 「统计」到「实操」
通过前面的研究,我们得到了一个好的统计结果。但直接按这个结果去交易的话,又很难获利。
1 策略难点
比如我们准备了100万资金,去交易散户卖出占比高于60%的股票,该如何操作呢?
假设某天收盘后计算最新数据发现,有3只股票满足条件,我是否要在第二天开盘用100万去均仓买入它们呢?
如果我按此交易,等第二天收盘后,我又发现有5只股票满足买入条件。
但我已没有资金再去买入。此时无论是卖出持仓去买入新股票,还是直接忽略选中的股票,都不合理。
2 其他难点
另外还有其他的难点。
比如我该何时卖出股票?如果当天没有股票满足买入条件该如何操作?或者当天选出股票太多资金不够又该怎么解决?
所以要将统计规律转化成可实操的策略,这期间有非常多的细节值得思考。
并且不同的人有不同的想法,这也导致了实际策略的千差万别。
下面分享一下我的应对方法。
03 事件策略
1 事件策略
我们把这类型的策略称为事件策略。
当股票满足某种条件:如当天散户卖出金额占比超过60%,它就触发了我们定义好的某个事件。
类似的事件还有很多:
比如某股票发布净利润预增的公告,或被分析师上调评级,或上了新闻联播等。
又或者股票达到了某种技术指标的特定状态,如 MACD的金叉死叉/顶底背离等。
我们可以对这些事件进行统一的量化分析。
它们的共性在于,明天有多少股票触发事件完全是未知的。有可能是零只,也可能是几千只;有可能许久不会触发事件,也可能接连触发。
2 事件构建
那该如何构建事件策略?
首先我们把操作资金分成 N 份,比如把100万分成3份,每份33万左右。
在某天收盘后,选出散户卖出占比大于60%的股票,并从高到低排序。
第2天开盘时,用第1份资金的33万,均仓买入排名前3的股票,持有3天后卖出,期间不管这些股票涨上天还是跌成狗,都不做任何操作。
第2天收盘后,重新选出当天散户卖出占比大于60%的股票,并进行排序。
第3天开盘时,用第2份资金的33万买入排名前3的股票。
如果选到的股票在开盘时涨停,导致无法买入,我们就跳过,去买入下一排名的股票。(如排名第1的股票涨停,则买入排名2/3/4的股票)
第4天开盘时,用第3份资金的33万只买入1只股票或者直接空仓。
第4天收盘时,我们卖出第1份资金持有的股票,并重新选出满足条件的股票。
第5天开盘时,用资金1买入相应的股票,再次持有3天。
其他资金同样按上述规则运行,如此循环往复。
这样就形成了一个完整的、精确可执行的量化策略,我称它为事件策略。
专业量化机构较少使用这种类型的策略,它们更喜欢使用选股策略。我对事件策略研究较多,因为它更适合个人散户的操作习惯。
04 策略表现及优化
我们既然构建了这么一套复杂的、基于散户卖出金额占比的事件策略,那按照策略去交易,最后能赚多少钱?
1 策略表现
我们很难用手工去计算出想要的结果,需要借助Python编程来完成。
代码运行结果如图所示:
策略的年化收益高达33%,买入胜率也有57%,最大回撤控制在了35%。
这个结果确实可以说明,散户大量卖出的股票,长期系统性的看表现较好。
但它并不是完美的,有几年时间策略呈现明显的下跌趋势。
需要注意的是,虽然上述策略涨幅惊人,但这样的表现在我们看来也仅是差强人意。甚至可以明确的说,这样的策略我们是绝不会实盘使用的。
但作为基础策略,它却是非常好的研究的开始。我们可以把散户资金流出作为核心数据,结合自己的经验,在原有策略基础上,进一步优化,以此得到属于自己的新策略。
我自己实盘中的某个子策略,就是这样研究而来的,实盘效果非常不错。
接下文