ultilegs
站点首页
行情与组合

模拟回测

模拟回测在独立模拟账户中读取历史 Tick 文件,以文件行情驱动图表、策略和模拟撮合。本窗口负责文件、映射、速度、播放、暂停及重跑控制;委托、成交和持仓仍在相应交易窗口中查看。

模拟回测控制窗口,显示状态、回放进度、速度档、播放、暂停、Restart、品种过滤、文件选择和映射齿轮

启用与登录

  1. 打开系统 → 系统参数,在客户端参数中勾选“启用模拟回测”并保存,默认关闭。
  2. 在登录账户选择窗口选择“模拟回测”。选中它会取消其他账户,选择其他账户也会取消模拟回测。
  3. 完成模拟账户登录后,从系统 → 模拟回测打开控制窗口。

模拟回测与其他账户不能同时登录。也可以从多账户管理登录模拟回测账户,但已有其他账户在线时应先注销。关闭“启用模拟回测”前须先注销模拟账户。

菜单入口要求功能已启用且模拟账户已登录。控制窗口是独立浮动窗口,再次点击菜单会将已有窗口带到前面。

选择文件与列映射

  1. 点击选择 CSV 文件,选择 csv、txt、hqtxt 或 tsv 行情文件。
  2. 连接独立服务端时,可点击服务端路径,输入后端主机能够读取的路径。
  3. 在弹出的CSV 列映射窗口检查前五行,选择内置格式或配置自己的映射。
  4. 点击“保存并启用”,内置格式点击“启用”。成功后返回本窗口,文件名及格式名称显示在按钮下方。
  5. 核对速度、品种范围,再点击“播放”。

文件由后端读取,桌面文件选择不会上传文件。单机版前后端在同一台电脑,通常可直接使用选择的路径;C/S 版本应将文件放在服务端可读的位置,再使用服务端路径。映射窗口会展示完整路径,本窗口仅显示文件名。

齿轮按钮重新打开当前文件的列映射;尚未选择文件时会先弹出文件选择。成功启用后,客户端记住文件路径和映射名称,后续打开控制窗口会尝试恢复;文件移动、权限变化或映射被删除时,需重新选择。

播放、暂停与速度

控制作用
播放未开播时从文件起点开始;已暂停时从当前进度继续。播放中再次点击不会另外启动一份回放。
暂停暂停行情文件读取并保留当前回放位置,不重置模拟账户。
0.5x、1x、2x、5x、10x、50x按相邻 Tick 时间间隔缩放回放节奏。速度变化不等于跳到文件中的其他位置。
全速取消按 Tick 时间差等待,以处理能力尽快回放;行情业务时间仍来自文件时间。

跨时段的大间隔不会完整等待:当前实现将超过 5 秒或负值的相邻 Tick 时间差按无等待处理。因此 1x 也不保证与整段历史的自然耗时一致。

按钮有悬停、按下及选中反馈,状态和进度约每秒核对一次。失败时下方短暂显示红色“控制失败”信息;应结合实际状态判断命令是否生效。

进度条仅显示进度,不能拖动定位。关闭控制窗口只关闭界面,不等同于暂停或注销;需要暂停请先点击“暂停”。

状态与进度

状态说明
未开播数据源已准备但尚未开始,或刚成功换源。开播前总行数可能仍显示 0。
播放中后台正在读取并回放;大文件开始时会先扫描总行数,数字可能稍后更新。
已暂停保留当前进度,点击播放继续。
已播完已到文件末尾,模拟账户保持登录,可继续核对最终持仓与盈亏。
未读取到可回放数据完成状态但总行数为零时提示检查文件与映射,不应把它当作成功完成一次有效回测。

状态行显示当前 Tick 的时分秒及“已处理 / 总行数”,不是电脑当前时间。进度按文件处理计算,被品种过滤掉的有效行也计入已处理数量,因此进度增加不代表当前图表一定有行情。

总行数包括文件表头和坏行,而已处理数不计入被跳过的表头及解析失败行,故“已播完”时百分比可能不到 100%。回放结束后应以状态、回报和数据完整性一起核对结果。

品种过滤

“品种:全部”表示不限制品种,点击后从交易所、品种面板选择一个品种。已有品种过滤时,再次点击品种按钮会直接清除过滤,恢复全部;若要换另一品种,先清除再重新选择。

过滤作用于后续回放 Tick,已经跳过的文件行不会自动补播。它同时影响进入模拟撮合的行情,不仅是隐藏图表;多腿策略需要各腿行情,筛选单一品种时应检查是否排除了其他腿的数据。

换源与 Restart 的区别

操作数据与账户处理
启用文件或映射停止原回放,更新数据源,归零回放进度并重载图表。不会执行模拟账户重新登录与资金重置,之后需要点击播放。
暂停后播放沿用当前账户和文件,从暂停位置继续。
已播完后播放从文件起点重新读取,但不会重置模拟账户。已有账户结果仍在,不等同于一次全新回测。
Restart关闭并重新登录模拟账户,重置模拟资金及账户状态,重新应用已选文件和映射,再开始回放,图表自动重载。

Restart 直接执行,不弹出确认。需要保留当前回测结果时,应先记录结果。仅想临时停下来观察持仓,使用暂停。

Restart 过程中显示重登录提示;完成需要等待账户恢复。它会重建回放器,速度和品种过滤应重新核对,不要仅凭此前按钮显示认定已保留。

回放时间与数据准备

当前回放将行情日期映射到当天,时间使用 CSV 的时分秒。时间跨越夜盘零点时会处理日期进位。CSV 的历史日期不会原样成为模拟账户交易日;它不是任意历史日期的完整交易所环境重建。

数据应为按回放先后顺序排列的 Tick,累计成交量字段不能用每笔成交量替代。当前不会自动按时间排序文件,也不提供时间非递增的专门界面告警。

模拟交易还需要合约元数据,包括乘数、最小变动价位、保证金等。纯回测冷启动缺少合约资料时,可先登录一次真实 CTP 账户取得合约快照,退出后再单独登录模拟回测。C/S 模式须确认后端也具有所需合约资料。

撮合结果受价量映射、排队模型及合约元数据影响;CSV 映射通过只表示字段配置满足要求,不能证明整份行情数据正确。

常见问题

现象检查方法
菜单没有模拟回测检查系统参数是否启用,并确认模拟账户已单独登录。
文件存在却不能预览检查文件是在客户端还是服务端,以及后端读取权限;桌面选择不会上传。
进度走了,图表没行情检查品种过滤、图表合约、订阅与列映射;最新价、买一价或卖一价为零的 Tick 不进入程序行情链。
有行情但挂单难以成交检查累计成交量、买卖一价量、品种过滤及模拟撮合条件。
已播完但进度不到 100%检查表头及坏行;总行数与实际解析成功的行数口径不同。
换源后仍有之前的资金和持仓换源只重置行情流;需要全新模拟账户结果时使用 Restart。
提示控制失败核对账户登录、连接、文件权限及当前映射是否存在,再查看操作日志。

相关帮助:系统参数、多账户管理、实时行情、实时回报。