跳转至

Q & A

一句话: Lab 里那些听起来像行话的问题,这里用人话再说一遍。本机 mlbot lab 的问答页是同一套问题的细则;这里给人先读。

先记住三句就够用:

  1. 规则也会骗人,只是骗法不同:挑好看的门槛、好看的一段行情。
  2. 熊、牛、近窗要分开报。合成一条曲线,会把坏年洗掉。
  3. 相关扫出来的数不能结案。 结案只看三段五项 KPI,结论你自己写。

规则会不会骗人

规则实验还要做交叉验证吗?

不用。 不是偷懒,是防骗的闸门不一样。

交叉验证(把时间切成几折,前面练、后面考)是给会记路径的模型用的:树、线性、打分器在一段历史上调了几千个参数,要问「是不是只记住了那段」。这个公开仓没有训练入口。

规则实验没有「先拟合再打分」这一步。假设写死,熊、牛、近窗各跑一遍。问的是:换一种市场结构,这句话还成不成,不是「系数有没有背下训练集」。

规则参数少,就不会过拟合吗?

会,只是形态不同。

规则记不住「2022 年某天谁怎么走」。它最多锁住一两个门槛。门槛对了,像抓住一个粗结构;门槛只是这段行情碰巧相关,换市况就废。

规则骗人的方式是:扫一堆门槛、换几个条件、哪段数字顺眼就留哪段。挡法很土:相关扫描不能结案;三段分开看,哪段坏就哪段否;比策略时关掉熔断,别让熔断把回撤藏起来。

模型和规则各防什么?什么时候才要交叉验证?

模型 规则
本事 大,能把一段行情的细节背下来 小,记不住整段路径
骗人的样子 训练集很好看,换一段就塌 门槛碰巧对了,换市况就废
怎么挡 交叉验证:别只记住那一折 三段分列 + 人能讲清机制
相关扫描 选特征的线索 同样只是线索,不是证据

只有以后真的在训可拟合模型,才在训练里边做交叉验证。结案仍看三段回测。不要把两套尺子叠在一起。

为什么要分三段

把牛市熊市合成一条曲线,不是更稳吗?

不要合成。 合成会把坏段抹掉,看起来像「长期还行」。行情不平稳时,更长的平均只会把已经失效的规则洗干净。

三段是三种市场状态(跌、涨、近窗震荡),不是把日历切成考试折。就算做了交叉验证,早期折多半是熊、后期折多半是牛,仍然不如明着要求三段同号、回撤不能更坏。

更好的做法:对照变体 × 三段摊在一张卡上,一眼看到哪段翻脸。

三段是什么?Lab 记分卡为什么要摊开?

币圈默认三段:

  • :2022 年大跌
  • :2023–2024 上涨
  • 近窗:最近这一段高波动 / 转熊,不是「再平均一次」

头条只报五项:年化、Calmar、胜率、最大回撤、Sharpe。不要用「一共赚了多少 R」当标题。

一行总数通常只是某一次产物(常见是基准 / 熊段)。对照和近窗必须分列,否则震荡翻脸会被熊段数字盖住。Lab 的 /rd 记分卡就是为这个摊开的。

「相关好看」为什么不能当成绩

扫相关找出来的因子,以后还会灵吗?

相关只说过去同向动过,不保证以后还在。

它不是「模型记住了一条简单规律」。它只是说:在这张表、这个标准答案上,这个数和后面的涨跌一起动过。

如果以后真灵,是因为那个粗关系在下一段还在——故事没变,手续费也吃不完。也可能只是:扫了几百个特征捞到的同号;标准答案和生产目标不是一回事;只在某一种市况里成立。

本仓库用三段分列逼问的就是「隔壁那段还在不在」。过了,比较像抓住了结构;过不了,就是这段样本的相关。

那它是不是记住了某种简单规律?

有时你看到的是那个规律的影子,不是因为它记住了什么。

「简单规律」是你写下的假设(拥挤后回吐、超跌后回复、趋势里别在震荡里开)。相关扫描只是这段样本里的同向,和假设长得一样。

  • 门槛少、人能讲清、三段同号、回撤不坏 → 比较像抓住了结构
  • 只有相关、只看一窗、只看合成曲线 → 当它既没记住、也没发现

所以第一步永远不能结案。这句话写进流程,就是怕你把影子当成证据。

为什么第一步(扫相关)不能结案?

量的不是同一件事。

第一步的标准答案,常常是「未来几根会怎么走」。法庭看的是真金白银走完之后的年化、Calmar、胜率、最大回撤、Sharpe,还要扣槽位、滑点、市况过滤。

相关好看的特征,完整回测经常失效:扫得太多、手续费看不见、市况已经变了。数据再长,有时只是把更多已经失效的规则平均进来。

只有熊 / 牛 / 近窗、熔断关掉的那一跑,才能拿去结案。结案结论仍要你读完报告自己写。

前两步是不是在同一份历史上又调又考?会不会过于乐观?

会偏乐观,如果你把前两步当成绩。 那两步本来就不是「训练集调参 → 测试集验收」。

步骤 实际在干什么 还是同一段历史吗
第一步 在整份表上扫相关 是,发现用
第二步 人写下门槛 是,定参用
第三步 熊 / 牛 / 近窗回测,熔断关 日历大多还是同一段,但量的是另一件事

这里没有经典的「留一段没见过的当考场」。规则也故意不做交叉验证。骗人的通道是扫门槛、换条件、哪段好看留哪段。

