多空對沖策略(台股)
美股版本
本策略的美股版本請見 English page,空單以 SPY(S&P 500 ETF)替代 0050 作為大盤避險。
擔心大盤指數下跌影響長抱股,又不想賣掉手中價值股的保護方法。透過做多低股價淨值比的價值股,同時放空 0050 來對沖大盤風險,達到市場中性的效果。
策略邏輯
- 多單部位(70%):買進股價淨值比排名前 20% 低的股票,這些是市場上最便宜的價值股。使用
quantile_row計算每日各股的相對排名,再將持股等權重分配後乘以 0.7,使多單總部位佔 70%。 - 空單部位(30%):放空 0050(元大台灣 50 ETF)作為大盤避險,部位固定為 -30%。
淨曝險 40%(70% - 30%),市場風險遠低於純多頭策略。
程式碼
from finlab import data
from finlab import backtest
pb = data.get('price_earning_ratio:股價淨值比')
# 股價淨值比前20%低
position = pb < pb.quantile_row(0.2)
position /= position.sum(axis=1)
# 多單總部位70%
position *= 0.7
# 空單總部位30%
position['0050'] = -0.3
report = backtest.sim(position, upload=False, resample='Q')
report.display()
關鍵參數
pb < pb.quantile_row(0.2):選出各交易日中股價淨值比排名前 20% 低(最便宜)的個股,屬於經典的「深度價值」篩選。position /= position.sum(axis=1):將多單標準化為等權重,讓每檔符合條件的股票分配到相同比重。position *= 0.7:多單總部位縮放到 70%,預留 30% 給空單對沖。position['0050'] = -0.3:以元大台灣 50 ETF 作為大盤代理,固定 -30% 空單部位,對沖系統性風險。resample='Q':每季再平衡一次,降低換股頻率與手續費成本。
預期行為
- 多空架構能在大盤重挫時提供保護:指數下跌時,空單 0050 的獲利會部分抵銷多單的損失。
- 在強勢多頭行情中,空單會拖累整體報酬,策略會輸給單純的純多頭組合。
- 淨曝險 40%,策略 beta 約 0.4,波動明顯低於大盤。
- 低股價淨值比的價值股長期具有超額報酬,但價值因子可能經歷長達數年的相對弱勢。
- 此策略適合希望維持價值股部位、但同時擔心大盤系統性下跌的投資人。