量化交易四大邪术之三:春去花还在

网络相传亚洲有四大邪术,日本化妆,韩国整容,泰国变X,Z国PS。

图片

这些都是让人在颜值上看起来很美,类似地,在量化交易领域,也有四大邪术能让净值曲线看起来很美,之前已经说了“般若波罗蜜(未来函数)”和“霸王硬上弓(强制成交)”,今儿个就继续来说这量化四大邪术当中的第三个,也就是“春去花还在”,春天已然过去,但迎春花依然开放,这是艺术画作当中的神奇景象,却是量化策略里面的致命幻想。

先端上一个猫腻策略,让大伙儿感受一下。这当中的回测,是已经开启了防未来函数功能,且取数日期是上一个交易日,并且确认已经关闭强制撮合功能,也就是说,已经排除之前咱说的那两个未来函数和强制成交的bug。

图片

回测绩效和收益曲线看起来不错吧,策略近五年的累计收益是1922.20%,年化收益是77.35%,最大回撤是22.02%,夏普率是2.956,收益最大回撤比是3.51,看上去就是“别人家孩子”般的策略,年化收益也不是一个很离谱的水平(跟前两期比起来)。

但咱要说这是一个小市值策略,估计会有不少小伙伴快速反应过来,觉得这收益曲线极其不正常,因为做过的小伙伴都清楚,今年上半年1月份和4月份,小市值跌得连妈都不认识了,这个策略的收益曲线还稳如老狗,并且最大回撤还是出现在2020年底。

为什么会这个样子呢?遍览策略源码,发现猫腻出现在选股模块中的这一段。

no_trading_signal = today_is_between('01-10', '02-10') or today_is_between('04-08', '04-30')if no_trading_signal:stocks_list = []return stocks_list

你瞧,如果今天是在1月10日~2月10日之间,或是在4月8日~4月30日之间,就不开仓,这期间一直保持空仓状态,这样就不会出现大跌了,收益曲线上的走平的地方就是这么来的。

即使好日子过去,黑天鹅发生,依然可以保住利润,春去花还在,这就属于『过度拟合』或『过拟合』了。简单来说,过拟合就是在样本内数据上表现良好,但在样本外数据上表现较差的现象。

为了让收益曲线长得漂亮,有些居心叵测卖策略的骗子,就会在策略当中加入大量日期判断的IF语句,类似于today=='2024-07-03'、today=='2024-09-02',today=='2024-09-09',blalala~~~用来过滤掉明显亏损的交易或交易日期,只留下盈利的单子和微亏的单子,这样只是让回测好看一些,但实盘上很难复现得了,特别是用来欺骗看不懂策略源码或懒得看的韭菜。

说回刚才的那个小市值策略,肯定是因为今年1月和4月小市值大跌才加入这样的日期过滤,曲线昂首向上才有好卖相嘛,但去年底还不知道这种情况,不加日期过滤跑到现在的话,就是下面这个鬼样子,累计亏损19.25%,最大亏损46.11%。

图片

就算策略开发者就是单纯地认为,以后的1月和4月就是小市值要下跌不开仓,但市场行情是多人博弈,人的认知也是会进化的。

假设大家都发现了这条规律,比方说有人比较鸡贼,或者自己规模太大,就会抢跑提前卖出,那小市值就会提前下跌,基于日期的过滤就会逐渐失效,变成一厢情愿的日期拟合,这也是日历效应会漂移的原因。

过拟合的原因有很多,而且还有主观层面的善恶。刚才说的,就属于比较明显的恶意,为了策略卖相好看割韭菜。其他的一些原因就是纯粹的技术原因,没有主观层面的恶意,比如说样本数据少、样本数据噪声太大、样本内外特征分布不一致、参数过多、模型太过复杂等等。

图片

长久的实践中悲伤地发现,恶意的过拟合可以避免,但善意的过拟合只能尽量减弱,很难完全避免,就如同黄金纯度也没有百分之一百的。