挡法:第一步不能结案;三段分列,哪段坏就否;熔断关掉。第三步换的是尺子(五项 KPI)和市场结构,不是未来数据。真要再加一份独立样本,更像换一篮子股票,而不是再切一段日历当唯一考场。

要不要留一段「没见过的未来」

最后半年当「没见过的考场」,行不行?

不要用最后一段替换现在的法庭。

中间空一截,只能挡住「标准答案漏到切点对面」。挡不住你选了一个碰巧好看的门槛。

  • 最后一段往往只是一种市况(现在就是震荡 / 转熊)。只用它当考场,等于又退回「近半年漂亮就能过」。
  • 第一步若看不到那种市况,会专挑趋势门槛。
  • 每一窗都重新搜门槛,是禁止的滚动调参。规则冻死之后往后只重放,那是监控,不是再优化。

想再压乐观,可以在结案后再留一条不再改的尾巴:前面定参,后面只重放一次。尾巴过不了 → 否;过了也不能单靠它过关。三段法庭还在。

空一截是防作弊,为什么还要把时间切成小块?

两件事不要搅在一起。空一截防的是答案泄漏;切小块是多问几次「换一段时间还在不在」。

空一截: 模型在左边学,用「未来几根的涨跌」当标准答案。切在某一天、中间不空,左边最后几天的答案已经包含右边开头的行情,分数会被抬高。所以这一刀中间要空出「答案那么长」的时间。

切小块: 模型本事大,整段学可以很好看。只留最后半年考,你只有一个数字,而且那半年可能刚好是牛市。所以训练会多问几次:用更早的一段学 → 看紧接着的下一段还行不行。小块是为了多问,不是为了切断相关。相关仍然靠每次切的那条缝。

规则没有「先学再打同一套分」,前三步都不需要这两样。按月切小块再各搜一次门槛,反而是禁止的滚动调参。规则要的是大块、冻死的门槛:熊 / 牛 / 近窗同一套都过。

用「未来几根涨跌」当标签,就要交叉验证吗?

要不要做,看你有没有在拟合,不看标签叫什么。

触发条件是三件事同时在:左边在学、两边打同一套标准答案、中间切一刀。不是「树」或「未来收益」这两个词本身。

这个公开仓没有训练入口。规则是:扫一眼 → 门槛写死 → 事件回测。没有那一刀。

如果以后真的在训树 / 线性 / 打分器,并且标准答案会看未来,才要:

  • 空一截:切点两边的答案会重叠,缝至少和「未来几根」一样长
  • 删跨界行:哪一行的答案已经用到对面折的行情,就别再拿去学
  • 交叉验证:因为你在拟合,要多问几次「下一段还在不在」——跟未来是 10 根还是 3 根无关,根数只加宽那条缝

规则第一步即使用同一个「未来几根」算相关,也不要把这三件套当法庭。相关不算分。法庭是三段走完的路径。

「答案踩进考试卷」是什么意思?

说的是这一行的标准答案已经用到了考试那段行情。

比如答案是「未来 10 根的涨跌」。1 号那一行,看的是 1 号到 11 号。现在练习到 100 号,考试从 101 号起。95 号还在练习日历里,但它的答案用到了 95~105 号,其中 101~105 已经是试卷。练习时这道题的标准答案里,已经写进了考试怎么走。

踩进对面: 这一行的答案窗口和考试时间有重叠。
删掉: 这类行不要再拿去学。只留答案完全落在切点之前的行。

和空一截的差别:空一截是两段中间再空几天,两边都不用;删跨界行是在已经划定的折里,把答案越界的那些行划掉。一个是空一段日子,一个是删具体几行。

短周期、大单、高频

公开仓有没有现成的赚钱袖套?短周期树还要不要抓?

没有现成袖套。 这个仓库是假设验证器,公开练习句是均线金叉,不是一套现网策略店。

短周期树、15 分钟订单流,很容易量出「同时在动」而不是「提前几根」。扣完手续费,常常没剩。不要把「还想抓短的」默认做成再扫一棵树。

若还要做短,必须换成交钟(按成交走,不是按 K 线走),并且先过手续费。已量过的句子见 已量展厅

大单之后价格会回吐还是续走?能不能先赌一边?

两边都要数,而且要切开。 不能先假设「大单后面一定回吐」或「一定续走」。

大单后面叠了两台机器:临时冲击 / 库存(回吐),和信息 / 强平连锁(续走)。混成一个平均,相关会接近 0,看起来像「没信号」。

正确问法:先按规则切开两条腿,看符号是否真的不同;再扣完吃单往返手续费,看剩下来的能不能做。平均路径略偏一边、幅度小于费,这句话就不成立。

我有交易系统和返佣,高频是不是就是工程实现?

不是。 普通吃单大约 5bp,账没算错。高频赚的不是「预报两分钟」,而是:点差 + 返佣 − 被打穿 − 库存。

零售挂单经常连 maker 费都不够——BTC 永续点差常常只有一跳。负费率是极大成交量的做市合同,不是把单子改成限价就出现。有下单系统、有特征库、有成交明细,也不等于有队列位置、共置和交易所承认的返佣。

这三项没有时,去做高频 = 用零售费率和慢撤单去接被打穿的那一跳。更近的工程:给自己已经在做的成交算滑点,或量持有型价差(资金费率、期现)。不要为了仿高频再扫一遍特征库。

还想看细则