Monday, December 25, 2023

什麼是程式化自動交易

         最近剛上線了個台期指程式化自動交易。目前就放個一口小台的資金讓機器人自己去交易,順便測一下bug,賠到下不了小台再說。自動化交易能聊的很多,今天先聊一些觀念上的事:




         一般人對程式化交易可能有許多誤解,包括程式化自動交易是獲利的保證、程式化自動交易是把一些規則寫成程式自動執行。

        首先要說明的是,一套完整的自動化交易策略包括了:盤前選股、盤中選時、下單資金分配、止盈止損。一般人關注的是技術指標,這可能是在盤前選股階段,也可能是在盤中選時階段。但關鍵點往往是止盈止損。舉個例子來說,如果你做的是布林通道策略,在價格跌破下時買入,那麼你的出場策略是什麼?萬一你抄底抄在下降趨勢呢?技術指標還有很多小細節,例如你選的K線數量跟標準差是怎麼決定出來的?止盈跟止損的邏輯是什麼?遇到近期有除權除息怎麼辦?

布林通道


        同一套交易策略應用在不同的股票上,結果可能截然不同。一套交易策略應用在台積電上面可能可以有年化15%的收益,但是套在0050上面可能是虧損10%。



        目前台股市場上有XQ、MultiChart這些適合自動化交易入門的交易者,為什麼還要自己寫python策略呢?

        既然要做自動化交易,自然不是把主觀交易的那一套策略簡單搬過來。上面說了,一套完整的策略包括了盤前選股、盤中選時、下單資金分配、止盈止損。每個情況的決策路徑都不一樣。XQ、MultiChart這些工具並沒辦法寫下這樣的決策路徑。

        其次是我主要是做短線動能策略的,是基於量先價行的核心觀念,靠盤中的成交量衍生出技術指標。例如我也會計算類似XQ裡面「量比」的技術指標,但我需要的是盤中短時間內的比值,這些指標都得拿tick數據在交易時間內自己計算

        MGK在書上有一段關於程式化自動交易很生動的描述。有興趣的可以再去翻翻他的書。從一個小散戶的角度來思考這個故事,小散戶的資金並不適合做"股票"程式化自動交易。一方面程式化自動交易是大數法則,二方面是交易成本、三方面是盤前選股、盤中選時、下單資金分配、止盈止損中你怎知道是哪個環節出錯?或許你的抄底策略改善一下止損策略就能大幅提升策略績效。

        程式化自動交易就只是個工具而已,有時候不是工具的問題,可能是用錯了交易品種、可能是把主觀交易那一套策略完全照搬過來沒用上程式化自動交易的優勢。

        至於回測....懂得都懂不多談了。對於程式化自動交易有興趣的朋友,建議先別想得太複雜,先從止盈止損規則入手。