本文关键词
量化选股 | 投资策略 | 股票选择
从个人的性格来说,我更喜欢那些可以买入之后可以立竿见影地看到效果的股票,因此个人交易更偏向于短线。
倒不是贪图交易的快感,而是为了培养自己对市场的敏感。
我做短线一般是如何选股的呢? 为此,我设定了一个“新高股模型”。
这种选股的方法属于趋势交易的一种,根本的方法论是:价格会沿着阻力最小的方式运动,价格创出新高的票往往会继续创新高,价格创出新低的票往往会继续创新低。
这种方法论存在的底层逻辑是:市场中大多数散户存在“处置效应”和“损失厌恶”的两种心态。
当股票发生利空的时候,散户的“处置效应”让他们想要捂股回本,因此舍不得卖出,这波人就变成了股票下跌过程的“多头”。在这波人想通股票真实价值之前,股价会产生持续的的卖压,股价向下接近价值的路会走得比较堵塞,最终展现出来“跌跌不休”的状况。
当股票发生利好的时候,散户的“损失厌恶”让他们恐惧利润回吐,因此小赚就卖,这波人就变成了股票下跌过程的“空头”。在这波人想通股票真实价值之前,股价也会产生持续的卖压,于是股价向上接近价值的路也会走得比较堵塞,最终展现出来“涨了还涨”的状况。
外加我国独有的涨跌停板和T+1交易限制,会让股票价格向价值运行的路走得更加堵塞。
在欧美那种成熟的市场,就不怎么出现这种事——股票出现利空利好的时候都是用一条大阳线或大阴线直接一步到位,解决问题。
基于这种现象,我设定了一个选股模型,设定了如下选股规则:
规则1:当日收盘价创6个月新高——为了近期趋势向上;
规则2:当日市值大于200亿——为了避开市值太小的盘子;
规则3:当日成交额大于2亿——为了避开流动性太差的盘子;
规则4:剔除ST股票——为了避开有退市风险的股票;
规则5:上市2个月以上——为了避开近期的新股;
筛选的过程如下:
1、下载过去6个月的所有沪深非ST股票的每日收盘价、市值、成交额数据;
2、在excel表格里进行如下的逻辑筛选:
1、下载过去6个月的所有沪深非ST股票的每日收盘价、市值、成交额数据;
2、在excel表格里进行如下的逻辑筛选:
(1)获取一只股票过去6个月的最高收盘价(不含今日收盘价);
(2)“今日收盘价”除以“过去6个月的最高收盘价”,记录该比值,下文以X代替;
(3)若X大于1,则说明今日收盘价创出过去6个月新高,根据A股的交易规则,X的范围应该在满足1<X<1.2,因为目前沪深股票的单日涨幅限制是20%;
(4)此时去看该股票的市值和成交额,若当日市值大于200亿,当日成交额大于2亿,则该股票被选中“今日新高股”的名单里。
(5)按照上述逻辑,对Excel表格里的所有股票做一遍筛选,确定最终的股票池。
3、汇总结果,生成一份“今日新高股”的股票池名单备用。 这样的工作,我在每个交易日收盘之后都会做一次,除了下载数据需要手动以外,后面的筛选工作都是自己写的一个脚本在自动运行,很方便。
比如今天运行出来的结果就是这样的:
有人会问:如果按照这个名单选出来的股票无脑买入,未来能保证赚钱吗?
那当然是不确定的。
那当然是不确定的。
我们的需要做个回测,研究一下该策略在历史上能不能赚到钱。
回测的方法有很多,限于篇幅,今天就只说一个,让小白感受一下方法即可。
我下载了2016-2021年这五年里的所有股票数据,含每日开盘价、收盘价、成交额、市值数据。
我下载了2016-2021年这五年里的所有股票数据,含每日开盘价、收盘价、成交额、市值数据。
按照上述方法进行回测,回测要比选股多一项“买卖规则”。
我把买卖规则定为:
当日创出新高后以次日开盘价买入,出现一只票就花费1元钱买入(实际操作中肯定不能买入1元钱的股票,这里主要是为了程序化计算),分别持有5/10/20/30个交易日,观察收益情况。
我根据新高幅度X的数值把数据分成了5组,对应如下:
组0: 1≤X<1.015,这组的数据是创新高的幅度不足1.5%的股票;
组1: 1.015≤X<1.035,意思是创新高的幅度达到1.5%,不足3.5%的股票;
组2: 1.035≤X<1.065,意思是创新高的幅度达到3.5%,不足6.5%的股票;
组3: 1.065≤X<1.095,意思是创新高的幅度达到6.5%,不足9.5%的股票;
组4:1.095≤X<1.2,意思是创新高的幅度达到9.5%,不足20%的股票,约等于涨停股;
假如每次都按照这样的规则机械买入,收益如何呢?
大数据处理的结果如下:
这张图的横轴是上述的5个分组,纵轴是持有5天的综合收益情况,即按照T+1日开盘价买进,按照T+6日收盘价卖出,各组平均每只股票可以获得的收益。
上图结果的解读如下:
组0的平均收益是每只股票千分之2;组1、组2、组3的平均收益约等于0;组4的平均收益约等于每只股票亏损 0.4%。
这张图告诉我们:不要去追那些短期内涨幅很高的股票,追涨容易亏钱。这里面,组0代表着比较“温柔上涨创新高”的股票,虽然每只股票有千分之2的平均收益看起来也还行,但这种算法是忽略手续费的,对于我们小资金来说,如果买的量比较小,每只股票的交易费用还不止千分之2。
综上,用这种“创新高、次日开盘买入,持有5日按收盘价卖出”的方法买卖股票,几乎不会赚到钱。
如果持有10日、15日、20日呢?
我按照同样的方法也做了一遍检验,结果如下:
(持有10个交易日的涨幅情况)
(持有15个交易日的涨幅情况)
(持有20个交易日的涨幅情况)
上述结果汇总如下:
(1)新高幅度越大,买入价格就需要追涨的,越追涨收益越低;
(2)在这种策略里,越温和创新高的股票,未来的收益偏高;
(3)持有时间越长,会放大收益和损失的差距,例如持有5天的平均收益在-0.4%至+0.2%之间,但是持有10日的平均收益范围就扩大到了-1%至+1%之间,持有20日的平均收益范围扩大到了-1.5%至+1.5%之间,时间越长代表变数越大,这一点也好理解。
这样看起来,利用0组的股票,去持股10-20个交易日的方法似乎是有机会赚到一些钱的,但距离散户使用,还会存在一些瑕疵:
(1)历史未必会重演,过去5年的数据不一定会在未来重复;
(2)这需要等额资金买入,且有时候需要一天按照收盘价买入上百只股票,对于散户来说不一定具备可操作性;
(3)这是针对2016-2021的5年数据进行的回测,在不同的年份、甚至不同的月份,该策略的收益情况肯定有所差异,需要长期坚持才可能有效果;
(4)真实的股市还有许多影响因素,例如该模型还有成交额、市值、大盘的牛熊状态等指标没有放进来,难免会有考虑不周之处未来如果有机会,我会把更多的变量放入模型,争取做出来更优质的结果。
总结
相比于散户的盲目选股法、精神选股法、信仰选股法或拍脑袋选股法,这种通过明确量化指标来选股的方式至少具备以下优点:
1、所有信息都是外界可获得的客观数据,杜绝了人为主观因素的干扰;
2、所有数据都可以转化为量化指标,因此可以用多种数学方法进行处理;
3、可以得出明确的数学结果,例如“平均收益率是1%”,而不是“XX肯定要涨/要跌”之类模棱两可的结论;
4、可以建立一套自我迭代,新陈代谢的选股体系,研究方法具备可复制性,只要花时间且方法正确,我们就可以不断精进,越做越好。
(全文完)
特此提示:本人仅有“投资拾贝人”和“投资地文星”两个公众号,发文时候的作者署名都是“独鹤先生”,其余文章多为“特约发布”,皆非本人所写,希望大家多多宽容,并谨慎看待。
感谢你看到这里,如果喜欢本文,请于文末点赞和“在看”,或者转发给身边的朋友们,你们的支持是我前进的最大动力。
相比于散户的盲目选股法、精神选股法、信仰选股法或拍脑袋选股法,这种通过明确量化指标来选股的方式至少具备以下优点:
1、所有信息都是外界可获得的客观数据,杜绝了人为主观因素的干扰;
2、所有数据都可以转化为量化指标,因此可以用多种数学方法进行处理;
3、可以得出明确的数学结果,例如“平均收益率是1%”,而不是“XX肯定要涨/要跌”之类模棱两可的结论;
4、可以建立一套自我迭代,新陈代谢的选股体系,研究方法具备可复制性,只要花时间且方法正确,我们就可以不断精进,越做越好。
(全文完)
特此提示:本人仅有“投资拾贝人”和“投资地文星”两个公众号,发文时候的作者署名都是“独鹤先生”,其余文章多为“特约发布”,皆非本人所写,希望大家多多宽容,并谨慎看待。
感谢你看到这里,如果喜欢本文,请于文末点赞和“在看”,或者转发给身边的朋友们,你们的支持是我前进的最大动力。