599 / 736PAPER

Paper Trading

模拟交易

Paper Trading 使用虚拟资金模拟订单和账户。它有助于在信息持续到来的过程中检验规则、操作和记录。但成交由模型而非真实交易所生成;有利结果不能保证流动性可用、遭遇亏损时行为相同,或未来获得收益。

Paper Trading 是一种练习交易方式:记录决策、成交和余额,却不使用参与者的资金进行真实买卖。在持续运行模式下,它使用不断到来的市场信息,但订单执行和账面结果由模拟决定。

QuantConnect 描述了一种模式:算法接收持续到来的市场数据,却使用虚构资本和模拟成交。本文的区分是:Paper Trading 既可用于人工练习,也可用于自动系统;这里关注随着时间推进逐步作出的决策。Backtesting 则重放已经保存的历史。使用今天的报价,本身不会把练习账户变成真实交易。结果属于设定的模拟器和实验规则,并不自动等于市场上可实现的执行结果。 [1]

Alpaca 将练习账户与真实账户的访问密钥和接口地址分开。我们的操作要求是在提交订单前,在应用和自动化配置中确认账户身份、模式及目标环境。文件名或程序的预期用途不能替代这项检查。测试配置应有明确标识和单独的运行记录。切换环境会改变订单的后果;它不能成为复制设置时未被察觉的副作用。 [2]

Alpaca 明确说明,其模拟不包含自身订单对市场的影响、延迟引起的 Slippage,也不包含不能立即成交的限价订单在队列中的位置。我们的推论是:触及显示价格,并不能普遍证明交易所会有足够数量供我们成交。评估应区分提交数量和模拟器实际分配的成交数量。依赖有利执行模型的利润,需要描述为该假设下的结果。 [2]

Interactive Brokers 说明,模拟成交使用订单簿最优价位而不考虑市场深度,某些复杂订单也存在差异。我们的要求是记录数据来源、报价时间、支持的订单类型及所用执行模型。缺少这些信息就比较不同平台的结果,可能把策略变化与模拟器变化混为一谈。即使界面显示逼真,也不能保证每种操作的行为相同。不能仅因为其他订单能够运作,就宣称不受支持的功能已通过测试。 [3]

QuantConnect 的默认模型不计入 Slippage,并立即完全成交市价订单;同时,它可以在价格中使用已有的买卖报价差。因此,我们的检查将成交价格、手续费和其他模拟成本分开。模拟器中的零支出不一定意味着未来账户的支出也为零。我们说明哪些因素已计入、哪些缺失,并且不把同一价格影响再次作为单独费用加上。模型设置是结果的一部分。 [1]

Alpaca 提醒注意持续运行中的未成交订单和网络连接中断。我们的测试场景包括接受订单、部分成交、确认取消剩余部分,以及中断后恢复对状态的掌握。缺少回复本身并不能证明订单未被接受。因此,记录将订单标识符与已确认事件及账户状态联系起来;盲目重复可能导致订单数量失真。一次没有故障的成功运行,不能证明系统能够处理尚未测试过的故障。 [2]

NFA 提醒,即使把结果标记为持续运行的结果,也可能掩盖其假设性质。我们的编辑协议预先记录规则版本、观察起止时间、干预条件和测量指标。规则变更、中断和新建练习账户都保留在历史中;不能把最好看的一段当作整个实验。如果根据结果修改策略,这些观察就已经影响了开发。下一次测试应单独标识,不能追溯改写前一次测试。 [4]

NFA 强调,假设交易不能充分反映承受亏损以及在真实风险下遵循流程的能力。我们的结论是:Paper Trading 可以发现规则、操作和记录错误,但正的总和并不自动证明盈利能力,也不证明已经准备好转到真实账户。报告应区分已检查的场景与未经测试的情况,并说明仍然存在的限制。此外,练习头寸本身不会带来比特币所有权,也不能使人将其提取到自己的钱包。 [4]

示例示例 · PAPER

提交数量不等于已成交持仓

我们自拟的虚构示例使用初始练习现金 1000 USD,没有债务和外部现金流。我们请求买入 1 BTC,但模拟器仅分配 0.6 BTC 的成交,模型价格为 100 USD/BTC。该次买入成交的手续费为 0.1 USD。随后,剩余 0.4 BTC 被确认取消,没有额外成交,也不收取取消费用。买入后现金为 939.9 USD,未平仓练习头寸为 0.6 BTC。在中途估值价格为 105 USD/BTC 时,头寸价值为 63 USD,包含现金的账户价值为 1002.9 USD。未实现的毛价格利润为 3 USD;这还不是已平仓交易的最终净结果。随后,模拟器卖出全部 0.6 BTC,价格为 104 USD/BTC,并收取另一笔 0.1 USD 手续费。已实现的毛价格利润为 2.4 USD,手续费总和为 0.2 USD,净结果为 2.2 USD。最终现金为 1002.2 USD,头寸为 0 BTC。示意图区分请求、成交和取消的买入数量 [1, 0.6, 0.4] BTC;它们不是三笔已执行交易。模型价格不是真实的比特币报价;我们不假设有上述成交之外的其他成本或价格影响。由此不会产生任何真实比特币或真实现金利润。

要获得更完整的理解,请将本词条与以下词条结合阅读: Backtesting, Slippage, Trading Plan, Trading Journal, Risk Management. 反向关联还来自: Overfitting, Look-ahead Bias, Survivorship Bias.

01使用实时价格就意味着真实交易吗?

不是。持续更新的价格可以作为模拟输入,而订单仍留在练习环境中。关键在于账户、订单路由和成交方式,而不只是图表是否最新。

02练习账户盈利就足以验证策略吗?

不够。需要了解成交假设、成本、修改历史以及测试场景的范围。此外,模拟不能充分反映真实流动性、自身对市场的影响,或人在遭受真实财务损失时的反应。

DOC · 001QuantConnect — QuantConnect Paper Trading文档 DOC · 002Alpaca — Paper Trading文档 DOC · 003Interactive Brokers — About Paper Trading Accounts文档 DOC · 004NFA — Use of Promotional Material Containing Hypothetical Performance Results文档
修订日期: 来源优先 · 非投资建议