前言
这篇发帖,是基于 Peter Carr教授 与 Marcos López de Prado先生 于2013年发表的文章《Determining optimal trading rules without backtesting》和我前同事所做的后续分析《无需回测以确定最优交易规则》, 提出了策略止盈止损的设置原则。为了简化表述和降低阅读难度,本文的讲述以定性为主;如有兴趣了解具体的数学推导过程和Python代码,可以点击前面的公众号链接文章。
另外,根据我的发帖习惯,还是先给出结论:
一、原则的理论解释
一般来说,关于策略参数的优化,比较常见的做法是使用通过步进调整参数,去跑大量的回测业绩,从而获得一个相对比较好的参数。但这样做的主要问题是,很有可能出现“过拟合”的情况 —— 与之相反,本文提出了不通过历史回测的方法,能够在不同的特征场景下,可以通过数值方法找出最优平仓规则设置所在的区域,并可以规避由历史回测方式来优化策略或会产生的过拟合问题。当然,这里也是有前提的:资产价格遵循离散的Ornstein-Uhlenbeck过程(对于本文来说,你就默认当它满足吧)。具体的推导过程,参见:《无需回测以确定最优交易规则》
典型的结果,可以参见下图 —— 绿色越深,表示夏普比率越高、结果越好:
二、原则的定性结论
1、关于均衡业绩的解释均衡业绩,可以大致看做长期持有一类资产的投资回报。
- 均衡业绩 > 0:股票、可转债、债券,这些有正现金流的资产
- 均衡业绩 = 0:大宗商品期货(我以前做过回测,长期持有GSCI指数30年以上,其投资回报主要是由用于抵押品的美国国债的利息创造的,而非商品价格的长期上涨)
- 均衡业绩 < 0:买彩票、去赌场长期多频次的博彩,以及其他数学期望为负的游戏
2、关于止盈止损的设置原则 —— 总体上,止盈要小、止损要宽;彩票少买
对于 均衡业绩 >= 0 资产,交易策略的参数设置,应遵循“止盈要小、止损要宽”—— 这一点似乎有点反常识;因为最经典的说法是“Cut loss,Let profit run”,也就是“及时砍仓,让利润奔跑”;这种说法的潜在意思,似乎是“止损要小、止盈要宽”。
三、找个例子,测一下:
我找了一个业绩很普通的小市值策略,来测试一下上述的定性结论。1、小市值基准的构建
以A股市场(剔除上市不足1年、ST股票)中流通市值最小的10个股票,采用年度调仓的方法,构建小市值基准指数。
2、小市值策略的构建
选股细节:略
调仓评率:每天
止盈和止损的参数:均为10%
3、通过大量参数步进的回测,观察最高夏普比率出现的区域:
4、小结
通过上面的测试,可以看出:
1)小市值基准指数,长期均衡收益 约等于 0
2)根据前文的定性原则:止盈的参数,应当大约设置为止损的50%
3)从大量回测的结果来看,高夏普比率的出现范围,大致在【止盈 9%,止损 18%】这个点的周围
4)对比 2)和3),可以看出,定性原则和这个回测跑出来的结果基本相符
综上,我们可以得出,投资策略设置止盈止损的原则,不应该是“Cut loss,Let profit run”;而应该是“止盈要小、止损要宽;彩票少买”。
赞同来自: 户晋文 、zengyongqiang
不要择时,不要止盈,不要止损,分散持仓,网格交易,套利交易。
本人熟读《道德经》多年,主张顺应市场,排斥一切挖空心思试图高抛低吸对抗市场的做法。
赞同来自: 银河系马汶 、塔塔桔 、xineric 、gaokui16816888 、你猜再猜 、 、 、 、 、 、 、 、 、 、 、更多 »
个人今年已按照这个策略在进行实践。首先,谢谢你的关注。
其次,我也不是什么“大佬”、“老师”;咱们都是平等交流的网友,无需客套。
最后,作为一个老实人,我想说几句老实话:
1、在跑实盘之前,建议先做回测(果仁网 就行)—— 直接用真金白银,风险比较大、亏了心疼
从策略的研发思路到最终的策略细节固化,中间有很长的路要走 —— 回测,是相对高效且廉价的方法(虽然,回测的成功,可能存在过拟合;但是,回测不成功,且策略设计的现实逻辑又不够坚实,那么,实盘大概率是不行的)。
2、如我在前面跟帖中所说,“我自己绝大多数是时间止损,很少用设置阈值的止盈止损;主要就是担心“过拟合”的问题。”
3、坦率说,今年年初至今,其实不是应用上述止盈止损策略的一个好的入场时机
这个问题的结果,其实,你在跟帖中也说了 —— 目前是跑输沪深300;我的实盘策略也是类似的结果,1月至今,就是跑平中证500指数,绝对收益是赚了5%+,但完全没有超额收益。
我的回测中也有类似的情况,参见《读书笔记:复杂适应系统和股市周期》
核心原因就是,市场其实是有两个状态:趋势和震荡。
上述的止盈止损策略和我的量化策略刷波动,更适合在震荡(含下跌)市场中获得更多的相对收益和绝对收益。
而当市场在单边向上的时候,比如 2014.06-2015.06 以及 2023年1月这几天,基本就是跑平指数而已,完全没有超额收益。
虽然,这个模式切换,可以用复杂适应系统去解释;但是更通俗的说法,应该是《股票大作手回忆录》里的老火鸡在别人劝他逢高减仓时的回答:“为什么(不减仓)? 因为这是牛市啊!(模式切换了啊!)”
最后,希望你投资顺利!
赞同来自: 塔塔桔 、终极信息 、六毛 、钟爱一玉 、好奇心135 、 、更多 »
主要按照价值和成长因子进行配置(还有部分周期因子)
目前个人体会:
1、持仓体验较好,整体波动率减小
2、及时止盈满足了落袋为安的心理
3、截止到1月20日这个策略收益率4.45%,跑输沪深300 目前主要疑惑:
如果牛市继续,止盈过早,可能会持续跑输指数,待时间验证
主要改善对策:
提升周转率。
对已止盈的13只股票进行分析,主要来自消费,创新药共同特点是高ROE,因此在选股方面侧重高ROE进行
Ps:实盘持续验证中
赞同来自: 火星十三粥 、liuhong2533 、KKKKKKK
赞同来自: jackymin001 、小会砸
这个举例没看懂啊,小市值策略,止损了,那个标的不是还在小市值最低排着么,是指每天监测整个小市值总体盈利9%止盈,亏损18%止损?那止盈止损后什么时候开仓呢?
赞同来自: neverfailor 、aji008 、skyblue777
2、在合适时间价格窗口交易都是正确的。反之就是错误的。
3、任何交易方式都无法保证100%,都存在差错,引入负反馈系统,都需要纠错纠偏。
4、盈亏同源,盈亏未必对称的。
赞同来自: 邹大仙女 、zhuqi123456 、llllpp2016 、大魏忠臣毌丘俭 、低风险价值投资 、 、 、 、更多 »
这大概才是我和楼主谈不下去的主要原因吧。。。首先,关于这个的适用范围,建议你去读原文 —— 因为论坛人群的数学水平是参差不齐的,所以我只好讲大概、讲定性;事实上,即使是这样简化处理,阅读数量也明显少于其他发帖。至于具体的细节和真的想用于实操,还是去读原文吧。
其次,这个原则并不是告诉你怎么开仓,而是讨论开仓以后怎么优化止盈止损的参数,才能避免过拟合。
第三,我本人确实几乎不用左侧交易策略,主要是出于身体健康和心情舒适的角度;因为这类策略经常可以跑输基准指数很长时间,“看别人赚得多、我自己赚得少”,这种人性上的“嫉妒”很难克服,会让我感觉不舒服、很痛苦。
最后,论坛毕竟不是课堂,最多算是兴趣小组,我也只是介绍一个知识点罢了 —— 并且,也不能保证这个知识点就一定正确,毕竟学术总是在不断进步和发展的。
赞同来自: 陪伴成长
谢谢大佬指教。ylxwyj老师在贴中定性的部分,联系上下文及其举例,指出的此处止盈止损适用于基于股票累资产轮动模型,我觉得是充分的。
从一开始,我和楼主讨论的就不是一个问题:楼主讨论的是一个交易模型,我讨论的是这类交易模型的适用范围。
我认为楼主提出的这个交易模型的正误并不重要(我从不使用这样的交易模型),但我认为如果这个交易模型的使用范围不讨论清楚,那很可能会误导读者。再考虑到隔壁帖子中很多人对左侧交易和右侧交易都缺乏基本常识,这样的误导可能会更加严重。
我认为所有的交易模型中,因为盈亏同源的约束,区分左侧交易...
陪伴老师指出最终结论黑体字部分的“投资策略设置止盈止损的原则”,没有加上适用范围,可能被接触不深的同学进行错误引用,这个担心也是很有道理的。
我觉得两位老师在这里,讨论的不是一个东西。我举个例子。谢谢大佬指教。
一个频分多址的通信基站系统,每个基站的频率不同。
ylxwyj 老师设计的是一个多基站负载均衡系统,哪个基站上注册的终端数量多了,就会将部分终端礼送出境,推荐到终端少的基站上去重新发起注册。
陪伴老师设计的是一个单基站省电系统,如果这个基站上注册的终端数量少了,就关闭一些信道进行盛典,注册数量多的时候再打开。
这两个设计是独立的,有时甚至是相...
从一开始,我和楼主讨论的就不是一个问题:楼主讨论的是一个交易模型,我讨论的是这类交易模型的适用范围。
我认为楼主提出的这个交易模型的正误并不重要(我从不使用这样的交易模型),但我认为如果这个交易模型的使用范围不讨论清楚,那很可能会误导读者。再考虑到隔壁帖子中很多人对左侧交易和右侧交易都缺乏基本常识,这样的误导可能会更加严重。
我认为所有的交易模型中,因为盈亏同源的约束,区分左侧交易和右侧交易大约是最基本的要求之一。而一个左侧交易系统中如果引入楼主本文所讨论的这些概念,那将会是灾难。当然,这在楼主的投资理论和实践中并不会表现出来,因为楼主本身所依赖的,并不是左侧交易系统。
这大概才是我和楼主谈不下去的主要原因吧。。。
赞同来自: 邹大仙女 、小会砸 、大魏忠臣毌丘俭 、newsu 、流浪者 、更多 »
我认为我们对左侧交易的理解,可能有些偏差。我觉得两位老师在这里,讨论的不是一个东西。我举个例子。
个人看法,统计分析角度和个体交易角度,可能是完全不同的逻辑。
单纯的左侧交易,并不需要在所有标的个体的所有时候进行投资,而是只在概率对自己有利的时候(市场失效的时候)进行投资。所以,左侧交易本身就和全数据全周期的统计结果存在显著的差异。巴菲特语录:如果股票市场总是有效,我只能沿街乞讨。
在我提供的例...
一个频分多址的通信基站系统,每个基站的频率不同。
ylxwyj 老师设计的是一个多基站负载均衡系统,哪个基站上注册的终端数量多了,就会将部分终端礼送出境,推荐到终端少的基站上去重新发起注册。
陪伴老师设计的是一个单基站省电系统,如果这个基站上注册的终端数量少了,就关闭一些信道进行盛典,注册数量多的时候再打开。
这两个设计是独立的,有时甚至是相反的,但是应该是兼容的。
具体到这边,轮动模型,如果不考虑止盈止损,跌的时候是跌的少的换跌的多的,涨的时候是涨的多的换涨得少的,本身是更多的左侧特征,但此左侧又和彼左侧不完全一致
轮动模型的结论,并不完全普适于个股,甚至有的地方完全相反,这本身是一种正常情况。
ylxwyj 老师此处描述的是一个轮动模型,建议就轮动模型进行展开讨论。我觉得陪伴老师从一开始就歪楼了。
关于止盈止损,我的观点是适用于个券交易,不适用于个券投资,这点如陪伴老师所说,交易的止损点反而应是投资的买入点,关于个券的不展开说。
在轮动模型中设计止盈止损是个更复杂的状态。具体到小市值轮动模型,止盈的设置和小市值本身是同向的,价格上涨--市值增加--轮出;止损的设置和小市值本身是相反的,价格下跌--止损--市值更小了怎么办?那就会引入几个新的问题
1、止损是根据买入点为参考的。基于买入点轮出了跌幅18%的,反而可能买入跌幅相当但上次没买入过的,同时买入标的的市值大于卖出标的(因为新标的在上一轮筛选中未被选入)
2、止损卖出的标的,由于市值更小了,什么时候应该重新作为选股范围?如果没有时间间隔过滤,那么止损卖出了,在下一个间隔中作为更小市值股票重新买入了,那么止损的意义在哪里?如果设置了时间间隔,卖出的一段时间不纳入,那么这部分会不会过度拟合?如果设置了波幅变小重新纳入,那么之前是基于买入点的跌幅,现在基于实际波幅重新纳入,那又回到了止损的时候,当时轮出的和轮入的,当时波幅可能没区别,区别只在一个买了一个没有买。
所以我倾向,轮动模型用时间止损,大多数时候用时间止盈。
关于下面这句话,我更倾向于适用于多个(普适)个券分别统计,并找出分别“独立”适用于多个个券的设置,而不是适用于轮动模型。
"对于一个价格遵循离散O-U过程的金融工具,在所有设置了{止盈线、止损线}的交易规则组合中,存在一种设置,使得该组合所形成的绩效的夏普比是所有组合中最优的,并且,这种最优设置唯一。"
@ylxwyj
赞同来自: llllpp2016 、xyz6435
赞同来自: 邹大仙女 、菠萝小丸子 、小会砸 、坚持存款 、泛舟Rain 、 、 、 、 、 、更多 »
止损是止盈的2倍,那至少说明胜率是很高的。胜率高说明策略极其有效。那其实是如何在确保高胜率策略的基础上,通过止损止盈增加收益或者夏普率的问题。所以底层逻辑是,在策略能有持续高胜率的情况下,用宽止损忍受波动,用窄止盈增加轮动以享受高胜率带来的收益?我个人理解,主要还是资产特性决定的。
比如美股,以百年看,年化收益是6%。那么,如果你做多,长期看,胜率是100%。但是,短期,它涨多了会跌回来,跌多了会涨回来,所以止损放宽,止盈缩窄,就可以赚到更多波动的钱。
如果再放大细节,比如今年是跌的,那么你应该把止盈和止损都缩小。但是,谁能预判未来呢?所以,最简单的方法,就是忍着,忍到吃肉的那天。
嗯,我也不知道,我有没有说明白。
我利用果仁网简单试了试,当设置为止盈止损10% 10%, 年化收益率26%,夏普比率为0.77.当止盈设置为9%,止损设置为18%时,年化收益率为19%,夏普比率为0.54。反而降低了。这个不奇怪。我上面那个小市值的例子,年化收益最高是在止盈 10%,止损 14%。
如果你用果仁想测的比较全面,需要用一下智能调优功能。把止盈和止损的上下限都设为0-1,步进 设为0.01,这样大概有一万个测试点,然后再看看夏普比率或者信息比率最高的一部分是不是主要出现在止盈 :止损 =0.5:1 附近;结果应该和主帖倒数第一个图类似。
主贴的方法主要就是为了防止过拟合,换句话说,就是防止你的参数设置其实是和凑数出来的点,往周围一偏移,可能就会年化收益差很多。
赞同来自: pxyjs
当然有关系。时间序列分析的基础,就是时间不可逆。我认为我们对左侧交易的理解,可能有些偏差。
你只给价格,股价时间序列,可以是持续下跌趋势、也可以是触底上涨、也可以是U型见底的走法。如主帖所述,对于均衡收益不同的情况,应该采用不同的止盈止损策略。
如果你前面描述的是持续下跌,还没见底的股价走势;那应该属于数学期望小于0的资产类别,那么应该止盈很小、止损也小。
但是,如果是在整体所有A股中选股的均值回归策略组合,那么长期收益为正;则长期应该坚...
个人看法,统计分析角度和个体交易角度,可能是完全不同的逻辑。
单纯的左侧交易,并不需要在所有标的个体的所有时候进行投资,而是只在概率对自己有利的时候(市场失效的时候)进行投资。所以,左侧交易本身就和全数据全周期的统计结果存在显著的差异。巴菲特语录:如果股票市场总是有效,我只能沿街乞讨。
---------------------------
在我提供的例子中,我并不需要刻意打乱时间顺序给你提供数据。所以,即使不看具体的交易日期,这个交易周期的股价走势的主体结构,也很明显是一个U型或者V型反转结构。即使趋势中可能存在波动,也不改变这个大趋势。
我举这个例子的含义,是说明单纯的左侧交易,并不需要刻意进行 止盈/止损 操作。单纯的左侧交易,从第一个买入点开始,下跌越多,买入越来,价值回归之后的潜在收益就越多。
所以,当你在讨论 止盈/止损 的时候,你的逻辑就已经是右侧交易的逻辑了。
赞同来自: apple2019 、低风险价值投资 、rogerc 、量化投资先锋 、数据矿工 、 、更多 »
左侧投资只和价格有关系,和时间有什么关系呢?再说我已经说明了全部交易发生在一年以内,如果更具体一点的话:2020年12月~2021年12月。当然有关系。时间序列分析的基础,就是时间不可逆。
或者你先解释一下左侧交易和时间有什么关系吧。。。
你只给价格,股价时间序列,可以是持续下跌趋势、也可以是触底上涨、也可以是U型见底的走法。如主帖所述,对于均衡收益不同的情况,应该采用不同的止盈止损策略。
如果你前面描述的是持续下跌,还没见底的股价走势;那应该属于数学期望小于0的资产类别,那么应该止盈很小、止损也小。
但是,如果是在整体所有A股中选股的均值回归策略组合,那么长期收益为正;则长期应该坚持 止盈大致设定为止损的50%的设定 —— 因为,期间在个股上会遇到 下行、上行和U型的多种走势;但总体看,“止盈大致设定为止损的50%”可以让整体组合的夏普比率处于较优水平。
我们应该看的是投资组合、是多次博弈的整体最优解;而不是一次博弈的结果。
赞同来自: skyblue777
波动率止损,我没尝试过。我自己绝大多数是时间止损,很少用设置阈值的止盈止损;主要就是担心“过拟合”的问题。时间止损,有两个好处:一是参数少(只有1个)、过拟合容易被观察到;二是寻找最优点的工作量小,回测只需要考虑单变量,而止盈止损的回测数量是前者的平方。大多数时候我都是时间平仓,但想要更多一点的利润,那应该在时间平仓的基础上,利用最大值与最小值,在日内偏离度太大时主动平仓。类似于大幅度冲高回落前平仓,大幅度下跌反弹前平仓。
波动率止损,我没尝试过。最近研究一个日内的反转策略。思想是当价格突破最近一日的分钟线的2倍标准差做反向开仓。当价格到达均线做平仓处理,本质还是一个左侧的策略。
我自己绝大多数是时间止损,很少用设置阈值的止盈止损;主要就是担心“过拟合”的问题。
时间止损,有两个好处:一是参数少(只有1个)、过拟合容易被观察到;二是寻找最优点的工作量小,回测只需要考虑单变量,而止盈止损的回测数量是前者的平方。
统计了下,盈利笔数:亏损笔数 = 2:1。 每笔盈利均值 : 每笔亏损盈利均值 = 1: 3。
分析了每笔的开场到平仓的时间来看。当持有时间超过240分钟之后,累计平仓均是亏损的(详见以下表一)。
然后对持仓的时间进行了调整,当持仓时间超过240分钟之后就平仓。
统计结果,盈利笔数:亏损笔数 = 2:1。 每笔盈利均值 : 每笔亏损盈利均值 = 1: 2.2。
分析了每笔的开场到平仓的时间来看。当持有时间超过240分钟之后,累计平仓均是亏损的(详见以下表二)。
虽然时间能够降低些亏损,但是在对应的时间内,亏损是已经发生了。
好像excel不能上传。
赞同来自: 春秋战国
不是,无关左右。这个策略的前提和讨论是:我假设你已经建完并持有仓位了,然后我来告诉你怎么平仓比较好 —— 至于你的建仓策略是左侧还是右侧,都无所谓的。如果是左侧交易,那止损只会存在于估值层面(估值错了),而不会存在于交易层面。
也就是说,在交易层面,左侧交易如果跌了18%应该加仓,而不是止损。同理,9%的盈利也不足以匹配左侧交易的盈利需求。
以下是一个典型的左侧交易实际案例(为了便于讨论,简化了中间的分红),整个交易周期在一年以内:
价格 操作
14.11 加仓
13.05 加仓
12.86 加仓
12.21 加仓
11.59 加仓
10.57 加仓
12.99 减仓
14.99 减仓
16.91 减仓
20.49 减仓
赞同来自: skyblue777 、xineric
这个策略的前提,不就是右侧交易吗?不是,无关左右。这个策略的前提和讨论是:我假设你已经建完并持有仓位了,然后我来告诉你怎么平仓比较好 —— 至于你的建仓策略是左侧还是右侧,都无所谓的。
如果这个策略成立,那不就是证明右侧交易可行吗?
赞同来自: uime 、csfires 、你猜再猜 、gaokui16816888 、bismackzhang更多 »
开仓固定的前提下,平仓最优化的选择。波动率止损,我没尝试过。
1.时间平仓,回测期望值最优时间段
2.固定盈亏比平仓,+5/-10
3.波动率盈亏比平仓,1*平均振幅/-2*平均振幅,1/2是胜率上升,赔率下降,频率提高。2/1胜率下降,赔率上升,频率不变。
我自己是时间平仓+波动率平仓组合起来的。
1.日内盈在最优时间段之前到达预期振幅平仓(持仓浮盈>=最优时间段平均浮盈)
2.日内浮盈浮亏熬时间到最优时间段平仓(持仓...
我自己绝大多数是时间止损,很少用设置阈值的止盈止损;主要就是担心“过拟合”的问题。
时间止损,有两个好处:一是参数少(只有1个)、过拟合容易被观察到;二是寻找最优点的工作量小,回测只需要考虑单变量,而止盈止损的回测数量是前者的平方。