当前位置: 首页 > news >正文

量化策略样本内外划分_防止过拟合

免责声明:本文基于个人使用体验,与任何厂商无商业关系。内容仅供技术交流参考,不构成投资建议。


一、前言

参数优化若只在同一段数据上做,容易过拟合。样本内训练、样本外验证是常用做法。做了二十年期货量化,我习惯严格区分样本内外再评估策略。

今天分享量化策略中样本内外划分的思路和实现方式。


二、样本内外概念

# 样本内(in-sample):用于拟合参数、选模型# 样本外(out-of-sample):不参与任何拟合,只做验证# 目的:看策略在“没见过的数据”上是否还有效

三、时间序列划分

importpandasaspdfromdatetimeimportdatetimedeftrain_test_split_time(klines,train_ratio=0.7):"""按时间划分:前 train_ratio 为样本内,后为样本外"""n=len(klines)split=int(n*train_ratio)train=klines.iloc[:split]test=klines.iloc[split:]returntrain,test# 或按日期defsplit_by_date(klines,end_train_date):"""按截止日期划分"""train=klines[klines["datetime"]<=end_train_date]test=klines[klines["datetime"]>end_train_date]returntrain,test

四、回测时使用

fromtqsdkimportTqApi,TqAuth,TqBacktestfromdatetimeimportdate# 样本内:2022-2023 做参数优化api_train=TqApi(backtest=TqBacktest(start_dt=date(2022,1,1),end_dt=date(2023,12,31)),auth=TqAuth("账户","密码"))# ... 在 api_train 上跑策略,调参,记录最优参数# 样本外:2024 不调参,只验证api_test=TqApi(backtest=TqBacktest(start_dt=date(2024,1,1),end_dt=date(2024,12,31)),auth=TqAuth("账户","密码"))# ... 用固定参数跑同一策略,看样本外表现

五、注意点

# 1. 样本外绝对不能参与调参# 2. 可多次划分(如滚动窗口)做稳健性检验# 3. 样本外表现明显变差要考虑过拟合# 4. 实盘可视为“最终样本外”

六、总结

样本内外划分是防止过拟合的基础:样本内调参、样本外验证。回测时用不同时间段分别做训练与验证,天勤等回测可按日期切分。我目前新策略都会做样本外验证再考虑实盘。量化交易有风险,历史样本外也不代表未来表现。


声明:本文基于个人学习经验整理,仅供技术交流参考,不构成任何投资建议。

http://www.jsqmd.com/news/478708/

相关文章:

  • Maven依赖下载网址
  • redis windows环境配置读写分离:一主一从 + Sentinel 完整实战
  • 开发智能体:PDF自动拆分为图片,生成小红书文案并自动发布
  • 解锁项目开发新范式,源码图纸库赋能全场景研发
  • TextPecker:强化学习破解中文文本渲染失真难题
  • 基于三自由度动力学与Pacejka魔术公式轮胎模型的全车速工况仿真分析
  • 零基础实战:基于SVM的智能“用电器识别”神器,到底是怎么炼成的?
  • Compose中的rememberUpdatedState
  • FakeSMTP-2.1.1使用
  • 【危险】云提供商一行命令就能偷看你的openclaw所用的llm api key
  • 基于Simulink的电动车PMSM能量泄放与回收系统仿真设计
  • 手写Tomcat流程笔记
  • 筹备2026体育专栏壁纸,五类素材站点的筛选逻辑与避险指南
  • AI智慧社区--实现登录认证:验证码、JWT Token与接口校验
  • 【SQL】多表关系与冷热数据(全维度知识体系)
  • 10个大数据规范性分析案例:行业最佳实践分享
  • 基于C-NCAP中CCRs工况下的前碰撞预警及纵向避撞控制策略研究
  • React Native 热更新深度解析
  • 大模型最后一步关键训练:偏好调优,让AI更懂人心
  • CTFshow————web13————WP
  • Oracle存储过程怎么写
  • Flutter 三方库 kubernetes 的鸿蒙化适配指南 - 掌上 K8s 集群管理、实时监控容器云、打造鸿蒙端 DevOps 运维旗舰应用
  • 【TypeReference<目标泛型类型>】
  • Web前端开发技术作业随笔
  • openclaw系列1:安装
  • 开发一个简单的脚手架
  • TestPilot - 智能测试用例生成工具
  • 什么是DAS分布式光纤声波传感系统?原理与应用解析
  • 大数据领域Doris在医疗科技领域的临床数据分析
  • Flutter 三方库 hotp 的鸿蒙适配指南 - 实现 RFC 4226 标准双因素认证、在 OpenHarmony 上打造极致安全的动态令牌实战