1赞

4评论

1收藏

什么是交易逻辑?如何规避策略过拟合?

avatar 秋心愁 | 449 人阅读 | 4 人评论 | 2023-04-05

       什么是逻辑?以下是一个简易逻辑示意图:
Untitled.png
       上图表示,以A为前提,在一定的条件作用下,必然会得出B。比如在地球引力的作用下(条件),一个有质量的物体(A)必然会往下落(B);比如人身体的运转需要能量(条件),如果人不进食(A),必然会饿死(B)。这种由A和条件推导出B的逻辑叫演绎逻辑,除此之外,还有由A和B推导出条件的归纳逻辑,由B和条件推导出A的溯因逻辑,不过最重要的还是演绎逻辑,因为它是必然导出,能够确定地获得我们想要的结果。
       我们进入市场做交易,想要的是一个赚钱的结果,这就是B,而交易行为是A,条件就是一种可以赚钱的交易策略。如图所示:
Untitled2.png
       可问题是行情的方向是不确定的,是不可预测的,怎么样才能保证一种方法必然是赚钱的呢? 我们不妨先把这个问题搁置一边,来看看赌场是怎么赚钱的。
       都知道十赌九输,赌徒基本上都是亏钱的,可是有一种人赚钱是非常确定的,那就是赌场的老板。秘密就在于“概率”二字。以最简单的赌大小的游戏为例,为简单起见,先把“和”去掉,只保留“大”和“小”两种压注方式。虽然单次的开牌结果是不确定的,但是只要赌局积累到一定的次数,大和小的开牌次数一定会趋于50%:50%,如果赔率是1:1的话,玩这个游戏的期望值就是0,也就是每玩一把这个游戏,就赚0元钱,玩的越多越接近这个数值。不过实际上赌场会在赌客赢钱的时候抽取一部分费用,也就是所谓的抽水。以抽水5%为例,如果赌客每次压注100元,那么,赌客每玩两把,就要交给赌场5元,平均每把亏2.5元,即期望值为 -2.5,玩的越多输的也就越多。这就是赌场赚钱的秘密。赌场盈利的逻辑如下:
Untitled3.png
       其实交易市场和赌场是一样的,交易员就是赌徒,平台商就是赌场老板,交易员十个有九个是亏钱的,可是平台商包赚不赔。
       不过交易市场和赌场也有不同之处,赌局的开牌结果完全是随机的,可是行情的走势在一定程度上是可以把握规律的,只要能够利用这些规律,让期望值大于0,就可以在市场中获利。比如一个单笔交易盈亏比为1:1的策略,除去点差成本后,只要盈利次数超过51%,期望值就可以大于0,平均下来每笔交易就是正向盈利。或者一个正确率不高的策略,比如20%,但是平均每笔盈利和平均每笔亏损之比超过5:1,则期望值为:5**0.2-1**0.8=0.2,大于0,依然是一个可行的策略,只要持续交易,就可以赚钱。
       所以,交易的底层逻辑如下:
Untitled4.png
       不过,有没有可能市场是完全无序的,我们在市场上总结的规律只是错觉呢?毕竟把抛硬币的结果绘制成走势图和金融产品的走势图看起来也差不多。检验这一点,最好的方法就是测试和统计,只要统计足够的样本量,就可以得出一个稳定的期望值。因此,我个人在开发策略时,至少都要统计10000笔以上的订单量。
       很多投资者,对于交易策略都会有一个这样的疑惑:行情走势永远不会重复,过去不能代表未来,那么基于历史数据开发出来的策略在未来能适用吗?事实上,确实有很多策略用历史数据回测时资金曲线是向上的,可是实际投入运行时交易结果却完全不一样。要想解决这个问题,首先,一定要满足一个基本的前提:尽管未来不会和过去重复,但是未来和过去一定相似。虽然行情走势千变万化,但是行情走势是人性的展现,而人性是不变的,所以走势的基本规律不会变。满足这个条件之后,再从四个方面来解决这个问题:
       1. 测试用的数据量越大越好。就像抛硬币,如果只是抛了十次,那么正反面的次数比有可能会是1:9、2:8、3:7,4:6、5:5等等,但是,如果抛了1万次,10万次……,那么这个比值就会越来越逼近地收敛到50%:50%,也就是正反面的真实概率,基于这个概率就可以更加准确地预测未来一定也是这个比值结果。
       2. 将数据分成测试集数据和验证集数据(类似于机器学习中的训练集和验证集),在测试集数据上进行策略的设计和参数的调试,然后在验证集数据上进行验证。和策略的设计和调参阶段,验证集的数据对其而言就是未来数据,所以,如果策略在验证集数据上的表现和测试集数据上的表现是相似的,那么就可以确定,其在验证集数据之后的表现应该也是相似的。
Untitled5.png
       3. 交易策略越简单越好,越简单代表越稳定,这一点和大多数人的直觉是相反的。假设有两个策略,复杂策略A和简单策略B,A策略有一千个条件,B策略只有一个条件。然后,对A策略测试一千个交易信号,并进行训练和调参,由于A策略刚好有一千个条件,所以,在调参的过程中就会自动地针对每种走势选择出最佳的交易条件,最后得出一个准确率100%的完美策略。可是未来的走势和过去的任何一种走势都不可能相同,那么A策略在实际执行就会无从选择任何一个交易条件。这就成让行情去适配策略而不是让策略去适配行情的本末倒置的做法,因为行情是动态的,而策略是静态的,不能以动态的行情去适配静态的策略,只能以静态的策略去适配动态的行情。策略B由于只有一个条件,不可能适配所有的走势,但是如果策略B在一定的容错范围内,能够做到期望值大于0(或者盈亏比大于1),那么在实际运行中,只要走势不频繁超出这个容错范围,B策略就能够延续其正向收益的表现。
       4. 定期检查策略的有效性,并进行调整。同一套策略用在不同的品种上,往往会有不同的表现,这就说明不同的品种是有着不同的特性的。而同一个品种,也很难保证其特性能够一直延续而不发生变化,品种特性的变化会影响策略的表现,所以,需要定期检查交易订单,分析策略执行的一致性,如果交易表现下降,就需要重新调整策略。
       最后,为了避免被人说“光说不练假把式”,顺便贴一张策略回测图。
Untitled6.png
EURUSDDaily.png
""
还没有人打赏,支持一下

评论|共 4 个

努力奋斗

发表于 2023-8-26 19:12:05 | 显示全部楼层

王者归来

发表于 2023-9-3 21:42:20 | 显示全部楼层

汝爱我心

发表于 2024-1-4 15:26:05 | 显示全部楼层

支持下

于金

发表于 2024-3-19 17:41:32 | 显示全部楼层

支持下

您需要登录后才可以回帖 登录 | 注册 微信登录

EA之家评论守则