文件单回测

一、系统概述

  • 支持文件上传和在线输入的订单回测

  • 支持期货和证券的回测

  • 支持模拟撮合成交模式和概率成交模式

  • 支持回测结果的在线查看和下载

二、成交模式介绍

模拟撮合成交

基于真实市场行情进行撮合成交。具体而言,股票与期货的撮合方式略有不同:

  • 股票,通过L2逐笔数据重建完整订单簿,严格按照价格优先、时间优先的原则撮合成交,与交易所的撮合机制完全一致。

  • 期货,采用L1快照行情,将快照中的订单簿与用户委托单进行撮合,以实现快速而准确的撮合结果。

概率成交

完全不参考市场行情,仅依据预设的成交概率决定每笔订单是否成交,且成交价为下单价格。成交概率以交易日为周期单独计算,不进行跨日累积。例如,某个交易日共发出50笔委托,若成交概率为80%,则当日将有40笔订单成交,其余10笔则不成交;下单价格为0,则按照价格0成交,下单价格为10,则按照价格10成交。

动态校准概率成交

待升级。在成交引擎中引入“市场切片行情”、“链路延时”、“订单信息”、“校准系数”等参数,并建立多因子“成交概率模型”,支持实盘校准引擎,从而得到更精确的回测结果。

三、指标介绍

鼠标移动到回测结果指标条目上时,会显示该指标的具体计算方法。

  1. 年化收益率::表示投资期限为一年的预期收益率。 具体计算方式为:(策略最终价值 / 策略初始价值 - 1) / 回测交易日数量 × 250

  2. 基准年化收益率:参考标准年化收益率。 具体计算方式为:(参考标准最终指数 / 参考标准初始指数 - 1) / 回测交易日数量 × 250

  3. 阿尔法:实际收益和按照β系数计算的期望收益之间的差额。代表是否跑赢大盘,数值越大越好。 具体计算方式为:(策略年化收益 - 无风险收益) - beta × (参考标准年化收益 - 无风险收益),这里的无风险收益指的是中国固定利率国债收益率曲线上10年期国债的年化到期收益率

  4. 贝塔:衡量了资产的回报率对市场变动的敏感程度,代表了该资产的系统性风险,表示策略对大盘的敏感性。 比1大,说明比大盘波动大。比1小,说明比大盘波动小。 具体计算方法为:策略每日收益与参考标准每日收益的协方差 / 参考标准每日收益的方差

  5. 夏普比率:表示每承受一单位总风险,会产生多少的超额报酬,即收益和风险比,越小越好。 具体计算方法为:(策略年化收益率 - 回测起始交易日的无风险利率) / 策略收益波动率

  6. 收益波动率:增长率的波动情况,也是是平均涨跌幅度的变化,用来测量资产的风险性。数值越小,表示越平稳。 具体计算方法为:策略每日收益的年化标准差

  7. 信息比率:以马克维茨的均异模型为基础,用来衡量超额风险所带来的超额收益。它表示单位主动风险所带来的超额收益。信息比率越大,说明单位跟踪误差所获得的超额收益越高。 具体计算方法为:(策略每日收益 - 参考标准每日收益)的年化均值 / 年化标准差

  8. 最大回撤率:在选定周期内任一历史时点往后推,产品净值走到最低点时的收益率回撤幅度的最大值。最大回撤用来描述描述任一投资者可能面临的的最大亏损。 具体计算方法为:max(1 - 策略当日价值 / 当日之前虚拟账户最高价值)

  9. 风险收益比: 具体计算方法为:风险收益比=净利润/最大回撤

  10. 索提诺比率:承受每一单位下行风险,会产生多少超额回报。 具体计算方法为:索提诺比率=(年化收益率-无风险利率)/下行风险;下行风险=min(策略每日收益率-无风险利率/250,0)的标准差

  11. 卡玛比率:承担单位风险(最大回撤)所获得的收益率 具体计算方法为:卡玛比率=年化收益率/最大回撤绝对值


四、操作流程

4.1 文件上传流程

在上传方式单选按钮中,选择 “上传文件”,如图: UploadFileMenu

点击选择或者拖拽本地文件进行上传即可开始回测,上传文件应为订单 order.csv 文件与 initConfig.json 配置文件的 zip 打包。打包文件的内容如下说明

4.1.1 order.csv

回测配置文件说明

4.1.2 initConfig.json

回测配置文件说明

4.2 文本输入流程

TextInputMenu

  1. 运行时间: 选择回测的开始时间和结束时间

  2. csv文本: 在输入框中填写订单流,格式见上述order.csv文件格式。

  3. 系统目前支持两种成交模式,概率成交模式,以及基于行情的撮合成交模式(期货采用快照撮合,股票采用逐笔撮合)

    MatchingModeSelect

    可以为整个订单流中的所有委托指定统一的成交模式,也可以针对单个合约单独配置成交模式,二者均支持上述两种成交模式。

    InstrMatchingModeSelect

    • 在概率模式下,需指定一个成交概率,范围为0-100,其中0表示全部不成交,100表示全部成交。

    • 在撮合模式下,期货固定的使用L1快照进行撮合,股票则采用L2逐笔数据,无需额外配置其他参数。

  4. 目前系统支持底仓功能,用户可以根据回测中使用的合约,初始化指定合约的原始仓位。

    InitialPositions

    • 合约格式需要加交易所后缀。

    • 需要提供合约的底仓方向、开仓价格、开仓数量。

  5. 订单延时,是委托订单从策略侧发送至撮合引擎的延时,单位为微秒,默认延时为0,即订单流中指定的委托订单的时间。

  6. 资金:设置回测开始的初始资金,方便后续绩效分析的计算。

  7. 其他费率根据实际可进行修改,方便计算交易费用,保证金率等参数使用交易所历史当日的保证金率进行计算,使得交易更贴近真实生产交易环境。

  8. 点击“下一步”按钮。

  9. 系统显示提交结果。

4.3 回测结果

  1. 在线查看回测结果

    ViewTheResult

  2. 查看回测日志

    ViewTheLog

  3. 结果详单

    ViewTheOrderResult

  4. 指标列表

    ViewTheQuotasResult

  5. 下载回测结果


五、注意事项

5.1 运行时间

当前提供的行情为2024/05/06至2025/05/30,因此回测时间可选范围与此相同。

5.2 成交模式

对于输入订单中的合约,会使用所选的默认成交模式,如果针对单合约设置成交模式,则会对单合约特殊的使用对应的成交模式。

5.3 订单延时

单位为微秒,支持非负整数,表示订单从发出到进入撮合引擎的延时。

5.4 资金

支持0-1,000,000,000,000元。

5.5 Rate相关参数

支持0-100范围内的整数。

5.6 佣金最小费率

支持大于等于0的整数和小数。

六、常见问题

Q1:上传文件失败怎么办?

  • 检查文件格式是否符合要求。

  • 确认网络连接正常。

Q2:提供的数据从什么时间开始?

  • 目前提供2024/05/06至2025/05/30的行情。