如何寻找程序化交易中的幸存者偏差栏目:期货学习/期货知识 > 详情 时间:2019/5/30 11:24:25 更新:2025/3/22 11:29:26 发布:美艳 导读:幸存者偏差,是一种常见的逻辑谬误。指的是只能看到经过某种筛选而产生的结果,而没有意识到筛选的过程,当我们在构建程序化交易的模型时,有很多参数... 幸存者偏差,是一种常见的逻辑谬误。指的是只能看到经过某种筛选而产生的结果,而没有意识到筛选的过程,当我们在构建程序化交易的模型时,有很多参数和交易规则的确定都会依据历史数据的运行结果,因此忽略了被筛选掉的关键信息。当然在程序化交易中也存在一定的幸存者偏差。今天西部汇市小编就和大家讨论一下程序化交易中的幸存者偏差的问题。 如何对抗这个幸存者偏差呢?具体来说可以依照经济学和行为金融学的原理来检验模型的假设是否成立。但这事说来容易,实际操作却是困难重重。举例来说,如果我们在中大周期模型上,给予不同的股票、期货品种,不同的模型参数,是个典型的比较危险的事情,因为参数的意义难以找到强有力解释,特别是均线类模型的周期参数,如果你针对历史样本拟合得到参数,任何目标函数都难以对抗过拟合。 在找到规律前,大样本是尽可能稳妥的建模统计回测方案 过了上两关,就是非模型正常交易利润了,它是典型的幸存者,会产生绩效偏差。如果价格因为基本面或交易规则突变等因素,出现有利于模型运行的状态,产生了一笔极大收益,我们通常要剔除这笔收益,千万不要抱着太过乐观的心理,这样你很可能只会收获一个漂亮的绩效报告。 一个常见的例子是,期货中频交易模型,在超过3天的长假前都应该平仓,节后还应该给市场一段适应的时间,过些天再重新恢复信号值和仓位,或者依据市场运行,重新开新仓位。只有长线交易模型,才可以不平仓。过节平仓是不能违背的铁律。 最后一关是有仓位调整模型的交易顺序,存在幸存者偏差。如果你的目标函数是净利润,那依照目前仓位计算动态开仓手数的模型,一定会产生偏差。因为未来数据的运行会导致未来每笔交易的出现次序不一样,如果连续出现了不利的交易,必然导致资金快速亏损,可用于开仓的头寸变小。 即使是等手数开仓的模型,也会存在偏差。因为,即使最终净利润相等,如果用夏普比率、收益风险比、Calmar比率、最大回撤等作为目标函数去优化模型,由于交易产生的次序不一致,一定会在这里发生极大偏差,要记住,幸存者偏差大概率都是负面的,会给我们的实盘带来不利的影响,即使出现有利偏差,也说明你的模型统计有问题。 解决上述偏差的方法就是做回测报告蒙特卡洛模拟,因为过去的交易结果会以某种不同的顺序来重现,所以通过不同的顺序来排列这些结果,就能生成多种完全不同的净值曲线。 今天提到的这些统计回测幸存者偏差和应对方法,希望大家回去能好好吸收,细化回测。避免这些偏差可以让自己的理论绩效与实盘绩效更接近,从而使自己的绩效更具说服力。
延伸阅读: TB交易开拓者是一款专业针对程序化交易用户设计的程序化交易软件,它具有非常高效的数据运算能力,能够实现各种交易策略的编写,并进行期货、外盘等各类交易品种程序化交易;由于交易开拓者功能强大,专业性强,比较适合有一定的编程或软件使用基.... 程序化滑点,简单理解就是期望价与实际成交价之间的点差。我们这里有一个计算公式:滑点=行情tick级别波动速度×网络延迟时间。....
▌最新期货专题
|
▌量化交易模型
▌期货教学 期货股票程序化量化外汇
▌相关视频 教学股票财经头条搞笑其它
相关用户分享:
▌公告与实战
▌推荐阅读
|
友情链接:
期货技术分析
期货教学
期货理财
开拓者TB教学
期货学习
基础知识
股票程序化
资产管理
西汇指标
神话漫谈 免责:投资有风险,本站内容仅供参考! |