近期拜讀Igor Tulchinsky在2019年的著作《Finding Alphas: A Quantitative Approach to Building Trading Strategies》,學習更深入的投資,在這系列文章中,將逐章節摘要書籍重點。此為系列第三篇,涵蓋Part II的Chapter 11到17。
註:此段落是全書最精華的段落之一,非常推薦閱讀The Triple-Axis Plan (TAP)
- 藉由三個面向的系統性結構,協助投資人或研究人員更有效率地探索 alpha 空間
- Ideas & Datasets (想法與資料集)
- Ideas
- 均值回歸 (reversion)動能或慣性 (momentum)季節性 (seasonality)領先-落後 (lead-lag)機器學習 (machine learning)配對交易 (pairs trading)價格與成交量 (price & volume)
- Data
- 公司財務基本面 (fundamentals)分析師評等或建議 (analyst recommendations)新聞或社交媒體情緒 (sentiment, social media)選擇權資料 (options)
- Regions & Universes (區域與交易標的)
- 區域 (美、歐、日本、亞洲其他國家、新興市場 (南美、東歐、...)
- 交易標的 (Universes)
- 股票 (可依照流動性:TOP50、TOP100、TOP200…等)產業分類 (金融、科技、工業…等)其他資產 (債券、商品、貨幣、加密貨幣等)
- Performance Parameters (績效參數)
- 高報酬 (high returns)
- 高 Sharpe
- 低回撤 (drawdowns)
- 低交易成本 (transaction costs)
- TAP 的運作與應用
- 先選定一個軸
- 比方說,你先決定要專注在「Regions & Universes」軸,選擇了「美國TOP300股票」作為起點,這代表你在區域與交易標的上的選擇已經鎖定。
- 在剩下的兩個軸做填補
- 若你已鎖定美國TOP300股票,可接著在「Ideas & Datasets」嘗試不同策略想法(動能、均值回歸等),並同時考慮「Performance Parameters」(想要高 Sharpe?還是想要最大化報酬?)。
- 這種系統化思考可以讓你同時檢視「有哪些做過了?哪些還沒做?」也能幫你發現先前忽略的策略組合。
- 反覆回測與優化
- 開發完初版策略後,藉由回測 (backtest) 評估績效指標,觀察策略是否能帶來預期的報酬與可接受的風險。
- 若結果不理想,可以回到三軸中的任意軸進行調整,或是嘗試在同一軸下更微觀的細節 (例如改變動能參數、改變資料週期)。
- 反覆的測試與迭代,也能從小規模、低成本的實驗逐漸擴大到更龐大的資金規模或更複雜的交易標的。
- 範例
- 選定軸—Ideas & Datasets
- 假設你想開發「均值回歸」策略 ;資料集選擇「價格與成交量」為主
- MA 表示 k 期移動平均。若價格高於均線,即給予負向權重(做空)
- 考慮Regions & Universe
- 先選定美國 TOP300 (流動性高、交易成本相對較低)。
- 未來若要分散,可以複製或延伸同樣的模型到歐洲或亞洲市場。
- 考慮Performance Parameters:
- 以「高 Sharpe Ratio」作為目標,盡量降低策略波動度。
- 觀察最大回撤,若回撤過高,需要調整模型參數。
- 回測與優化
- 若 Sharpe Ratio 不到預期,或者回撤過大,則反覆微調模型參數 (如均值週期長度 k、風控機制) 或引入更多資訊 (例如同時考慮成交量)。
Techniques for Improving the Robustness of Alphas
- 穩健 alpha
- 常用方法
- 排序(Ordering)方法
- 透過Ordinal scale,增強invariance:當輸入資料或交易標的集合因各種原因而改變時,測試結果能盡量保持一致
- 常常我們只在乎誰高誰低,而不特別關注它們的差距大小,有效減少極端數值對模型的影響
- e.g. 使用Spearman能有效降低對非常態或存在離群值的敏感度。Pearson對於非平穩或非線性資料就比較不穩定
- e.g. 分位數(Quantiles)近似: OLS面對非平穩或非線性輸入時,估計量可能非常不穩定;可採用least quantile of squares, LQS或所謂「分位數回歸」方式,鎖定某特定分位數(如中位數)來最小化誤差,常見案例是「最小中位數平方(Median of squares)」等方法
- 逼近常態分配
- 即使資料本身「大致」服從常態分配,若混入少量離群值或厚尾情況,也會嚴重影響模型的參數估計
- Fisher Transform
- Z-score標準化
- 限制(Limiting)方法
- Trimming (e.g. highest/lowest 5%)
- Winsorizing
- L-統計量 (L-statistics): 對排序後的樣本取特定權重線性組合
Alpha and Risk Factors
- 在歷史演進中,許多早期被認為是α的交易策略,後來因為被廣泛研究並納入風險因子模型,逐漸演化成所謂的「對沖基金β」或「因子風險」。
- 套利定價理論 (Arbitrage Pricing Theory, APT): 多因子的CAPM
- 常見風險因子
- Fama–French 三因子: 規模、價值(PE, 帳面市值比, ...)
- Fama–French 五因子: 獲利能力 (營運利潤對資產的比率)、投資(公司投入資本的保守或積極程度)
- 動能、流動性、應計異象(應計項目較高的公司在後續期望報酬相對較低)
- 適應性市場假說: 看似穩定的因子或α,可能隨著投資人行為改變而時好時壞,甚至再度復甦
- 2007 年的量化危機中,許多普遍持有的量化策略(多為動能因子、價值因子等因子組合)在短短幾天內出現劇烈虧損
- 分辨α與風險因子:Factor Neutralization
- 若α本身大部分的報酬是來自已知的因子(如動能、價值、規模等),那麼對這些因子「做中性化處理」後,淨報酬可能會變小,但也更能代表真正的α特質。
Risk and Drawdowns
- 外在風險
- 很多α對一些外部性因子有所暴露,與α 本身試圖捕捉的核心收益來源無關
- e.g. 產業或整體大盤的漲跌
- 內在風險
- 常見指標:
- VaR: 在機率p(常用 5% 或 10%)的水準下,預期的最大潛在單日(或一週、一個交易期)損失。
- Volatility
- CVaR
- 風險估計
Alphas from Automated Search
- 在建構自動化 alpha 搜尋系統時,重點在於如何避免或減少過擬合
- 輸入資料不要來自過多不同類別
- 聚焦在與策略目標較相關的資料類別。
- 如果要整合多種資料,也須謹慎考慮其週期或更新特性,避免函數過度複雜。
- 自動化搜尋的三大問題
- 為了能在cross-section(即不同股票之間)進行比較,通常建議使用「無單位」或「可比性」指標。
- 篩選不必要的搜尋空間
- 以人為知識先排除:可能為負值的輸入套用對數函數 log(⋅) 就不合理,或像「價格 - 交易量」
- 資料篩選:若目標是短週期策略,可以排除極慢週期更新(如行業分類、年報)的資料
- 漸進式搜尋
- 中介變數與重複利用
- 研究時,常會先構造一些「中介變數」或「指標」,像是 P/E(本益比)或 EV/EBITDA 等,再基於這些指標做進一步研究
- 類似 GA 的「組成優良基因片段後再重組」
- 相較於手動 alpha 搜尋通常想找到「單一表現最佳」的策略,自動化搜尋的目標往往是「廣泛找出多個表現良好的策略」
- 聚焦「整批 Alpha」而非「單一 Alpha」績效
Machine Learning in Alpha Research
- 常見問題
- 回歸、分類(e.g. 上漲/下跌、正常/可疑)、分群(e.g. 將股票分成成長型、價值型或波動度大小不同的群組)
Thinking in Algorithms
- Digital Filters
- 透過對離散時間序列(discrete time signals)進行數學運算,來達成對特定頻率成分的增益或衰減
- 應用
- 平滑化 (SMA, EMA, ...)
- 趨勢與週期分解:許多技術分析指標或交易訊號設計,都會先萃取趨勢、季節性或週期性以濾除雜訊。
- 最佳化與損失函數設計
- L2, L1, Huber Loss, ...
- Ridge Regression, Lasso Regression, Elastic Net
- 偏差–變異權衡 (The Bias–Variance Trade-Off)
- 維度詛咒
- High Variance模型 => overfitting
- High Bias模型 => underfitting