NokiMo
阿程量化交易
阿程量化交易

patreon


【我寫量化交易策略的 5 條原則】

今次想同大家分享我咁多年黎係寫量化交易策略個陣得出的5條經驗原則,而5條原則可以講係我用黎分辨一個散戶及專業量化員的主要方法。係講而5個原則前,我先講講佢地的由來。


通常一個量化交易策略要係一間 quant fund 入面落地執行,要過到兩關,第一關係先過到上司,第二關係過到自己。


第一關顧名思義,即係策略要上司同意,佢覺得值得行先行到。例如我有個交易策略係交易S&P500股指期貨,個策略80%時間係做 long,20%時間係做 short。假設本身條 team 入面已經係 long bias,買開股票,咁其實個 long exposure 已經算高,如果對比而個股指策略的 sharpe ratio 同本身用開系統的 sharpe ratio 後發覺股指策略的 SR 較低,咁好大機會唔會通過,原因無他:

1. 重覆左 exposure,做唔到 diversification effect

2. 要用個新策略有 strategy risk,隨時行唔通/有其他問題例如backtest look-ahead問題

3. 俾唔到一個合理 marginal benefit 理由點解要加新策略 / 停用以前的 long 策略


簡單黎講,就係策略需要有獨到之處,可以係個 returns 比用開的其他策略高 或者 提供到diversification 效果 或者 個股市大跌時如果公司係股票long bias的話同時而個策略又可以係跌市時賺到錢,值得行,咁上司就可能會考慮用。


諗返起以前總係介懷上司 challenge 我的量化研究結果。我記得有前輩話「你靜係識篤條數出黎,有無諗過我地個 fund size 做唔做到而個策略」 或 「LTCM有nobel得獎者,數學咁好都炒爆fund,你覺得以你數學能力可以賺錢?」


咁多年過去,其實自己都了解,好多時上司咁講都係出於兩種原因:

1. 佢唔識數學,唔識modeling,咁緊係唔明你做咩,亦講唔出口問你「咦點解咁樣可以賺錢既?」 或者 「你講既我都明少少,但可唔可以再深入少少講落去我想知多啲」

2. 你的新策略加重左佢負擔 / 減低左佢營利能力 / 個 fund 因為資源限制做唔到你的策略,所以暗示俾你聽唔想execute你的策略


如果係第2個point,咁係business方面的問題,要靠個人能力去扭轉局勢,令到你自己的策略行到,唔易,轉公司應該比較容易,因為如果你套策略真係有用,實有fund用到,雖然套策略係咪可以last得耐呢? 而個係billion dollars question。做得而行耐,久唔久就聽到邊個 fund 爆升百幾%一年,之後就爆 fund (我都覺得好fun,但而啲fund 真係會上Bloomberg hedge fund 排行榜)。


但如果係第1個point,你上司都唔曉數學/統計/coding,咁其實好簡單,你將d conepts 變到好似中學生都明的概念,加上一幅靚的回測數據圖,通常都過到關。


但你問我,我覺得最難過個關係要過自己,因為最後賺唔賺錢,睇的是你的交易策略究竟穩唔穩陣,做到回測的好成績。


咁多年黎,我一直問自己做出黎的策略到底過唔過到自己個關,即係有啲策略整左出黎你可能會覺得就係差減啲野,例如寫緊個交易策略邏輯個陣某啲 statistical assumption 係違反左,令到個人覺得策略唔完美,什至係有漏洞。作為一個負責任的 quant,你可能會再鑽落去,睇下就算violate左assumption,對個回測結果影響大唔大之類等問題。但諗還諗,好似我之前篇文提到,千奇唔好落入左分析麻痺的狀態。慢慢落黎,我得出了以下5條做量化策略個陣去減低策略風險 (Strategy Risk) 的重要原則,如果我係寫策略個陣係無違反以上5個大原則,咁我就會試下用小資金行個策略,而度亦希望幫到大家係回測前諗諗 (個啲咩 look ahead / survivorship bias我當大家識了):


1. 交易策略是否robust。Robust的中文是穩健性,即係話策略面對外界影響個陣可唔可以維持到本身的預測能力/盈利能力。


舉個簡單例子,從「數據質素」對策略robustness影響的角度睇,如果你回測一個Forex策略,但因為本身forex無centralized exchange,所以就算你回測同一段時間的EURUSD策略,你從兩間broker/vendor拿到的EURUSD數據都可能有些少不同。如果你的策略會因為數據有些少差異而導致績效有非常大的差異,咁個策略就是 non-robust。


另外,從「尾部風險」對策略robustness影響的角度睇,如果策略只有target profit但無stop loss threshold,咁終有一日個策略會蝕大錢,咁樣亦都係 non-robust。


仲有好多唔同topics可以對策略robustness起到影響,例如市場隨機性對指標出long/short signal的決定性影響程度。如果你的策略只用 RSI < 20 就long,咁如果RSI跌到20.1就停左回升,咁你的策略咪會capture唔到而個mean reversion alpha? 可能因為市場隨機性令到差0.1先 trigger到個long signal。更好的做法是,如果認為 RSI = 20就開始會有mean reversion effect,咁可以set一個continuous range of 15-25都會做long,可能25先做1/3, 20再做1/3,最後15做埋最後1/3,什至15-25而個range入面每increment 1就買1/10,咁就起碼唔會因為差少少而成個trade無左,令到個策略係現實運行個陣更加貼緊回測績效,效果更robust。



2. 交易策略用的分析 metrics 是否合理 

好簡單,舉例,如果你的策略用到 expected returns去決定點adjust 個 allocation,但而個expected returns係基於極為有限的日線圖數據而得出,咁你就要諗,到底要過多幾多個realized observation (trading periods) 先會令到個結果靠近而個 expected returns,而自己又係咪真係等得到,等唔到又要點做。



3. 交易的種類是否夠廣,做到diversification

如果你在一間 Quant fund 做 Equity team,好多時一隻股票的 capital allocation 未必會太多,通常都低至2% of 你條team的AUM。點解? 因為 quant 通常都有一種 diversification 的思維,唔想將所有蛋放係一個盤,而種就係數學上分散風險的做法。一啲品種賺錢一啲蝕錢,average 係淨賺咁條 PNL curve 就穩定上升,我之前寫文都提過唔少次。



4. 交易策略的現實性考慮

睇埋流動性﹑交易成本﹑自己有無足夠資金/時間做到而個策略﹑你的對手係邊個(如果有個人寫左個HFT策略,但佢無infrastructure支持,結果我諗大家都清楚)


5. 如何有效覆盤並停用策略

你的交易系統有無一個systematic 及 efficient 方法去令自己每日check返做過的交易? 另外,諗定一個方法,去決定幾時停用而個策略,例如做個MC simulation去睇實盤的equity curve 有無升唔過90%的隨機數據,如果係,即係你的策略equity curve都可能只屬於隨機訊號得出來,無咩優勢。



以上係我自己諗一個新的交易策略,準備寫之前會諗的5個必要問題,希望對大家,特別係一啲本身有做開回測的朋友有幫助。下期再見!


Cheers,

阿程


2024年8月 - 第4篇 (操盤心得)






【我寫量化交易策略的 5 條原則】

Comments

好,我下期寫,之前有兩篇文都可以參考下,一篇係交易策略overfitting,另一篇係用 Sharpe hair cut方法 (今個月第2篇文)

SY

thanks for sharing, very informative and a lot of alpha!有冇機會可以講下strategy /model risk 方面既嘢? E.g. 有咩quantitative 方法去驗證model?🙏🏽

Samuel


Related Creators