安德烈亚斯·克列诺在《趋势永存》中讲到了一个基于股票的动量交易系统,该系统经过测试,年化收益率基本上在12%以上,部分年份的收益率甚至接近40%。
要知道,这是一份长期的交易系统,短期框架的收益率可能会更高,但难以容纳较多的资金,所以小散户喜欢搏短线。大资金容易引起冲击成本和滑点,所以只能在大的时间框架上运作,所以9550亿美元市值的伯克希尔只能做价值投资。
作为长期的交易系统,能够长期跑赢大盘,这已经非常不错了。
而克列诺吸引我的地方在于,他提出了很多反常识的看法,你曾经以为理所当然的东西,其实是错的。
1,股票是做不了趋势交易的!!!这是一个非常、非常反认知的观点。
很多人用技术指标做趋势交易,什么MA20和MA100金叉,或者MACD金叉,但是,在股票这个品种里,这么做是没有用的。但是当这些东西传到中国的时候,只会玩A股的股民们,照着依葫芦画瓢,其实是没有用的。股民们不知道,这些技术面的东西,只适合期货。
如果有读者干过这种金叉买死叉卖的活儿,回忆一下,你赚到钱了吗?
趋势交易的发明,本身就是为了期货交易而存在的。
趋势策略,在期货领域,是非常棒的,即使看起来简单,但它非常有效。过往几十年赚钱的期货市场策略,无论看起来做么神奇,什么双均线,什么MACD,什么维加斯通道,它们的本质都是在跟随趋势。所谓的跟随趋势就是,你用某种方法判断趋势上升了,你就做多,趋势下行了,你就做空,头尾不吃,就吃中间,至于是什么指标,都是次要的。
所以你会发现,有双均线的高手,也有MACD的高手,也有裸K的高手,他们本质上都在做趋势跟踪策略。
不过趋势策略要做得好,有个前提,那就是足够分散化。不信的话,就去看海龟交易法则,海龟策略的发明人对单个资产的头寸做了明确限制:
单个市场,单位头寸上限4个;相关度高的多个市场,上限6个;相关度低或不相关的多个市场,上限10个;单个方向(多头或空头),上限12个。比如,当我持有4个多头头寸的豆粕(农产品)后,即使小麦也出现了多头建仓信号,我也绝对不能做,但我可以去做黄金(贵金属)、国债(利率)的多头。当我持有12个多头头寸后,即使再有什么看多的机会也绝不能做,接下来只能做空。
但是,你去看看网上那些把海龟策略搞成量化的,他们做回测的时候,无一例外,都在用单一品种来做,有的甚至是用股票来做。
然而,交易系统里面最重要的是头寸和资金的管理,根本不是技术面!!!你要双均线判断信号也行,你要用布林线判断信号也行,问题是,你是否像海龟一样分散化?
趋势交易系统,能在期货市场上赚到钱。现在期货市场上五花八门的交易系统,本质上都是趋势跟踪策略。但是,趋势跟踪策略在单一资产上表现比较差。所以,海龟交易系统为什么有效,根本不是神奇的“突破20日高点建仓”,而是这个,是这个!
单个市场,单位头寸上限4个;相关度高的多个市场,上限6个;相关度低或不相关的多个市场,上限10个;单个方向(多头或空头),上限12个。
股票不能做趋势交易,原因在于股票没办法分散化。不要以为买入茅台和迈瑞就是分散化,股票作为一整个大类资产,往往是同涨同跌的,虽然会有某些板块跑出独立行情,但很少。你试图分散化买入20只股票,它们彼此的相关性还是很大,不是期货的那种分散化。在期货领域,农产品和利率,可能真的是不相关的。
所以,别再用技术面的东西来做股票了,你是在错误的道路上越走越远,毫无意义。
天天花时间钻研那些指标,真的赚不到钱。
2,股票做的是动量交易体会一下两者的差别:
期货做的是趋势交易。股票做的是动量交易。啥是动量交易呢?简单来说就是强者恒强,涨得好的股票,继续上涨的概率大。
在A股,这不是很熟悉么?
那些喜欢打板追涨停的,其实就是在做动量交易:今天涨停的,明天大概率连板,那些涨得高的,涨得快的,现在看起来最牛×的,明天大概率继续牛×。
它和趋势交易的表现一样——趋势大概率会继续,牛股大概率会继续牛——但其实是有差别的。
3,为什么有的人在个股的趋势跟随上赚到大钱?很简单,你只是选对了股票。
你刚好在合适的时候,选了合适的股票,比如前段时间你全仓了英伟达,你以为你在做趋势交易,其实是在选股。
这就对了。
期货的趋势交易系统,你选择什么品种是不重要的,只要趋势出现了,进去就是了,但是当你持有一个头寸时,下一个头寸最好是不相干的。当你做多农产品时,下一个就不要再玩农产品了。你学的那些技术指标,在期货市场是有用的,因为它们是趋势是否形成的信号。
股票的动量交易系统,本质上就靠选股,而不是乱七八糟的均线。
想想国内那帮游资们不就是这样的?呀,这只股票异动了,呀,昨天新闻联播提到XX行业了,搞进去,涨停。它们靠什么MACD了吗?没有。
所以我看完立马给了个5星。
知道自己为什么炒股不赚钱了吗?
你熟读日本蜡烛图技术,熟悉各类指标及其算法,你股龄十几年,都没有用,你在用错误的方法炒股。人家期货玩的东西,你照搬过来,你以为都是图表,都是K线,却不知道在交易系统里面,技术分析是最不重要的环节。你对股票和期货之间的本质差别不了解。
4,熊市就休息这是第一原则。
在A股,是不能做空的,即使在美股,做空也是有限制的,也比较麻烦。
美股牛长熊短,所以如果做股票交易,就不要像期货一样做对冲,你就当个死多头。如果标配500(大盘)在EMA200之下,那就什么都别做,去休息。
我们的目的是赚钱,不是装×,你的目的是赚钱,而不是为了证明自己是股神。不要在熊市里寻找动量强的牛股,然后证明自己多牛×。在熊市,你就休息。
这是第一原则。
很多人沉迷于方法,却忘了自己要做什么了。
这里出现了技术指标(200日均线),技术指标是可以辅助的,但不是信号。比如大盘在EMA200之上,只是代表现在是牛市,它只是告诉你趋势,不是告诉你可以建仓,记住,它不是信号。
大环境是牛市,动量系统表现会更好,市场更容易送钱,那我就做。
大环境是熊市,船是一起往下沉的。
我的目的是赚钱,我要做锦上添花的事,我不想证明自己技术多牛×。
5,在牛市中选股大盘是不是在牛市中?是的。满足这个条件,才开始选股。
怎么选?我们知道动量交易的逻辑就是寻找涨得最好的股票,
你可以有很多方法来衡量“涨得好”的股票,比如将最近90天的股价进行线性回归并计算它的斜率。因为线性回归的斜率按货币表示,不好对比不同股票的动量,所以使用指数回归,计算出日均回报额。日均回报额太小,还需要换算成年化回报率。
但是,如果有些股票是突然高开的,会不会影响曲线斜率呢?会。我们希望找到稳定上涨,有持续动能的股票。比如最近受益于猴痘的Bavarian Nordic。
当你回归出曲线的时候,把斜率乘以拟合度,拟合度越低,乘积机会拉低斜率带来的权重。这个乘积就综合考虑到了股票的动量和持续盈利的能力。
C列是股价,D是对股价取对数,E是用Slope()对D取斜率。为了在F列中获得年化收益率, 我们需要使用Exp()函数来转换回归斜率以得到每日收益率,再计算其250次方(1年250个交易日)就能获得年化收益率。通过RSQ()函数计算拟合度,并与其年化收益率相乘。最后根据调整后的年化收益率对股票池中的股票排名。
下一步,剔除非大盘成份股,这里的案例是标普500。因为标普500成份股就是按“动量”法则选出来的——过去表现好的,选进来,表现不好的,踢出去。
到这里已经非常好了,但你可以再加两个过滤条件:
股价在EMA100以下的,踢掉。90天里有超过15%以上的跳空缺口的,踢掉。然后根据仓位管理方法自上而下买入,直到用光资金为止。
这可能会造成某个行业过于集中的情况,那么是不是应该限制行业的分布呢?比如要求某个行业的股票不能超过3只?没必要。因为既然是动量,肯定是挑出了某些风口行业、风口主题的,AI表现肯定比银行要好,你没必要放弃有动量的AI而去配置银行。
6,买几手?前面说根据仓位管理方法自上而下买入,直到把钱花完为止。那么分别买几手呢?
我们希望每只股票都带来一样的风险,所以波动率(ATR20)大的,少买点,反之多买点。
假设我有10万总资金;我希望,每只股票的风险占比,不超过0.1%(因人而异);也就是,每一只股票的日均波幅不超过10万*0.1%=100元;某只股票的ATR(20)是3.26,意味着它最近20天里,每天平均波动幅度是3.26元;所以我要买100/3.26≈30股。虽然有的股票买的多,有的买的少,但整体算下来,每只股票带来的日均波动幅度是一致的。你的资金量最好能买入20只左右的股票,如果太少,波动性比较大。
7,动态再平衡定期做一次更新,重新计算股票排名。
从新计算ATR,从新计算各个股票的仓位。
然后调整。
你可以每半个月或每个月调整一次即可,注意,这是长线策略。
为了避免频繁换股,你可以给已持仓股票更大的宽容度,比如你准备买入Top20的股票,但你已持仓的某只股票依然在30名以内,可以考虑继续持有而不是替换。但是,你依然可以增加两个过滤条件:
如果投资组合中的某些股票不再是股票池的前20%;或者低于其100日均线。就把它剔除。
注意,这里的再平衡分为两个:
投资组合的再平衡:也就是重新选股。头寸的再平衡:也就是利用ATR重新计算每只股票的仓位。投资组合再平衡的频率应高于头寸再平衡,你可以每周进行一次投资组合再平衡,寻找需要买卖的股票,然后每月(或每半个月)调整一到两次个股的头寸规模就足够了。也就是说,你要每周做一次选股,先捞进来,但可以每个月用ATR计算一次这些股票的仓位。
每周只选择一天来做交易日(调整日),坚守规则,交易日之外,股票再怎么波动都跟你没关系。每周的这一天负责投资组合再平衡,不符合要求的就踢出去,符合的拉进来,头寸可以粗一点。每个月,再进行一次头寸再平衡,好好利用ATR算一次合理仓位,然后做出调整。
8,关于量化的忠告不要陷入过度拟合的泥潭。用数据挖掘的方式,找到一个“神奇数字”,比如EMA29和EMA133金叉会涨之类,这是玄学,是对过去的过度拟合,未来表现会让你失望。
用理念、逻辑来开发交易系统,而不是数字。如果你非要去寻找什么神奇指标、神奇数字,就算尝试100次也是没用的,因为本质上是没有变化的。
但是,不是在反对回测,你的策略要加入什么规则,减去什么规则,也是靠回测才知道的。没有回测的交易系统,是在瞎做。
一个好的交易系统,你就算修改了一下数字,它的表现应该也要是没太大差别的。如果你把29均线改成28,它就不行了,那你这个系统大概率也不行,你只是对历史数据做了过度拟合而已。
我们应该“让利润奔跑”吗? 这个系统让你定期审查,降低高ATR的股票仓位,但是难道我们不应该继续持有一个强势的头寸吗?注意,第一,这一结论并不正确;第二,我们无法依靠几个大道理就过好这一生,因为真实世界远非如此简单,投资亦是如此。
那我们应该“截断亏损”吗?有些交易策略需要使用止损方法,而另一些则不需要,动量策略正是后一类。
克列诺对华尔街的至理名言“截断亏损,让利润奔跑”这句话提出了质疑,他并没有说这句话是错的,但这句话是有适用条件的,不是所有交易系统都要这么干。投资者往往被那些所谓的投资真理、交易经验所迷惑,比如这句名言, 然而这些经验并不是总是有效的。你需要的是运用常识和批判性思维,而不是断章取义的“至理名言”。
林教头的解释:克列诺为什么在这里反对“截断亏损,让利润奔跑”?因为这句话的前提是你在使用趋势交易,然而记住,我们现在在讲的是动量交易,两者不一样。动量交易就是持有动量最强的股票,你要做的是选股、换股,就这样。如果一只股票变弱了,但趋势还在,你是否要“让利润奔跑”?如果你这么干,你失去了投资其他高动量股票的机会,你只是死盯着一只看似还有“趋势”的股票,但你其实能赚更多钱。
不要过度优化,你犯了过度拟合病。如果你用这个策略,结果这几次一买就跌,一卖就涨,也不要乱改。
本系统中出现的数字,比如EMA100,为什么不是EMA150?为什么是90天,不是60天?这些数字是有意义的,但是随机的,如果一个系统要依赖所谓的神奇数字才能发挥作用,它一定没用。
你可以对策略进行鲁棒性测试,多选几个数字(这个数字要有意义,不能乱选,比如90天、60天都挺符合长期策略周期),如果结果差别不大,说明交易系统可行性强。如果某个参数,你变一下就不行了,说明策略有问题,你只是过度拟合。
策略必须是符合逻辑的,而不是依赖某种神奇数字。比如,考虑拟合度(下表的R平方)修正后的选股条件,年化收益率12.4%,那你只考虑拟合曲线的斜率,而不打算用拟合度来修正呢?也行,年化也有12.9%。如果你不做回归曲线,而是单纯用“最近90天的上涨幅度”作为选股条件呢?也行,年化也有12.7%。