Trader OS
Phase 5 · 回测基础

第 28 章 · Transaction Cost

一个回测年化 50% 的策略,扣掉成本还剩多少?

阅读模式
Phase 5 · 回测基础TRD-BT-004 · v1.0
练习的能力
数据验证实际成交
3D 模拟
无

市场现场

当前的阅读模式收起了这一节。

小林发现把窗口缩短能抓住更多波动,毛收益变高了。阿哲让他打开成交费用,频繁的进出场开始吞掉收益。更麻烦的是,一旦成本减少了账户资金,后续订单的数量也会改变。

你来决定

当前的阅读模式收起了这一节。

要知道剩下多少优势,你会怎样把费用放回每次交易?

观察结果

当前的阅读模式收起了这一节。

实验将手续费、滑点、冲击和资金费分别列出。单独提高一个输入,比较总成本、交易次数和净收益。毛收益与净收益采用同一批实际数量,因此两者差额能与成本对账。

背后的机制

手续费按实际成交金额计收。滑点描述成交价相对参考价的偏离,本页将价差包含在滑点配置中,不能再重复加一遍。冲击用独立 bps 情景近似,没有真实深度或订单大小反馈。资金费按每根收盘的持仓方向和名义金额计入,可正可负。

换手越高,成交摩擦通常越重要;持有越久,资金费与持仓风险越需要检查。成本假设应有基础和压力两套,并记录实际成交回报与假设差异。报告题目中的年化数字只是提问,不是本页收益承诺。

它叫什么

手续费Trading Fee
按成交规则支付的费用,需要明确费率、成交金额与双边次数。
滑点成本Slippage Cost
参考价格与实际成交价格的偏离,本页含价差影响的统一情景参数。
资金费率成本Funding Cost
持有永续仓位发生的净收付,符号随方向与费率改变。
换手率Turnover
成交金额相对基准资金的累计比例,需说明双边与时间口径。

真实市场

吃单改变成交均价订单簿

第 13 章逐档吃单说明参考价不等于平均成交价。

持有也有现金流永续合约

第 17 章展示资金费,多头并非永远付款。

拥挤时退出更贵市场结构

第 18 章的强制卖出链提醒研究者为成本恶化留出压力情景。

动手

Lab做一张全成本对账表25 分钟页面实验与本地文本
  1. 保留默认配置,记录各项成本与净收益。
  2. 依次单独提高手续费、滑点、冲击;最后切换资金费,保存各情景报告。
  3. 产出基础/压力成本表,写明价差是否已经包含、资金费方向、容量限制和缺少的数据。

种子 42 的 360 根合成日线,非历史业绩。初始 10,000 美元,每次开仓使用 50% 权益预算,持有不再平衡,最后收盘退出;开盘与收盘检查权益耗尽,保留穿仓。

净收益
9.38%
收盘最大回撤
15.63%
平仓交易数
44
净胜率
52.27%
期末权益(美元)
10,937.56
停机 / 穿仓(美元)
未停机 / 0
同数量账本(美元)金额
毛盈亏1,320.78
手续费 / 滑点 / 冲击183.33 / 91.66 / 0
资金费净付(负数表示净收)108.23
净盈亏 = 毛 − 全成本937.56

毛盈亏按同一批实际成交数量与参考价还原,不能当作另一条零费用策略。成本会改变之后的资金与数量;固定冲击参数不等于订单簿容量估计。资金费可能净收取。

下载 Markdown

仅在本页编辑;刷新会清空,请及时复制或下载。

课程版本V1-docs;来源p3:report:backtest-report.md;第 28 章 / TRD-BT-004

只记录点击时的参数和结果;不代表实验通过。
查看待保存快照

再用下面的订单簿检查静态成本参数遗漏了什么:改变数量、买卖方向和撤单条件,观察逐档成交均价及未成交数量。它复用第 13 章的订单簿模型,是独立执行对照,不会自动把该快照映射为上方每根日线的冲击费率。报告需说明如何校准这种映射,不能直接假定一个固定 bps 能覆盖所有规模。

