深圳融克迪特科技有限公司 Logo,金融科技,量化交易,软件开发

深圳融克迪特科技有限公司

RONG CREDIT TECHNOLOGY CO., LTD.

基础入门

【vectorbt 系列 第5讲】构造卖出信号

本讲在已有价格、均线和买入信号的基础上,补出一列最小卖出信号,并把买卖条件放回同一张表里并排检查。目标是让入门者真正得到一套可入场、可离场的最小规则表达,为下一讲回测入口做好准备。

2026-04-23 智铨研究 阅读时长 7 分钟

目录

vectorbt · 入门短课

  1. 第 1 讲【vectorbt 系列 第1讲】安装与首组价格序列构建:零依赖最小可验证回测起点
  2. 第 2 讲【vectorbt 系列 第2讲】准备最小回测数据
  3. 第 3 讲【vectorbt 系列 第3讲】计算5日均线
  4. 第 4 讲【vectorbt 系列 第4讲】构造买入信号
  5. 第 5 讲【vectorbt 系列 第5讲】构造卖出信号
  6. 第 6 讲【vectorbt 系列 第6讲】跑第一轮向量化回测
  7. 第 7 讲【vectorbt 系列 第7讲】查看收益回撤和交易次数
  8. 第 8 讲【vectorbt 系列 第8讲】比较5日和10日窗口

一、为什么比较 5 日和 10 日窗口,是入门阶段最合适的一次参数比较

当一条最小回测链路已经跑通之后,很多人最想做的下一件事就是比较参数。这个想法没有问题,但参数比较也有难易之分。对入门阶段来说,最适合的第一次比较,不是一下子把十几个参数和多组规则全部放进去,而是只拿两个非常直观、意义也很清楚的窗口长度做对照。5 日和 10 日窗口,恰好就是这样一组选择。

它们之所以适合做第一次比较,是因为差异够明显,又不会复杂到让人失去解释能力。5 日窗口更短,通常对价格变化更敏感;10 日窗口更长,通常更平滑、反应更慢。仅仅比较这一组参数,你就已经能非常直观地看到:参数变化不是抽象概念,而是真的会改变指标、信号和回测结果的形状。

所以第 8 讲的意义,不在于找出“终极最优参数”,而在于让你第一次看到参数对结果链路的影响。只要这一层理解建立起来,后面做更复杂的比较就不会显得那么跳跃。

二、为什么参数比较不能只看最后谁收益更高

初学者在做参数比较时,最常见的误区就是只看最终收益,然后简单地宣布“某个参数更好”。这种看法太快,也太容易误导。因为参数改变带来的,不只是一个最终结果数字变化,而是整条链路都会跟着变,包括均线的平滑程度、信号触发的时机、交易频率以及过程中的波动和回撤。

也就是说,比较 5 日和 10 日,不应该只问“谁赚得更多”,还应该问:它们的信号节奏有什么不同,哪个更频繁,哪个更滞后,哪个更平滑,哪个在样本里更容易来回切换。只要这些问题不看,你最后得出的结论就会很单薄。看起来像在做研究,实际上只是看了一个结果终点。

第 8 讲把参数比较放在系列收尾,就是要让你建立一个更成熟的习惯:参数比较不是只比输赢,而是比整条结果路径的差异。这个意识以后会非常重要。

三、为什么短窗口更敏感,但不一定更稳

5 日窗口通常比 10 日窗口更贴近最近价格,因此它对短期变化更敏感。这会带来一个很直观的效果:信号出现得更早,也更容易频繁切换。很多入门者看到这里,容易先入为主地觉得“更敏感是不是就更好”。其实不一定。因为敏感往往意味着更容易对短期噪音做出反应,交易次数也可能因此变多。

所以短窗口的优势和代价是一起出现的。优势在于它更快,代价在于它可能更碎。对入门者来说,这个对照非常好,因为它让你第一次看到:参数不是只决定“快慢”,还会影响策略风格。5 日窗口如果让信号变得特别活跃,你就该意识到它可能带来更高换手;如果它在某个样本里表现更好,也不意味着这个结果在所有场景都更稳。

参数比较真正值得看的,恰恰就是这种风格差异,而不只是一个“短的更灵敏”的表面结论。

四、为什么长窗口更平滑,但不一定更优

10 日窗口相比 5 日窗口,最大的直观感受通常是更平滑。因为它看的是更长一段历史,短期的小波动被平均掉的程度更高。这样的好处是,信号可能没那么碎,反复切换的情况也可能减少。可它的代价也很明确:反应更慢,很多变化要更晚才会体现到均线和信号里。

