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 可爲彙總統計。
用於覈對回測過程與績效指標的一致性。