用数据验证彼得林奇的策略是否有效

因变量Y
2022-10-17

最近花了些时间写了套简易的量化系统,用来帮助学习和构建交易系统。遵循着“先模仿再创新”的原则,初期先拿大师们的经典策略练练手。本文就来验证彼得林奇的策略是否真的有效。

分为重点提炼、策略转化、回测效果和总结四部分。

重点提炼

之前写过一篇《彼得林奇的成功投资》的读书笔记,其中总结的内容较为简单片面,这次重新提炼其思想中可量化落地的点,并重构为四个部分:大盘行情、股票筛选、交易信号、仓位管理。

1.1 大盘行情

彼得林奇将行情划分为四个阶段,并认为应该根据市场情绪做逆向投资。在四个阶段大众的态度分别是不愿谈论、几乎没人注意、都有交易和讨论、都在推荐股票,随着阶段递进,市场情绪是在不断高涨的。当大多数投资者预感股价将上涨或经济将好转时,往往意味着行情结束,逆向投资则是耐心等待市场热情冷却后再入场

1.2 股票筛选

彼得林奇在评估公司好坏时有使用一些财务指标,比如市盈率、现金头寸、负债比例、现金流量、存货、收益增长率、税后利润等。

此外他倾向于高频消费行业、规模较小、持股机构较少、在回购股票以及内部人士有增持的公司。对于热门行业的热门股、在增发新股的公司会回避不买。

1.3 交易信号

交易信号分为股市大盘和具体个股两方面。

对于大盘,彼得林奇认为在特殊时期入场比较合适,比如股市崩盘、大跌、激烈震荡、像自由落体一样直线下跌的时期,该时期容易发现特别便宜的股票。

对于个股,他觉得习惯性地卖出“赢家”、死抱住“输家”和卖出“输家”、却死抱住“赢家”这两种策略都十分失败,他认为更好的策略是根据股票价格相对于公司基本面的变化情况来决定买入和卖出

1.4 仓位管理

股票数量方面,彼得林奇认为对于小的投资组合,持有3~10只股票比较合适。

资金分配方面,他对增长型股票的投资占比不超过30%~40%,周期型股票占比10%~20%左右,剩下的投资困境反转型公司的股票。

策略转化

提炼了思想重点,接下来就是转换为可执行的策略。

2.1 大盘行情

逆向投资依赖于对市场情绪的判断,怎么计算市场情绪,首先想到的是通过全网的发帖数计算讨论热度,但现在网络被割裂为了一个个信息孤岛,没法统计全网数据。那就计算单一孤岛的信息,通过对主流财经新闻的文本做情绪分析,通过积极词的占比变化算出震荡指标,以此来判断市场情绪。

这两个都局限于情绪字眼,其实用成交量之类的指标更客观合理些,当然这是后话。

2.2 股票筛选

在彼得林奇的筛选条件中挑了相对行业利润率、每股收益同比增长率、资产负债率、销售利润率、存货周转次数同比增长率、市值、股东增持、公司回购等11条,部分指标转换为同比增长率。

因为几乎没有股票能通过全部条件的筛选,改为对各项增加权重参数打分,做成排行榜,每个交易日更新

2.3 交易信号

这里将其交易策略简化为市场情绪和排行榜两个要素。

市场情绪悲观时买入,买入排行榜前n名。市场情绪乐观时卖出。

2.4 仓位管理

买入时的仓位为账户资产的n%,卖出时全部卖出。

彼得林奇将公司分为6种类型,不同类型股票的资金占比不同,这里不做区分,并将交易仓位简化为固定仓位。

此外这里的参数都是n是因为没有固定的数值。参数在策略中是很重要的变量,下文中可以看到,相同的策略不同的参数组跑出的结果差异会非常大。

回测结果

分析思路主要有两步,一是对策略各部分的参数进行优化,是否能找到表现较好且稳定的参数组,二是观察该策略在非回测日期段是否依然表现较好。评判标准是看相对指数是否有超额收益,这里选沪深300为对照指数。

参数优化使用蒙特卡洛算法,即通过随机参数组,跑出收益率分布情况,筛选收益率较高的参数组。因为策略中参数较多,全部随机耗时巨大,所以每次只对部分参数进行伪随机数组合回测。

策略默认参数:收取手续费、印花税,设置滑点,剔除北交所板块,剔除ST、退市股票,指标计算时使用前复权价格,交易时使用未复权价格。