这就意味着,长窗口看起来更稳,但并不自动等于更优。它可能会错过一些更早的入场时点,也可能在趋势转弱时退出更慢。对入门者来说,这个观察非常重要,因为它帮助你打破一种常见误区:以为“更平滑”就一定代表“更好”。实际上,更平滑只是一种性格,它是否适合,还得结合收益、回撤和交易频率一起看。

第 8 讲之所以用 5 日和 10 日做第一次比较,就是因为这种差异非常容易被看见。你几乎不用太多复杂统计,就能从信号和结果中感受到“快”和“慢”背后的取舍。

五、为什么参数比较本质上是在比较整条中间变量链路

当你把 5 日窗口换成 10 日窗口时,很多初学者会觉得自己只改了一个数字。但从研究角度看,你其实改动的是整条中间变量链路。均线列本身会变化,价格和均线的关系会变化,由此生成的买入和卖出信号会变化,交易次数会变化,最后的收益和回撤也会跟着变化。

一旦你这样去理解参数比较,就会发现它远不只是“把 5 改成 10”那么简单。它是在测试:当你改变平滑程度时,后面的逻辑链会怎样响应。这个视角非常重要,因为它会帮助你以后做更多比较时,不再只盯着最终表格,而是知道应该先看哪一层开始变了。

这也是为什么真正有意义的参数比较,往往要保留中间结果。只要中间层还在,你就能回答“为什么结果会不一样”;如果只剩最后收益,你只能知道“它们不一样”,却说不清原因。

六、为什么第一次参数比较要尽量控制变量,不要同时改太多东西

参数比较最怕的一种做法,就是同时改窗口、改信号条件、改手续费甚至改样本,然后再试图从结果里总结规律。这样做的问题不是不可以,而是你几乎无法知道到底哪一个改动在起主导作用。对入门阶段来说,这种同时改太多变量的做法会让学习效率非常低。

第 8 讲只比较 5 日和 10 日窗口,背后的方法论其实很重要:尽量控制变量。也就是说,价格数据不变,信号逻辑不变,回测入口不变,只改均线窗口长度。这样一来,最后看到的结果差异就更容易被归因。你能更清楚地说:这次变化主要来自参数平滑程度不同,而不是别的因素混进来了。

这种控制变量意识,是从入门走向研究必经的一步。只要现在先建立起来,后面你再做更多参数试验时,就不会轻易把所有变化一股脑叠在一起。

七、为什么第 8 讲真正要学的不是“哪一个参数更好”,而是“怎么比较”

从教学目标上看,第 8 讲最重要的,其实不是让你得出一个固定结论,比如“5 日一定比 10 日好”或者反过来。真正重要的是,你开始学会了一种比较方法。也就是你知道了:参数比较应该先保持数据和规则不变,再观察中间指标怎么变、信号怎么变、结果怎么变,最后才形成结论。

这种方法比结论本身重要得多。因为不同样本、不同市场环境下,5 日和 10 日谁更好,本来就没有统一答案。今天这组样本里 5 日可能更敏感更有效,换一个阶段 10 日可能更稳。若你把注意力只放在结论上,很容易学到一个过于死板的印象;若你把注意力放在比较方法上,后面换参数、换样本时你仍然知道应该怎样做。

因此,第 8 讲可以看成是整个入门系列第一次真正带你走向“研究思维”的一讲。它不再只是把一条链路跑通,而是开始教你比较两条非常相近的链路。

八、这一讲为后续更大规模研究打下了什么基础

如果把这个系列看得更长一点,你会发现第 8 讲其实是在给后面所有更复杂的比较做铺垫。以后你可能不只比较 5 日和 10 日,还会比较更多窗口、更多信号规则、多资产样本,甚至不同成本设定。无论比较规模多大,底层思路都应该和第 8 讲一样:先控制变量,再保留中间层,再从收益、回撤、交易次数等多个维度综合观察。

也就是说,这一讲真正交给你的,不只是一个小实验,而是一套会不断复用的比较骨架。只要这个骨架先立住,后面你扩展研究时就不会变成毫无章法地反复试数字,而会越来越接近有条理的量化实验。

入门系列能在这里收住,其实也很合理。因为到这一步,你已经不只是会用 vectorbt“跑东西”,而开始会用它做最基础的比较研究了。

九、为什么比较结果出来以后,最好顺手写一句“我现在看到的差异是什么”

很多人做完第一次参数比较后,会把结果停留在表格或图上,觉得肉眼已经看到了差异,就算这一步完成了。更稳的做法,是强迫自己再往前迈半步,用一句非常具体的话把当前观察写下来。比如“5 日窗口信号更频繁,收益更高但切换更多”,或者“10 日窗口更平滑,交易次数更少但反应更慢”。这看起来像一个很小的文字动作,实际上非常有价值。

