它解決的是「執行」那一半——而且已經不需要你自己寫程式。
你已經知道要買什麼、什麼時候該出場。問題是條件常常在半夜三點成立,或者在你開會的時候,或者剛好在你離開螢幕的那一天。程式交易處理的就是這一段——而且只有這一段。
程式交易是讓程式依照你事先定義好的規則自動送出委託、自動管理部位:條件觸發就下單,不需要有人盯著。它回答的是執行的問題——這條規則能不能被準確、穩定地執行——而不是這條規則好不好。
這兩個詞常被交替使用,但它們強調的是同一條流程裡不同的一半。
| 量化交易 | 程式交易 | |
|---|---|---|
| 重點 | 決策怎麼做——用數據和統計找出規則 | 決策怎麼被執行——把規則變成委託單 |
| 核心問題 | 這條規則有沒有優勢? | 這條規則能不能被準確、穩定地執行? |
| 會壞在哪 | 優勢從來不存在,或已經消失 | 斷線、部分成交、資料源給了錯的價格 |
實務上兩者幾乎完全重疊:量化策略最後總要有東西把它跑起來,而程式在執行的規則通常也是用量化分析找出來的。比較好用的理解是:程式交易是量化交易被執行的那一段。如果你還沒讀過量化交易是什麼,先從那邊開始——決策那一半在前面。
順帶把用詞講清楚,因為它常常造成不必要的混淆。台灣習慣講「程式交易」,中國大陸多用「程序化交易」,英文是 algorithmic trading(簡稱 algo trading);「自動交易」在多數情況下指的也是同一件事,只是這個講法更常出現在「把某個平台的訊號接去自動下單」的情境。這四個詞背後不是四種不同的方法,你不需要分別去學。
真正需要分清楚的不是這些名詞,而是前面那張表的那一行:規則有沒有優勢,跟規則能不能被穩定執行,是兩個獨立的問題。一個做好、另一個沒做好,結果都是虧錢,但要修的地方完全不同——優勢的問題要回去改研究流程,執行的問題要去看斷線、成交回報和對帳。
這是擋住最多人的一句話,值得說清楚它錯在哪。
MultiCharts、TradeStation、TradingView 這類平台,讓人用圖形介面或簡化腳本語言(PowerLanguage、EasyLanguage、Pine)就能做出自動化策略,不用租伺服器、沒有東西要部署。(執行方式有差:MultiCharts 和 TradeStation 自己送單,TradingView 的策略則要接券商或走 webhook 轉單才會真的下單。)不管哪一種,這個前提在零售端都已經不成立。
但更值得談的是另一種情況:你其實會寫程式。自己架一套執行系統,仍然代表你要處理資料授權與接收、每一家交易所各自的下單程式、回測引擎、部署,以及一套能撐過凌晨四點 websocket 斷線的監控。那是好幾個月的工程,之後還要永遠維護下去。
講具體一點:光是「下單歸因」這一個小項目——把委託單標記成來自你的整合——每一家交易所的做法都不一樣。在 Blave 維護的這些交易所裡,有的放在 request header、有的放在 body 欄位、Binance 是在委託單編號前面加前綴、KuCoin 則要每一筆請求各自簽章。這只是眾多子系統裡的一個,而且它永遠需要有人顧。
如果你手上真的有優勢,時間應該花在找下一個,而不是修 API 斷線。
你用對話描述策略——Telegram、瀏覽器裡一鍵開啟的 VS Code 工作區,或是 SSH——由 agent 研究、寫程式、回測,並部署到你自己的獨立伺服器,24 小時執行與自我監控。除非你想碰,否則你不用寫任何一行程式碼。
Binance、BingX、OKX、Gate.io 是官方支援,合約與現貨的下單程式都實測過才出貨;台股經永豐證券下單。行情資料——加密貨幣、台股、期貨——走 Blave 自己的 API,不需要另外談授權、另外維護。
你不需要換平台才能用研究這一段。Blave Agent 可以把策略轉出到你原本就在用的平台:
| 平台 | 轉出格式 |
|---|---|
| XQ(嘉實 全球贏家) | XS 交易腳本 |
| MultiCharts | PowerLanguage |
| TradingView | Pine Script v6 |
這個流程刻意設計得很窄。Python 版本必須先有當前的回測結果——沒有驗證過的邏輯,agent 不會幫你翻譯。轉出時是拿一個已知可用的範本去改,而不是從零寫目標語言,並且在交檔前跑過一次靜態檢查。
回測有沒有算手續費和滑價?自動化通常會拉高交易頻率,而頻率正是成本累積的地方。Blave Agent 一個真實回測,四年下來手續費付掉了本金的 22%。
訊號用的是它當下真的拿得到的資料嗎?如果規則讀了某根 K 棒的收盤價、又用同一根成交,那回測用到了實盤拿不到的資訊。這是最常見、也最安靜的虛胖來源。
資料斷點處理了嗎?期貨換月、除權息、股票分割會造成價格跳動,但那不是行情。把它當成行情的策略,就會去交易它。
下單失敗的時候會怎樣?委託被拒、部分成交、持倉中途斷線。沒有處理這些情況的自動化策略,遲早會抱著一個它自己不知道的部位。
報告裡最大的那段回撤,你撐得住嗎?照你撐得住的回撤決定部位大小,不是照你想要的報酬。撐不住的那一段,就是你會在最低點把它關掉的那一段。
它不會把一條沒有優勢的規則變成有優勢——那是研究的問題,不是執行的問題。
它也不會在市場結構改變之後繼續有效。自動化只是讓這種失效變得更安靜,因為部位開始不合理的時候,沒有人在看。
還有,轉出的腳本是翻譯不是保證。先編譯、在目標平台回測,把它的數字跟 Python 原版對過,再放錢進去。
Blave Agent 的官方策略是免費的,每一個都附真實回測。先部署一個,看它怎麼執行,等你覺得它的行為合理了,再改成自己的版本。