4. 交易过程记录

4.1. 开启交易日志

qt.run(…, trade_log=True) 中设置 trade_log=True 即可在回测时记录每笔交易。相关配置(如日志保存路径)以 qt.configure() 或运行环境为准。

4.2. 日志内容说明

交易日志通常包含以下字段(罗列并简短解释),具体以实际输出为准:

字段

含义

时间/日期

成交时间或日期。

标的

股票/合约代码。

方向

买入/卖出。

价格

成交价格。

数量

成交数量。

金额

成交金额。

费用

佣金、印花税等。

备注

其他说明(若有)。

4.3. 查看与保存

  • 查看:回测结束后可通过结果对象或 API 读取 trade_log(如 DataFrame 或文件路径)。

  • 保存:若框架将日志写入文件,路径由配置项 trade_log_file_path 决定(支持相对/绝对/家目录路径,可通过 qt.configure() 热修改),详见 API 文档。

  • 日志轮转(rotate):当 trade_log_keep_days 为正整数时,qteasy 在 进程启动、成功导入 qteasy 模块之后,按该保留天数对当前 trade_log_file_path 目录执行 一次 清理:删除早于保留期的 trade_log_*.csvtrade_summary_*.csvvalue_curve_*.csv(文件名中的时间戳或文件 mtime 用于判断新旧)。不会在每次回测结束写新 CSV 之前再次自动清理;长时间运行的单次会话中若产生大量文件,可调用 qt.rotate_trade_logs() 手动清理。默认 trade_log_keep_days3;设为 None小于等于 0 可关闭自动删除。轮转仅影响磁盘上的旧文件,不改变回测结果或任何对外 API。

4.4. 与 result 的关系

  • trade_log 与回测的 loop_resultoper_count 对应:每笔记录对应一次实际操作,oper_count 可为汇总统计。

  • 用于核对回测过程与绩效指标的一致性。