原因在于,参数比较如果不能被你用清楚句子复述出来,往往说明你看到的还只是表面结果,而没有真正提炼出比较结论。只要你能把差异压成一句完整的话,就意味着你已经把中间变量变化、信号节奏变化和结果差异至少在脑子里串起来了。对入门研究者来说,这种“结果转成明确表述”的能力非常关键,因为后面更复杂的参数实验都会依赖它。

因此,第 8 讲结束时,真正的完成不该只是“我跑出了两条结果”,而应该是“我能说清这两条结果为什么不一样、差异主要体现在哪”。这一步会让你从跑实验,正式走向读实验。

十、为什么这一讲也在悄悄建立“不要过早迷信最优参数”的意识

第一次比较参数时,最容易让人兴奋的往往是看到某一组结果更好,于是下意识想把它当成当前答案。可第 8 讲真正更值得建立的,其实是相反的意识:不要因为一次比较里某个窗口暂时更好,就过早迷信它是最优参数。因为你现在看到的,只是当前样本、当前规则和当前成本假设下的一次对照。它可以告诉你差异存在,却远远不足以证明一个窗口具有普适优势。

这层意识越早建立越好。因为量化研究里最常见的偏差之一,就是过早爱上样本内最优点。你如果从第一次参数比较起就学会把“更好”理解成“当前条件下更合适”,而不是“以后都更好”,后面面对更大参数网格和更多样本时,会冷静很多。研究质量也通常会因此更稳。

所以,第 8 讲不是在教你选冠军,而是在教你怎样面对第一次看见参数差异时,不被它过度牵着走。

十一、为什么参数比较完成后,最好把中间结果也一起保存下来

第一次做参数比较时,很多人只会保留最后的收益结果,觉得中间均线列、信号列和交易次数只是临时过程。这其实非常可惜。因为真正帮助你理解参数差异的,往往恰恰是这些中间结果。只要它们被保留下来,你之后回头看时就不只是知道“5 日和 10 日不同”,而是能具体追溯到:均线本身怎么变了、信号在哪些位置提前或滞后、交易频率究竟差了多少。

这件事对后面更复杂的研究也很关键。因为参数一旦变多,你更不可能只凭记忆理解差异。只有把中间层保留下来,参数比较才真正具备复盘价值。否则你每次都只能盯着最终结果反复猜测原因,研究会非常吃力。

因此,第 8 讲除了学会怎么比较,还值得开始建立保存中间层的习惯。这会让你后面从“小对比”走向“系统比较”时明显更稳。

十二、这一讲做到什么程度,才算真正学会了第一次参数比较

第 8 讲的真正完成,不是你把两个窗口都跑了一遍,而是你已经能够同时回答几件很具体的事:哪一个窗口更敏感,哪一个更平滑;信号频率有什么差异;中间均线和最终结果是怎样连起来的;为什么现在不能因为一次样本内结果就直接认定某个参数是长期最优。只要这些问题你已经能说清楚,这一讲就不再只是“看过一次比较”,而是真正开始进入了参数研究的门槛。

只要你已经开始习惯把比较过程和比较结论分开记录,这一讲带来的方法价值就会远大于一次具体结果本身。

如果再往前多走一步,你还应该开始意识到,参数比较最值得保留的不是“赢了哪一组”,而是“为什么它在这组样本里赢了”。这种追问会逼你把比较从数字层往结构层推进。对后面真正做系统性参数研究来说,这一步几乎是必经之路。

十三、总结

这一讲的核心,不是宣判 5 日或 10 日哪个更好,而是让你第一次真正理解参数比较应该怎样做。5 日窗口通常更敏感,10 日窗口通常更平滑,但真正值得观察的是:它们如何改变均线本身、如何影响信号节奏、如何改变交易频率,以及最终如何体现在收益和回撤上。只要你已经能沿着这条链路去比较两组参数,这一讲就已经达到了它最重要的目的。

十四、系列衔接

本讲是《vectorbt回测入门短课》的第 8 讲,当前主题是《比较 5 日和 10 日窗口》。作为本系列的收束,这一讲把你从“会跑一条最小回测链路”推进到“会做第一次参数比较”。到这里,你已经具备了继续做更大规模回测研究的最基本方法意识。

十五、风险揭示与免责声明

风险揭示与免责声明

本页面内容仅用于量化研究与技术交流,旨在展示研究方法与流程,不构成对任何金融产品、证券或衍生品的要约、招揽、推荐或保证。

本文所涉历史数据、回测结果与示例参数不代表未来表现,也不应作为投资决策依据。

市场存在波动、流动性与执行偏差等不确定性,任何策略均可能出现收益波动或阶段性失效。

读者应结合自身风险承受能力进行独立判断,并在必要时咨询持牌专业机构意见。