3.1 股票筛选

选择回测的日期段为2020/01/01-2020/12/31,分为固定交易参数、随机权重参数,以及固定权重参数、随机交易参数两类进行回测。其中交易参数包含交易频率、仓位、排名比例等。

图1 随机权重参数

图2 随机交易参数(交易频率为月)

数据显示

  • 利润率、存货、每股收益等指标设置较大的权重值时,收益率表现好的概率较大
  • 使用上述权重进行随机交易参数回测,策略收益偏正,但是超额收益偏负。
  • 最右侧的19组因为都是单次交易仓位0.3和排名>=4,结果都一样,可视为1组。

这表明完全使用财务指标选股并做定期交易,不太能跑赢市场。推测可能是遗漏重要指标、财务数据有滞后性或者底层的财务数据有问题

3.2 大盘行情

只靠财务指标筛选不太可行,那加入对交易节点的判断,是否能提高收益率呢。

上文提到最初是想通过新闻文本中的积极词占比波动来表示市场情绪,计算出的指标见图3底部的RSI_EMO,如图所示新闻的情绪表达较为强烈且反转很快,并不适合作为指标使用。

图3 沪深300周线图

不过根据词频做成词云,快速定位周期内的关键词倒是可以。

图4 词云(2022/10/10-2022/10/14)

回到正题,情绪最终还是会体现在行动上,也就是多空双方的势能,那就改用中长期的趋势指标MACD试试,当MACD值为负且缩小时视为空头力量减弱,也就是市场悲观情绪放缓时买入,反之则为市场乐观情绪放缓时卖出。

图5 随机交易参数(加入MACD数据)

通过与固定交易节点的回测数据(如图2)比较,可以看到根据市场情绪进行买卖后,整体收益率的范围明显收窄,但是超额收益变化不大,这里感觉不太合理,后续会进一步验证。(两图的组数不同,是因为两种策略的参数略有差异)

3.3 整体策略

以上主要是在2020/01/01-2020/12/31的时间段内的回测结果,还需要看看在非特定时间段的表现。

这里根据大的行情周期将时间划分为2016/01/01-2018/12/31、2019/01/01-2022/10/01两段,在两个大的周期内分别随机100组时间段并回测,其中每组时长都大于90个交易日。

图6 随机日期(2016/01/01-2018/12/31)

图7 随机日期(2019/01/01-2022/10/01)

数据显示

  • 策略在本周期中的表现不错,超额收益偏正,而在上个周期的表现明显不如本周期。
  • 看具体表现,大部分策略的盈利都是在上涨行情中实现,下跌阶段也有盈利组但数量较少。

说明一是策略有一定的有效期,需要保持对策略的跟踪并针对市场变化不断调整;二是在行情的不同阶段,可能需要不同风格的策略做切换。

此外发现个问题,就是为什么在同一个周期内,策略在2019/01/01-2022/10/01的表现好于2020/01/01-2020/12/31,查看具体的账户数据发现是因为有些上涨行情横跨两年,后者因为被切割没有吃到对应的上涨行情,使得收益表现不如前者。

图8 账户收益(2019/01/01-2022/10/01)

筛选表现较好且整体相对稳定的参数组,账户表现如图8所示,区间收益率124.07%,最大回撤27.56%,贝塔0.61,阿尔法0.19,夏普比率0.74,清仓次数48次,胜率47.92%,盈亏比2.27,其中清仓次数是个股的清仓数据。

总结

  • 彼得林奇在评估公司价值时,财务指标占了很重要的比重,但是完全用财务指标选股的策略在A股不太能跑赢市场。
  • 可以参考唐朝的思路,用财务指标做交叉验证,对公司进行排雷。
  • 不要被市场情绪带着跑,逆向投资不能保证一定能盈利,但亏钱概率比前者小。
  • 策略有一定的有效期,需要不断跟踪并针对市场的变化作调整。

通过历史数据回测来提炼策略,有种先射箭后画靶的感觉,是否真的有效还是得在实盘中验证。此外如何避免用巧合数据得到过拟合的策略也是需要注意的问题。

分享我的交易策略
交易策略分享,说一说自己在交易中的那些神操作吧,你的idea说不定价值百万!
免责声明:上述内容仅代表发帖人个人观点,不构成本平台的任何投资建议。

精彩评论

发表看法