因为归纳和演绎是人类认知活动中常用的方法,拟合其实就是一种归纳,从现象中总结出规律,开发策略无论如何都是要“拟合”的,归纳差一点点就是欠拟合,想得多了一点点就是过拟合,刚好拟合是一种非常完美的状态,很难100%达到,就如同机器学习/深度学习领域,过拟合问题如影随形,想了交叉验证、正则化、Dropout等多种方法,测试集不如训练集是常态,量化实盘不如回测也是如此。

人生在世,可要长点儿心呐,别中了这种邪,上了这种恶当!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/432381.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

CSS clip-path 属性的使用

今天记录一个css属性clip-path,首先介绍下这个属性。 clip-path 是CSS中的一个神奇属性,它能够让你像魔术师一样,对网页元素施展“裁剪魔法”——只展示元素的一部分,隐藏其余部分。想象一下,不用依赖图片编辑软件&am…

Python--类【详细教程】

类的介绍 面向对象编程(object-oriented programming,OOP)是最有效的软件编写方法之⼀。在面向对象编程中,你编写表示现实世界中的事物的类(class),并基于这些类来创建对象(object&…

C语言 | Leetcode C语言题解之第436题寻找右区间

题目: 题解: typedef struct {int start;int index; } Node;int cmp(const void *pa, const void *pb) {return ((Node *)pa)->start - ((Node *)pb)->start; }int* findRightInterval(int** intervals, int intervalsSize, int* intervalsColSiz…

四川财谷通信息技术有限公司抖音小店强势引领电商

在数字经济蓬勃发展的今天,短视频与直播电商已成为推动消费增长的重要引擎,而抖音平台更是以其庞大的用户基础、精准的算法推荐和创新的商业模式,成为了众多商家争相入驻的蓝海市场。在这片充满活力的电商沃土上,四川财谷通信息技…

GPS冷启动定位不准问题

1.使用模块 EG800K 2.定位不准问题 应用场景:由于低功耗设备,需要GPS定位,设备的功耗会很高,因此每次定位完成后必须将模块的电源断开。 定位不准原因: 1.每次设备从供电,到定位成功,需要3…

【文心智能体】 旅游手绘手帐 开发分享 零代码 手绘风景 记录行程和心情 旅游攻略

旅游手绘手帐,点击文心智能体平台AgentBuilder | 想象即现实 目录 背景 创作灵感 开发历程 一、基础配置 二、高级配置 三、引导示例(提示词) 四、prompt(提示词)优化 期待优化 背景 这个智能体是一个零代码…

CSS中的字体样式、文本样式、列表样式以及背景和渐变

一、字体样式和文本样式 1.span标签 span标签的作用&#xff1a;能让某几个文字或者是词语凸显出来 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-…

在深度学习中,是否应该打破正负样本1:1的迷信思想?

Q&#xff1a;是否应该打破正负样本 1:1 的迷信思想&#xff1f;A&#xff1a;是的&#xff0c;类别不平衡的比例只是表象&#xff0c;并非本质。 Q&#xff1a;当训练集和测试集分布匹配&#xff0c;但正负样本比例仍然悬殊&#xff0c;是否有必要再引入处理不平衡样本的策略…

新峰商城之订单处理流程

订单处理是电商系统中的重要模块&#xff0c;从用户单击提交订单并成功生成订单开始&#xff0c;包括订单支付成功、订单信息确认、订单出库、到确认收货的正常订单流程。也包括了订单取消、订单退款等其它异常流程。 一、订单处理流程 正常流程&#xff1a; 订单生成后&…

Git - 初识版本库

版本库也叫仓库&#xff0c;英文名 repository。 ‍ 创建版本库 之前我们说了版本库的概念&#xff1a; 存储版本的地方&#xff08;存放各个版本之间差异的地方&#xff09;&#xff0c;通常称为版本库。通常版本库是以文件&#xff08;夹&#xff09;的形式存放在磁盘上&a…

处理RabbitMQ连接和认证问题

在使用RabbitMQ进行消息队列管理时&#xff0c;我们可能会遇到各种连接和认证问题。本文将介绍如何诊断和解决这些问题&#xff0c;并通过使用RabbitMQ的管理端进行登录验证来确保配置正确。 1. 问题概述 在最近的一次部署中&#xff0c;我们遇到了两个主要问题&#xff1a; …

成为谷歌开发者专家(GDE)的经历

大家好&#xff0c;我是张海龙(Jason)。经过一年多的准备&#xff0c;GDE申请 终于正式成功通过面试&#xff0c;成为了国内第一位Firebase GDE。下面对整个过程做个总结&#xff0c;希望对大家有所帮助。 1.什么是 GDE&#xff1f; Google Developers上面有详细的说明&#x…

Apache Druid命令执行(CVE-2021-25646)

漏洞详情&#xff1a; Apache Druid 是用Java编写的面向列的开源分布式数据存储系统&#xff0c;旨在快速获取大量事件数据&#xff0c;并在数据之上提供低延迟查询。 Apache Druid含有能够执行嵌入在各种类型请求中由用户提供的JavaScript代码功能。此功能适用于高度信任环境…

计算机前沿技术-人工智能算法-大语言模型-最新论文阅读-2024-09-21

计算机前沿技术-人工智能算法-大语言模型-最新论文阅读-2024-09-21 1. AIvril: AI-Driven RTL Generation With Verification In-The-Loop Authors: Mubashir ul Islam, Humza Sami, Pierre-Emmanuel Gaillardon, and Valerio Tenace AIVRIL: 人工智能驱动的RTL生成与验证内…

如何在Excel中快速找出前 N 名,后 N 名

有如下销售额统计表&#xff1a; 找出销售额排前 10 名的产品及其销售额&#xff0c;和销售额排倒数 10 名以内的产品及其销售额&#xff0c;结果如下所示&#xff1a; 前 10 名&#xff1a; spl("E(?1).sort(ProductSales:-1).to(10)",A1:C78)后 10 名&#xff1…

K8S精进之路-控制器StatefulSet有状态控制 -(2)

状态说明 在进行StatefulSet部署之前&#xff0c;我们首先可能要了解一下&#xff0c;什么是"有状态应用"和"无状态应用"。无状态应用就是pod无论部署在哪里&#xff0c;在哪台服务器上提供服务&#xff0c;都是一样的结果&#xff0c;比如经常用的nginx。…

Debian与Ubuntu:深入解读两大Linux发行版的历史与联系

Debian与Ubuntu&#xff1a;深入解读两大Linux发行版的历史与联系 引言 在开源操作系统的领域中&#xff0c;Debian和Ubuntu是两款备受瞩目的Linux发行版。它们不仅在技术上有着密切的联系&#xff0c;而且各自的发展历程和理念也对开源社区产生了深远的影响。本文将详细介绍…

主数据的前世今生与治理方法论(附PPT | 某集团公司主数据项目案例与方法论)

主数据&#xff08;Master Data&#xff09;是指企业内核心业务实体数据&#xff0c;具有共享、稳定、跨部门和系统的特点。主数据在企业数据管理中扮演着至关重要的角色&#xff0c;它是企业核心业务实体数据的核心组成部分。它是企业经营运作的主体对象&#xff0c;也是企业数…

HTTP中的event-stream,eventsource,SSE,chatgpt,stream request,golang

我们都知道chatgpt是生成式的&#xff0c;因此它返回给客户端的消息也是一段一段的&#xff0c;所以普通的HTTP协议无法满足&#xff0c;当然websocket是能满足的&#xff0c;但是这个是双向的通信&#xff0c;其实 SSE&#xff08;Server-Sent Events&#xff09; 正好满足这个…

[数据集][目标检测]手机识别检测数据集VOC+YOLO格式9997张1类别

数据集格式&#xff1a;Pascal VOC格式YOLO格式(不包含分割路径的txt文件&#xff0c;仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数)&#xff1a;9997 标注数量(xml文件个数)&#xff1a;9997 标注数量(txt文件个数)&#xff1a;9997 标注…