基础入门
本讲在同一份最小价格样本上同时跑 5 日和 10 日窗口两种均线设置,并用收益、回撤和交易次数这三把最基础的尺子做结果比较。目标是让入门者第一次真正体验“参数变化会怎样影响信号和回测结果”。
当一条最小回测链路已经从数据、指标、信号一直走到结果阅读,下一步最自然的动作,不是立刻把参数空间铺得很大,而是先做一组差异清楚、又足够容易解释的小比较。5 日和 10 日窗口正好非常适合扮演这个角色。它们都不复杂,都很常见,而且只改动一个数字,就能让你比较清晰地感受到整条链路是如何发生变化的。
这件事的教学价值非常高。因为很多人一提到参数研究,就立刻想到大规模网格搜索、批量回测和一堆统计表。可如果连最基础的“两组窗口为什么不同”都还没真正看懂,那么更大的参数实验往往只会放大模糊感。相反,先把 5 日和 10 日窗口这一组小实验做透,你就能第一次真正体会到,参数不是抽象数字,而是会改变均线、改变信号、改变交易次数,也改变最终收益和回撤的一条完整杠杆。
因此,第 8 讲的重点,不是帮你宣布谁赢谁输,而是让你第一次学会怎么比较一组非常接近但又确实不同的策略设定。
初学者最容易犯的一个错误,就是把参数比较理解为“谁的最终收益更高,谁就更好”。这种结论太快,也太容易被样本偶然性误导。因为参数调整所带来的变化,绝不仅仅体现在终点收益上,它还会影响信号生成的频率、交易时机的早晚、过程中承受的回撤深浅,以及整条净值曲线的形状。
如果只看最后一个数字,你就会错过参数变化最有价值的信息。比如 5 日窗口可能更敏感,信号更多、交易更频繁,最终收益也许更高,但同时回撤可能更大;10 日窗口可能更迟钝一些,交易少一些,收益未必最高,但过程更平稳。若只盯着终点,你很容易把参数研究做成单一打分游戏,而忽略了它真正应该回答的问题:不同参数究竟在风格上带来了什么变化。
所以,参数比较更好的起点,应该是同时看收益、回撤和交易次数,再回头结合信号层去理解这些差异。只要这样做,比较才会开始有研究意味。
5 日窗口的一个典型特征,是对最近价格变化更敏感。因为它只看最近较短的一段历史,所以价格一有变化,均线就更容易跟着动,信号也更容易更早触发。很多人第一次看到这里,会直觉地觉得“那不是更好吗,毕竟反应更快”。其实未必。
更快的反应往往伴随着更高的噪音敏感度。也就是说,短窗口除了能更早捕捉变化,也可能更容易被短期波动带着来回切换。这样一来,交易次数往往会增加,规则节奏也会更碎。于是你会发现,所谓“敏感”本身既是优势也是代价,它并不是一个单向度的优点。
这正是参数比较很值得学的地方。因为它会逼你看到一个事实:参数不是简单地让策略更强或更弱,而是在不同维度上做取舍。5 日窗口也许更积极,但是否值得用,最终还要看这种积极换来了什么、又付出了什么。
10 日窗口看起来通常更平滑,因为它把更多历史纳入平均,对短期波动的过滤更强。这会让很多人产生一种天然好感,觉得“平滑是不是就更稳”。这个直觉有一定道理,但如果把它直接等同于“更优”,就会过于简单。因为更平滑通常意味着更慢。它会减少一些短期噪音带来的来回切换,但也可能让你更晚捕捉趋势变化,或者更晚意识到局面已经变弱。
所以长窗口的平滑,同样是一种双面特征。它能降低碎片化信号,却可能带来滞后。它让结果看起来更克制,但不一定代表回撤就更小,也不一定代表收益就更稳定。真正值得做的,不是先入为主地认为长窗口更好,而是拿同一份样本去比,看看它具体怎样改变了整条链路。
参数研究的成熟之处,往往就在这里。你不再用概念标签替代结果,而是让结果自己告诉你:这份“平滑”到底换来了什么。
表面上看,从 5 日改到 10 日,好像只是把窗口参数写成另一个数字。可一旦真正把结果展开来看,你会发现这件事远不止如此。均线本身会变化,价格和均线之间的关系会变化,由此生成的买卖信号位置会变化,交易次数会变化,净值曲线的形状也会变化。也就是说,你并不是只改了一个函数参数,而是在改整条中间变量链。
这个认识非常重要。因为它会帮助你摆脱一种很常见的参数试错心态:只知道“改一下数字再看结果”,却说不清结果为什么会变。只要你意识到参数变化会层层传导,你就知道真正值得看的地方不只是最后收益,而是从指标层、信号层一直到结果层的每一个变化环节。
也正因为如此,参数比较时保留中间列非常有价值。中间层还在,你就能回溯“变化是从哪里开始放大的”;中间层不在,你最后只能知道“结果不一样”,却不知道为什么不一样。
参数研究最怕的,不是样本太少,而是变量改得太多。很多初学者做比较时,会同时换窗口、换规则、换样本期、换手续费,最后看到两组结果不同,却根本没法归因。对入门阶段来说,这种比较几乎没有学习价值。因为你得到的不是洞见,而是一堆混在一起的变化。
第 8 讲之所以只拿 5 日和 10 日窗口做比较,核心就在于控制变量。价格样本不变,信号口径不变,回测入口不变,只改均线窗口长度。这样做的好处非常直接:最后的差异更容易被解释,你也更容易形成明确判断。你能说清楚“这是因为参数更短/更长导致的”,而不是陷在一团不知从何说起的改动里。
控制变量的意识,是从会跑 demo 走向会做研究的第一步。哪怕现在只是一个非常小的实验,这种习惯也值得尽早建立起来。
很多读者在做完这一讲以后,会很想得到一个结论:到底 5 日好还是 10 日好。可从研究角度看,这并不是最重要的问题。因为不同样本、不同阶段、不同目标下,答案本来就可能不同。今天这段样本里 5 日可能更灵敏、收益更高,换一段波动更杂的样本,10 日也可能显得更稳。若你过早追求固定答案,很容易把一堂方法课学成一个僵硬结论。
真正有价值的,是比较方法本身。你要学会的是:固定样本,固定规则,只改参数,保留中间结果,用统一摘要去比较,再回头解释差异。从这套流程里形成的判断力,远比“这次恰好哪个数字更大”更重要。因为后面无论你比较的是 5 和 10,还是 10 和 20,甚至更复杂的参数组合,你都可以沿用同样的方法。
因此,第 8 讲其实是整个系列里最接近“研究意识入门”的一讲。它不再只是教你把一条链路跑通,而是教你如何拿两条非常接近的链路做有意义的对照。
如果把视角放得更远一点,会发现第 8 讲留下的并不是一组很小的窗口比较,而是一种可以被反复扩展的研究骨架。以后你完全可以在同样的框架里比较更多窗口、更多信号条件、不同资产样本甚至不同成本设置。每次扩展时,你仍然应该遵守同样的原则:先控制变量,再保留中间层,再用统一结果摘要去读差异。
也就是说,这一讲虽然是入门短课的收束,却并不是终点。它更像是一扇门。前面几讲让你知道如何从数据走到回测,这一讲则开始让你知道,研究不是只跑出一条链路,而是会比较多条相近链路,逐步形成自己的理解。只要这层意识建立起来,后面你继续做更复杂的实验时,思路就不会乱得太快。
这也是为什么系列在这里收住很合理。因为到这一步,你已经不只是“会用 vectorbt”,而是开始具备最基础的比较研究框架了。
很多人拿到接口返回表时,最大的成就感来自“终于有数据了”。但如果只停在这里,后面的学习很快就会卡住。因为“有数据”和“有工作面”并不是一回事。工作面意味着你已经有了一张自己看得懂、能继续清洗、也能继续往后传递的表。第 5 讲真正做成的,就是这个推进。它让原始返回结果不再只是接口产物,而开始变成你自己的数据工作台。
这一步非常关键,因为后面的 CSV 保存、pandas 指标计算和更多接口联动,默认都建立在工作面已经成型的前提上。若没有这一层,很多后续动作都会变得别扭,你总会觉得自己在对着一张“好像还没整理完”的表继续硬做。
接口往往会返回不少字段,但真正的数据处理从来不是把它们全部原样带走,而是主动决定当前任务最重要的是哪几列。第 5 讲看似只是在做字段收窄,实际上是在训练这种主动判断能力。你开始不再被动接受“接口给了什么我就都留着”,而是会反过来问:我现在最常用的列是哪几列,它们有没有先被整理到一个足够清楚的工作面里。只要这种判断开始成为自然动作,后面面对更复杂的表时也不会轻易被字段数量牵着走。
这比多记几个接口名字更有长期价值。因为真正决定你后面能不能顺利做分析的,往往不是会不会拿到表,而是会不会在拿到表之后迅速定义焦点。
到这一讲结束时,比较理想的状态不是“我大概看过这张表了”,而是你已经形成了一套最低工作标准。比如你会默认先看行列规模,再看关键字段是否都在,再确认日期列和数值列是不是处在可继续处理的状态,最后同时看头尾判断表的轮廓有没有明显异常。只要这套最低标准开始稳定,以后你每拿到一张新表,都会自然先做这一轮检查。
这会让你的数据处理节奏明显变稳。因为你不再依赖临场想到什么就看什么,而是已经有了一套固定起手式。对于刚入门的人来说,这种固定起手式往往比多学一个新接口更能真正拉开差距。
这一讲的核心,不是裁定 5 日和 10 日谁更好,而是让你第一次用研究方式去比较两组非常接近的参数设定。5 日通常更敏感,10 日通常更平滑,但真正重要的是看它们如何改变均线本身、如何改变信号节奏、如何影响交易次数,以及最终如何体现在收益和回撤上。只要你已经能沿着这条完整链路去解释差异,这一讲就真正达到了目的。
本讲是《vectorbt回测入门短课》的第 8 讲,当前主题是《比较 5 日和 10 日窗口》。作为整个系列的收束,它把你从“会跑一条最小回测链路”推进到“会做第一次参数比较”。到这里,这套入门短课真正完成了从数据准备、信号构造到结果比较的完整闭环。
风险揭示与免责声明
本页面内容仅用于量化研究与技术交流,旨在展示研究方法与流程,不构成对任何金融产品、证券或衍生品的要约、招揽、推荐或保证。
本文所涉历史数据、回测结果与示例参数不代表未来表现,也不应作为投资决策依据。
市场存在波动、流动性与执行偏差等不确定性,任何策略均可能出现收益波动或阶段性失效。
读者应结合自身风险承受能力进行独立判断,并在必要时咨询持牌专业机构意见。