成交均价
60,027.33
滑点
17.33 · 2.9 bp
碰到的档位
4 档
成交后价差
50
卖单(被你吃掉的一边)
  1. 60,010吃 0.5
  2. 60,020吃 0.8
  3. 60,030吃 1.2
  4. 60,050吃 0.5
  5. 60,0803
  6. 60,1205
买单
  1. 60,0000.6
  2. 59,9900.9
  3. 59,9801.5
  4. 59,9602.2
  5. 59,9303
  6. 59,8905

课程版本V1-docs;来源lab:order-book;第 28 章 / TRD-BT-004

只记录点击时的参数和结果;不代表实验通过。
查看待保存快照

改一个变量

如果只增加手续费
直接减少成交后的资金,后续仓位也可能随之变化。
如果只关闭资金费
移除了真实产品可能发生的一项收付,只能作为归因对照。
如果只改变参考价口径
滑点的测量基准改变;应固定基准后再比较执行好坏。

三种深度

同一个知识节点TRD-BT-004,三种深度各问一个问题
  1. 基础一个回测年化 50% 的策略,扣掉成本还剩多少?第 28 章
  2. 进阶怎样建立包含手续费、滑点、冲击和资金费率的 Transaction Cost Model?Advanced E · 执行与微观结构
  3. 机构成本模型怎样决定一个策略的容量上限和最优换手率?Institutional

先把每次进出和持有收付列出来,再相信净收益。

带走的问题

6
仓位应该多大?
成本是否逐笔计入,是否漏项或重复计入?
7
流动性够吗?成交要付出多少成本?
成本恶化时风险预算是否仍允许继续?
9
现在是什么市场状态?
哪些损益来自信号,哪些来自持有收付与执行?

本章自测

一句话带走

手续费、滑点、资金费收付和冲击必须按发生时点记账。交易越频繁,成交摩擦越可能吃掉优势;资金费也可能是收入。

记录这次学习

“已读”只表示你确认读过本章;自测由你对照参考结论自评,两者都不等于掌握认证或职业等级。每次点击保留一条带时间的本地记录。

自答核心问题并记录自评

一个回测年化 50% 的策略,扣掉成本还剩多少?

概念掌握自报(不是认证)

仅由你主动声明。已读、正确自评或实验结果都不会推断掌握;未报告为未知。撤销后成为未知,并取消已选附件。

  • 手续费:未读取

  • 滑点成本:未读取

  • 资金费率成本:未读取

  • 换手率:未读取

尚未读取本章自报;没有报告不表示已经掌握。

带着本章上下文准备提问

Tutor 提问工作台

模型服务尚未配置。点击发送只会把下方预览提交给本站接口并收到未配置提示,不会调用外部模型或生成回答。提供方、运行位置及数据保留方式仍待确定。

角色目标:用故事、例子和计算解释一个概念。 以下为提问准备,不是该角色的生成结果。

Foundation 第 28 章 · TRD-BT-004 v1.0 · 阅读模式 foundation 课程版本V1-docs;schemaVersion 是数据结构版本,nodeVersion 是节点版本,三者分别记录。阅读模式不等于自报 Level。

选择本地记录、管理自报 Level

读取只在点击后发生;读取不等于同意上传。已读、自评、实验、研究快照均是学习者资料,不是模型指令或已验证事实。不要放入密钥、身份信息或真实账户资料。

逐条选附(最多 10 条,默认不选)

没有已加载的记录。先在章节确认已读、自答自测,或在实验控件中保存当前快照。

检查将使用的提问与附件

请填写 1–4000 字的问题

服务未配置;没有 AI 回答。

本地存储、导出与清除

记录保存在当前浏览器、当前站点的 localStorage,最多 100 条,不自动过期。没有账号隔离或云备份;共用设备上的其他使用者可能读到。请单标签页编辑;多标签页同时写入可能覆盖,请及时导出。修改或删除记录会取消当前已选附件,需重新加载。

Journal 由第 35 章日志工具单独管理和清除。删除本地数据不代表删除未来服务端数据;当前没有服务端副本。浏览器拒绝存储时不会假报成功,请复制本页预览。

管理本地记录与 Tutor 提问

本页目录