Monday, December 25, 2023

什麼是程式化自動交易

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




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

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

布林通道


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



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

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

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

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

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

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


Tuesday, July 4, 2023

新手如何自學python

        最近看到個關於新手如何學習python的討論串。順便分享一下我自己學習python的經驗,希望能幫新同學少走彎路少採坑。

        因為我不是Computer Science背景的,也不是上課程有系統學python,加上我學習python的時候年紀已經很大了,完全是一套野蠻生長的學習套路,我沒怎麼看書,幸運的是身旁的同事都是python高手,或是其他相關團隊例如DBA/Hadoop/BI/modeling/app開發/docker,靠著不要臉的方式問這些小朋友,然後網上找解答(這個下期介紹)。因此一些同學會遇到的問題,我應該都遇過。目前我工作上每天都需要用到python。另外在一些課程平台上也有開課。因為這些課程一般同學應該都無法買,所以也沒啥打廣告的嫌疑。


Thursday, May 25, 2023

甚麼是量化交易選股?

        一般人常聽到量化交易,但對於一般人來說,量化交易似乎感覺很接近,但真要實際使用卻很遙遠。今天聊一聊為何要python自建選股。