手机浏览器扫描二维码访问
splits=[]
start_idx=0
whilestart_idx+train_years+val_years<=len(data):
train_end=start_idx+train_years
val_end=train_end+val_years
train_indices=list(range(start_idx,train_end))
val_indices=list(range(train_end,val_end))
splits.append((train_indices,val_indices))
start_idx+=1#每次滚动一个时间单位
returnsplits
写完后,他跑了一遍测试。
用A股沪深300指数2010年到2023年的日线数据,设置5年训练1年验证,程序生成了8组不同的训练-验证组合。
“这样应该够了”
。
林晨揉了揉发酸的眼睛。
但验证集只是第一步。
真正的考验在样本外测试——用模型完全没见过的、最新的数据进行最终评估。
林晨做了个决定:把2023年全年数据留出来,作为最终的测试集。
用2010-2022年的数据做滚动交叉验证,选出在多个验证期表现最稳定的模型参数,最后再用2023年的数据看真实效果。
这个流程,专业量化机构叫“walk-ForwardAnalysis”
(向前步进分析),是避免过拟合的黄金标准。
凌晨四点,程序开始运行。
屏幕上的进度条缓慢移动,每一次滚动窗口分割,模型都要重新训练一次。
8组验证,意味着要训练8次模型。
林晨那台三年前的游戏本风扇狂转,cpU温度飙升到85度。
他起身走到窗边。
城中村的凌晨很安静,远处偶尔有外卖骑手的电动车驶过。
楼下那家潮汕粥铺已经亮起灯,准备早市的食材。
半年前,他还在跨境电商公司加班到这个时候,为了一个促销活动页面。
现在,他为一个验证流程的代码熬夜。
身份变了,但那种沉浸在心流状态的感觉,没变。
一个小时后,程序跑出第一轮结果。
林晨坐回电脑前,屏住呼吸看屏幕上的输出:
第1组验证(2010-2014训练,2015验证):年化收益率12.3%,最大回撤-8.7%第2组验证(2010-2015训练,2016验证):年化收益率9.8%,最大回撤-10.2%第3组验证(2010-2016训练,2017验证):年化收益率15.1%,最大回撤-7.3%...第8组验证(2010-2021训练,2022验证):年化收益率6.4%,最大回撤-12.5%
...
关于借你一方炽热,驱我半生阴寒天生阴寒体弱之人,经神秘先生指引,需与至阳之人一起生活。寄养的几年,二人情愫渐生,彼此承诺约定终生。门庭差异,门户之见,相聚又离别,终是抵不过心底的眷恋。无意中,发现多年前谒语。一番探知与寻觅,却难寻真义。终有后人解谜,方知早已缘定今生。...
TXT下载,无错,番外...
无cp,主角不怼天不怼地(主角本来是反派组转型过来的,这里的反派组不是逆袭反派组类似于被控制做一些不想做的那种反派,这个部门本身是惩罚犯错的任务者主角当初会被分过去也是被人算计的,所以一开始会不太适应,做任务会避开男女主,后期会慢慢适应过来的)秦戈快穿局反派部门的优秀员工,申请到休闲部门,遇上主系统被攻击意外到了新...
TXT下载,最新章节,无错,番外...
...