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 可爲彙總統計。

  • 用於覈對回測過程與績效指標的一致性。