自身的量化交易經驗與反思


        過往數年操作,風格隨著時間有所變化。經驗、自我學習、反省及環境的改變,我逐漸找到適合自己的操作方法,本篇略述這些年來操作的變化,希望想精進量化交易的讀者也能有所受益。
早期我的主動操作風格是一半自行選股與一半量化交易,初生之犢不畏虎,其中量化交易用的策略是當初在交大碩士論文的模型並做些改良,這個策略是採用現在較為人知曉的價值因子模型,當然那篇論文用的是比較複雜的模型。起初想法是,一個好的策略並不能被太多人知曉,否則超額報酬就會逐年消失,這個想法到現在還是對的,所以特別「留一手」沒把最有價值的部分放到論文當中,後續就自行使用。遺憾的是後來策略之所以失效跟我的策略被人知曉較無關係,而是如同美股市場,過往表現好的因子投資也逐漸消失在台灣市場。至於自行選股部分,起初採用的是純價值投資,或可以稱為深度價值投資,剛開始我也犯了一些價值型投資人會犯的錯誤,就是掉入了價值陷阱,沒有考量太多的內在價值成長部分,而僅考慮估值,隨著時間與經驗演進,自然就學習兼顧價值與內在成長,也越來越欣賞一些高估值但內在成長更快的企業。
早年我的資本配置大多屬三塊,1. 股市量化交易模型(台灣與美國)。2. 買進持有多國大盤股市ETF。3. 自行選股。
近年配置變成:
1. 股市量化交易模型。2. Crypto 量化交易模型。3. 買進持有多國大盤股市ETF。
會有如此的轉變,是隨著時間越來越了解自己,我不再熱衷於仔細搜尋個股並估值,個人的喜好佔了很大的一部分,另一部分是我很難想像未來數年的長期績效,自行選股績效可以有超過我現有研發的量化交易績效,最後一個原因是量化交易比較適合我個人「懶惰」的習性。至於買進持有大盤ETF比較像是對個人能力的避險,避免現在很滿意的量化交易策略未來失效。
做投資交易有時要避免過度解讀雜訊,舉例來說,從A策略換到B策略,即使經過無數次的回測或是深思熟慮,仍然有可能從開始使用後,不但B表現不好,原本不使用的A反而開始發揮更好的表現。事實上我過往交易也常發生這種事情,這就是牽涉到所謂的運氣,運氣重要性在人生當中扮演非常關鍵性的角色,對運氣在人生決策上可以參考此篇論文TALENT VERSUS LUCK: THE ROLE OF RANDOMNESS IN SUCCESS AND FAILURE,但須強調,論文本身過度簡化現實數學模型,所以結論也僅能為參考,不應當做人生準則,有時間另寫一篇文章探討。無論如何,運氣還是扮演相當重要的角色,我們當下也只能依照可得資訊去做最好的決策。以下敘述這些年,量化交易一些有意義的經驗或是犯過的一些錯誤:

1.追求複雜:複雜的交易策略來源可能有:需取得的資料來源複雜、回測平台或交易平台過於複雜而沒有替代來源,又或是追求的交易策略使用的訊號過於複雜。追求複雜的原因不難理解,初期可能是希望能夠取得一定程度的優勢,深怕自己的交易策略容易被市場其他人所發現而套利完畢,追求複雜也意味著,只要事情出點小差錯,整個交易策略就難以執行。舉例來說我曾使用某個美股價值型因子策略,因取得資料與回測都由某間公司提供,後續公司決定不再經營,而使策略必須終止。除了追求優勢,追求複雜有時也是個人壞習慣之一。如果策略可以用更簡易的方式去達成類似的效果,那就盡可能單純一些,不要為了看似聰明而傷害績效。

2.Overfitting(過度擬合):擁有了數據,總想多測試一些交易策略,尤其對於那些「足夠」勤勞的人來說,身為交易者,總想多做些什麼,於是開始於樣本內測試夠多的交易訊號,適度back-testing(回測)是好的方式,尤其對於某些交易策略在投資上是符合邏輯,但如果用力嘗試在樣本內回測N種指標,本質上跟最佳化回測是類似的,若針對毫無邏輯的指標無數回測,基本上只是保證在實際上線時,不會有一樣好的結果。某些方法是把資料切成樣本內外,但如上述所說,太過勤勞的測試,只是自我安慰而已。真正的樣本外資料是你把錢投出去之後的資料,結論是適度且符合邏輯會是較好的選擇。

3.交易操作風險:我在crypto 做量化策略曾因FTX交易所提供的好用api 而把部分的資金放裡面(但我crypto主要策略還是使用芝加哥期貨交易所),好在倒閉前幾天注意到crypto twitter上的消息,結合Etherscan上的數據,發現許多用戶在FTX上大量出金,所以我也就趕緊提款,暫時中止策略而能避開災難。某種程度上來說,就是平常養成了好習慣,即使以量化為主,還是要注意日常基本時事與培養交易的「常識」。有些時候,某些平台即使可以提供不少好的交易工具,還是要常常關注程式單表現如何,或平台上的交易工具近況,千萬不要以為可以一勞永逸。

4.保持開放心胸,留意新技術:操作量化交易還是要留意一些新技術的發展,看能否優化原本的量化交易,或是用更簡單或有效率的方式去執行。多學幾種程式語言是不錯的選擇,有些過往分析數據的方式,透過新的程式語言可以讓你更有效率的處理數據原本看似很麻煩或是不可能做到的事,學習新技能,讓不可能變成可能。近來LLM(大型語言模型),就是加速各種程式應用開發的好利器,舉例來說,與其僅是使用ChatGPT 網站,不如試著學習使用OpenAI開放的API 結合LangChain,也許能大幅提升研究的速度。

5.不要Hype, 留意風險: 有時市場很熱,看到身邊無技巧的人都能靠運氣或放大量槓桿而輕易賺錢,或是研究某個投資方法後發現報酬率極好,都可能導致沒有深思熟慮而輕易大賭一把,讓自己投入到根本不擅長或沒把握的領域。此外也記得,某些好到不像是真的通常就不是真的,務必停下來再三確認。

6.做好真正的工作:留意新技術或是新領域時,也不要忘記自己的真正工作是什麼,投資交易最重要的工作只有一個,長期下來能把操作部位,淨值曲線由左下方往右上方移動。追求特殊的量化程式技巧或埋首於研究論文,又或是花時間去理解複雜投資報告或文章,常常忘記自己真正的工作是操作部位,把一些事物了解透徹,培養新技能都不是壞事,但真正的工作還是操作,如果上述那些努力無法轉化為風險調整後的長期報酬,那也不應花太多時間在上頭,認真又聰明的投資人總喜歡想花時間做點什麼,學習新知或新技能是探索幫助績效的可能性,如果研究一段時間發現無助於長期績效,應斷然終止,將時間與精力集中於產生長期績效(淨值曲線)的地方。