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_*.csv、trade_summary_*.csv与value_curve_*.csv(文件名中的时间戳或文件 mtime 用于判断新旧)。不会在每次回测结束写新 CSV 之前再次自动清理;长时间运行的单次会话中若产生大量文件,可调用qt.rotate_trade_logs()手动清理。默认 trade_log_keep_days 为 3;设为 None 或 小于等于 0 可关闭自动删除。轮转仅影响磁盘上的旧文件,不改变回测结果或任何对外 API。
4.4. 与 result 的关系
trade_log 与回测的 loop_result、oper_count 对应:每笔记录对应一次实际操作,oper_count 可为汇总统计。
用于核对回测过程与绩效指标的一致性。