模擬實盤:配置與運行
本章帶您從「已有回測策略」到「第一次穩定啓動模擬實盤」:該配哪些項、如何確認、啓動後該看什麼。
親愛的用戶,若您手裏已經有一個能回測的 Operator(交易員容器),本章就是進入 live 的最短路徑。我們先把必要配置講清楚,再談可選的「策略快照」「啓動門禁」等進階項。
0. 适用场景
您已有可運行的 Operator,準備從回測進入模擬實盤
您希望先跑通最小路徑,再逐步補充風控、門禁與運維細節
1. 核心概念(本章术语)
啓動 live 前,請確認三者關係。在 qteasy 裏,Operator 負責「算什麼信號」,live 賬戶負責「記錢記倉」,本地數據源負責「給價給歷史」——三者缺一,Trader 無法穩定運行。下表說明各自在 live 子系統中的位置及您要準備的內容。
各列含義:角色爲組件名;作用爲在 live 鏈路中的職責;您需要準備什麼爲啓動前檢查項。
如何使用:逐項打勾;若某一列準備不足,先補數據或賬戶再 qt.run(op)。
角色 |
作用 |
您需要準備什麼 |
|---|---|---|
Operator |
持有策略與信號邏輯 |
與回測時同一個 |
live 賬戶 |
記錄現金、持倉、訂單 |
|
本地數據源 |
提供歷史與實時行情 |
表數據覆蓋策略頻率(如分鐘策略需分鐘表) |
LiveTradeConfig(live 配置快照):qteasy 在啓動 Trader 前,會把分散在 qt.configure(...) 裏的 live 相關項校驗並凍結成一份不可變快照——像起飛前簽字的檢查單,避免運行中被意外改配置。您可在 Shell 裏用 liveconfig 查看摘要。
2. 最小配置集
以下爲常見必配項(不設或設錯時,往往在啓動階段就會報錯)。這些鍵通過 qt.configure(...) 寫入全局配置,啓動時併入 LiveTradeConfig 快照;它們決定「是不是 live、交易什麼資產、用哪個賬戶、價從哪來、單交給誰撮合」。
各列含義:配置鍵爲 QT_CONFIG 中的名稱;含義爲該鍵控制的 behavior;不設會怎樣爲常見後果(便於判斷當前報錯是否與此鍵有關)。
如何使用:首次 live 請全部顯式設置;啓動失敗時對照「不設會怎樣」列排查。示例見 §5 模板 A/B。
配置鍵 |
含義 |
不設會怎樣 |
|---|---|---|
|
進入 live / 模擬實盤 |
仍走回測或其他模式 |
|
資產類型,如 |
交易規則與數據表可能對不上 |
|
使用哪個模擬賬戶 |
無法綁定賬本 |
|
券商類型,初學用 |
無成交通道 |
|
實時價渠道,如 |
無法獲取 live 價 |
|
拉價頻率,如 |
與策略步頻不協調時可能缺數據 |
以下鍵非啓動硬性門檻,但強烈建議確認——它們影響最小成交單位、日誌落盤與磁盤佔用。與上表同屬 qt.configure 範圍,可在同一腳本里一併寫入。
如何使用:若成交數量「對不齊整手」或日誌找不到文件,回頭查本表對應行。
配置鍵 |
含義 |
不設會怎樣 |
|---|---|---|
|
買賣最小單位 |
使用默認值 |
|
現金/數量小數位 |
使用默認值 |
|
系統/交易日誌目錄 |
使用包內默認路徑 |
|
日誌保留天數(含 risk 日誌) |
默認 3 天自動清理 |
3. 查看配置快照
Python(腳本里自檢):
from qteasy.live_config import build_live_trade_config
import qteasy as qt
cfg = build_live_trade_config(qt.QT_CONFIG)
print(cfg.to_summary_dict())
CLI(Trader Shell):命令 liveconfig(別名 live-config)
默認:穩定字段子集
加
--detail:額外含啓動門禁、策略快照等鍵
說明:Shell 內的 liveconfig 是根據當前 Trader 重新彙總的摘要,不是啓動那一刻對象的內存引用——但對您覈對「現在生效的配置」足夠用。
4. 配置键分组(主要 live 键)
live 相關配置鍵數量較多。爲便於查閱,我們按功能分組歸納(非 API 全量列表;完整字段以 LiveTradeConfig 爲準)。在 qteasy 中,這些鍵在啓動前被校驗並凍結——您改 qt.configure 後需重啓 live 進程才能完全生效。
各列含義:分組爲 live 子系統內的職責域;代表鍵列出該組最常改動的鍵(同組可能還有未列出的鍵);說明爲該組在運行中的作用。
如何使用:按您當前任務選分組——例如排日誌問題看「日誌」行並跳轉 :doc:5-artifacts-and-troubleshooting;開分鐘策略先看「行情與 refill」與策略步頻是否匹配。
示例:子日頻策略常改「行情與 refill」組的 live_price_acquire_freq,並視需要開啓「策略快照(5-A)」組中的 live_trade_split_strategy_prepare。
分組 |
代表鍵 |
說明 |
|---|---|---|
賬戶與 UI |
|
賬戶與 CLI / TUI 選擇 |
行情與 refill |
|
實時價與定時補數據 |
交易規則 |
|
與回測語義對齊 |
Broker |
|
默認 |
策略快照(5-A) |
|
策略運行前預拉數據;詳見 :doc: |
啓動門禁(5-B) |
|
開盤前安全檢查;CLI |
日誌 |
|
含 |
完整字段以 LiveTradeConfig 爲準;各鍵合法取值見配置校驗邏輯。
5. 推荐配置模板
模板 A:股票(E + 模擬券商)
以下代碼在 qt.run(op) 之前執行,告訴 qteasy:用股票規則、東方財富 15 分鐘價、模擬櫃檯成交。
import qteasy as qt
qt.configure(
mode=0,
asset_type='E',
live_trade_broker_type='simulator',
live_price_acquire_channel='eastmoney',
live_price_acquire_freq='15MIN',
trade_log_keep_days=3,
)
模板 B:場內基金 / ETF(FD + 模擬券商)
與模板 A 相同,僅 asset_type='FD',適用於 ETF 等示例路徑。
import qteasy as qt
qt.configure(
mode=0,
asset_type='FD',
live_trade_broker_type='simulator',
live_price_acquire_channel='eastmoney',
live_price_acquire_freq='15MIN',
trade_log_keep_days=3,
)
模板 C:策略快照 + 啓動門禁(冒煙 / 進階)
與 :doc:7-manual-smoke-live-grid-roadmap 一致;建議在熟悉模板 A/B 後再開。
qt.configure(
live_trade_split_strategy_prepare=True,
live_trade_prepare_lead_seconds=60,
live_trade_strategy_snapshot_max_age_seconds=300.0,
live_trade_startup_gate_mode='warn', # 先 warn 观察,稳定后可试 block
)
6. 启动流程(分步说明)
寫好配置:按 §2 完成
qt.configure(...),確認賬戶 ID/名稱。(可選)覈對快照:運行 §3 的 Python 片段,或啓動後進 Shell 執行
liveconfig --detail。啓動:
qt.run(op);命令行示例常用--ui cli進入 Trader Shell。觀察:看狀態、訂單、日誌是否按預期寫入(§7)。
啓動前快速列印幾項關鍵配置:
import qteasy as qt
for key in ('mode', 'asset_type', 'live_trade_broker_type',
'live_price_acquire_channel', 'live_trade_startup_gate_mode'):
print(key, qt.get_config(key)[key])
7. 启动后建议先看什么(CLI)
進入 Trader Shell 後,下列命令幫助您確認「配置是否生效、日誌在哪、券商是否可受理、門禁是否通過」。它們對應 :doc:8-cli-trader-capability-matrix 中的運維子集——不是 Shell 全部命令。
各列含義:命令爲在提示符下輸入的名稱(含別名見矩陣章);典型用途爲該命令最常解決的疑問。
如何使用:啓動後按表從上到下快速掃一遍;若某步異常,帶着命令輸出轉 :doc:5-artifacts-and-troubleshooting。
示例:不確定日誌路徑 → 輸入 artifacts → 打開返回的 sys_log 路徑查看啓動 trace。
命令 |
典型用途 |
|---|---|
|
當前 live 配置摘要 |
|
四鍵產物路徑(日誌在哪) |
|
手動跑一次啓動門禁(調試) |
|
模擬券商是否「已連接」 |
|
對賬快照 JSON |
|
在途單診斷(需 DEBUG 模式) |
命令全集見 :doc:8-cli-trader-capability-matrix。
7.1 Dashboard 與 interactive 模式
Trader Shell 啓動後默認進入 dashboard 模式:單行狀態區滾動顯示下一任務倒計時、監視列表實時價與系統消息,無需輸入命令即可觀察運行節奏。需要手動下單、查配置或執行運維命令時,按 Ctrl+C 打開模式選單,或在 interactive(命令)模式下輸入 dashboard 返回 dashboard。
模式 |
行爲 |
|---|---|
dashboard |
自動刷新狀態行與監視價;Trader 主循環在後臺繼續運行 |
interactive(命令) |
傳統 |
Ctrl+C 模式選單(dashboard 或命令模式下均可用)
在 5 秒內按 1 → 進入命令模式;2 → 回到 dashboard;3 → 退出並停止 Trader
無需按 Enter,數字鍵立即生效
5 秒內無輸入 → 自動恢復中斷前的模式
選單等待期間再次按 Ctrl+C → 立即退出(與選 3 等效)
若主循環發生未預期異常,Shell 會提示按 1 回到 dashboard 或 3 退出;5 秒無輸入時默認回到 dashboard,Trader 繼續運行。
8. 运行前检查清单
賬戶 ID/名稱可用,且與策略資產池匹配
asset_type與asset_pool一致(股票/基金不要混用規則)live_trade_broker_type爲simulator(或您已實現的類型)live 價頻率 不低於 策略運行步頻(分鐘策略需足夠密的 live 價)
日誌路徑合法、磁盤可寫
trade_log_keep_days符合您的留存預期(含 risk 日誌)
9. 常见启动失败与处理
啓動階段報錯時,現象往往集中在配置、賬戶、數據、路徑、頻率或啓動門禁幾類。下表按您看到的現象索引,避免在日誌裏盲目搜索。
各列含義:現象爲啓動或首屏時的表現;可能原因爲常見根因(非窮盡);建議爲下一步操作。
如何使用:先匹配「現象」列;若仍無法解決,用 §7 命令導出 liveconfig 與 artifacts 路徑,對照 :doc:5-artifacts-and-troubleshooting 決策樹。
現象 |
可能原因 |
建議 |
|---|---|---|
配置校驗失敗 |
某 live 鍵非法或互斥 |
按報錯字段修正後重啓 |
賬戶不可用 |
ID/名稱錯誤或未初始化 |
檢查賬戶創建參數 |
數據不可用 |
渠道/頻率/本地表缺失 |
檢查 refill 與 |
路徑錯誤 |
日誌目錄不可寫 |
檢查 |
頻率不協調 |
live 價比策略步頻更稀 |
提高 |
gate block |
啓動門禁 |
看 |
10. 相关跳转
風控與訂單::doc:
3-risk-and-order-lifecycle產物與排錯::doc:
5-artifacts-and-troubleshootingBroker 适配::doc:
4-broker-adapter-and-integration快照/門禁::doc:
6-trader-snapshot-gate冒煙清單::doc:
7-manual-smoke-live-grid-roadmapCLI 对照::doc:
8-cli-trader-capability-matrix
11. 最小验收标准
可在 E 或 FD 路徑下穩定啓動
liveconfig/artifacts輸出符合預期能觀察到至少一條:訂單提交、風控拒絕或櫃檯受理
若風控拒絕:能在
risk_log找到記錄;若櫃檯拒單:訂單爲rejected且 broker 號爲空日誌目錄中能找到對應運行產物