以为回测已经正确地给融资成本定了价
MT5 把当前品种规格中的隔夜利息数值套用到整段测试区间。因此一份十年期回测,是按运行那天恰好生效的利率去收十年的夜晚,具体是低估还是高估,取决于当时利率处在什么位置。
隔夜利息是持仓越过经纪商每日转仓时点后被收取或贷记的融资费用,由两种货币之间的利率差再加上经纪商自己的加价共同决定。
亦称:swap, 掉期, 库存费, 转仓费, 融资成本, 隔夜利率, 套息
更新于 · 审阅于
持有一个货币对过夜,意味着借入一种货币的同时持有另一种货币,于是利息在两边之间易手。经纪商每天结算一次这个差额,再加上自己的一层加价,结果就以贷记或收取的形式落在这笔持仓上。
隔夜利息是唯一一项随时间增长、而不是随操作次数增长的交易成本。一套很少交易、却一持数日的策略,付在融资上的钱可能超过付在点差上的钱,而它恰恰是那份用来证明它可行的回测里最常缺席的成本。
这里公布的 Windrose 记录,一套 AUD/CAD 反转策略,经常一持数日乃至数周。那份记录测量了自己的融资成本,而不是假定它,因此它最清楚地展示了隔夜利息对一套慢策略意味着什么。
这里的每一项都不取决于策略判断得对还是错。这是持有仓位本身要交的租金,而在这份记录上,租金跑赢了回撤。
计算 521 ÷ 1,445.84 ≈ 36% · 148 − 91 = 57(一笔持仓上的隔夜利息)
结果 融资成本占它最终留下的净利的 36%,并且大于这份记录最差的回撤
隔夜利息要对着持仓时间来读,而不是对着账户余额来读。先算出每笔交易的融资成本,然后读两遍:一遍是它占平均盈利的比例,也就是下面这张带;另一遍是把它放在记录的最大回撤旁边,这一遍才告诉你,这项成本是不是已经大过所有人都在看的那份风险。
| 区间 | 含义 |
|---|---|
| 低于平均盈利的 2% | 无关紧要。选策略时可以忽略,但要留在成本模型里。 |
| 2–10% | 是一项实打实的成本,值得在投入之前对照第二家经纪商的隔夜利息表核一遍。 |
| 10–25% | 融资成本此时已是一项设计约束。持仓时间和经纪商选择两件事都需要给出理由。 |
| 高于 25%,或者以正向套息作为宣称的优势 | 这套策略交易的是融资成本而不是市场,它的生死系于一个由经纪商设定的利率。 |
这里公布的 23 份记录中有 15 份以货币写明了隔夜利息总额;余下 8 份只说这次运行计入了隔夜利息,把逐笔数值留在可下载的成交明细里。看清一个商品页属于哪一种,是判断它对自己的融资成本审视得有多细的最快方式。
MT5 把当前品种规格中的隔夜利息数值套用到整段测试区间。因此一份十年期回测,是按运行那天恰好生效的利率去收十年的夜晚,具体是低估还是高估,取决于当时利率处在什么位置。
免隔夜利息账户用一笔管理费取代融资成本,通常是宽限期之后按每手每晚固定收取。对一次持有一周的策略来说,这往往比它所取代的隔夜利息更贵。可比的是每笔交易的总成本,而不是有没有“免费”这两个字。
一周里有一天要结算三个夜晚以覆盖周末。因此交易周内的五次转仓其实要收七个夜晚,一笔跨越整周持有的仓位所累计的融资成本,会比按持仓晚数天真估算的结果多出 40%,而且多出来的部分落在固定的某个星期几,在资金曲线上显示为一级台阶。
止损约束的是市场能拿走多少。它约束不了日历能拿走多少。Windrose 有一笔持仓持有了三个半月,最终以 −$148 收场,而名义止损是 −$91,因为融资成本一直在一笔止损早已定价过的持仓底下继续累计。对任何可能持有数周的策略,每笔交易真正的最坏情况是止损加上这段持有所累计的隔夜利息。
这里公布的 23 份记录中有 4 份记录到的融资成本正好是零,而每一次那都是被测品种的属性,不是策略的属性。Stillwater 的 833 笔成交隔夜利息全为零,因为它只做多,而这次运行背后的 USD/JPY 历史在多头一侧不带隔夜利息。与此同时,它的 416 笔交易里有 286 笔至少跨过一个夜晚。一个利率寻常的实盘账户,这些夜晚一晚都不会少收。
正的隔夜利息由一个被经纪商加价并不断修订的利率差决定。一套盈利能力依赖于它的策略,同时暴露在一次利率决议和一项经纪商政策之下,而这两者在它的回测里哪儿都找不到。
| 在此发布的 23 个 EA 中 | 数值 |
|---|---|
| 以货币写明隔夜利息总额的记录 | 15 |
| 其中总额正好为零的记录 | 4 |
| 计入隔夜利息但未汇总的记录 | 8 |
| 单份记录上最大的融资账单 | −$938.13 |
| 最小的非零账单 | −$9.37 |
| 十一份非零记录的融资合计 | 约 −$4,307 |
| 在运行清单里写明每晚隔夜利率的 | 23 份中的 1 份 |
这个区间上下两行之间的落差,正是全部要点所在。Ballast 做出 $4,061.59 的毛利,其中 $938.13 付给了融资成本,公布出来的是 $3,123.46——这套策略产出的 大约四分之一花在了持有仓位上。Nautical 跑在一个 EUR/JPY 隔夜利息配置得接近于零的自定义 品种上,在 1,665 行成交、持仓中位数三天的情况下只付了 $9.37。同一项成本,同一个平台, 相差两个数量级,而这两个数字都无法从策略逻辑里推出来。
那四行零才是陷阱。Stillwater 的 833 笔成交每一笔记录到的隔夜 利息都正好是零,因为它只做多,而我们测试所用的 USD/JPY 历史在多头一侧不带隔夜利息。它的 仓位照样过了夜:416 笔交易里有 286 笔至少跨过一晚,持仓中位数接近 51 小时,最长的一笔 44 天。那一列里的零描述的是测试品种,不是策略。把它误认成策略的属性,你就悄悄删掉了一项 实盘账户会在每一个这样的夜晚收走的成本。
最后一行动摇的是可复现性。23 份运行清单里只有一份记下了每晚的利率;其余的都交给成交明细 里的逐笔数值,这么做是有道理的。用相同日期重跑 Lattice Weave 的构建,得到的入场完全相同、出场完全相同、价格精确到最后一位也相同。只有总额动了,而它只 因融资成本而动,因为经纪商在这段时间里修订了自己存储的隔夜利息历史。回测里其他每一项成本 都由数据推出来;只有这一项,取决于你是什么时候按下开始的。