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

patreon


【Sharpe 1.51】- 簡單方法 Long & Short 恆指期貨 (短期動能反轉)

黎到第11個高夏普率(sharpe) 交易策略,今次睇的策略是 Long + Short 恆指期貨。其實恆指是一個很神奇的指數,受大圍影響重,而指數成份股大多都係沒有長遠經濟支持效益,唔屬改變世界的tech公司。大家見到下圖由07年起到24年,港股指數一直都是波幅上下跳動,對比美股個條45度向上走的線,buy-and-hold 係好傷。有見及此,一個好簡單的問題是,如果個市一直都係range bound 波幅,而我又必須要trade港股/恆指,咁應該係可以做到一個升得多就short,跌得多就long的交易策略。應該點做?

首先簡單計出一個2007年到2024年Oct的恆指期貨日回報的標準差 (standard deviation),你會發覺大概是1.6%。如果用 rolling 250 days std去計,都係大概1.5%左右,大家都接近。咁如果日回報超過1.5-1.6%左右時侯,其實某程度代表當日回報係相對較extreme,咁我地可以攞多少少穩陣啲,如果當日回報的波幅 (std) 大於2% / 小於-2% 時,而closing price 創7天新高/新低 (短期高/低位),就反手沽/買入,睇下結果如何。


我們的回測規則是:

首先只需要提取HSI Futures 的 backadjusted (ratio) closing series. 我用的closing price 是16:30 HKT 收市價。

1. 先計出HSIF的daily returns 

2. 再計出 rolling 7天的 max 及 min 價格 (基於closing price) 

3. 當今天的 closing price 跌穿7天的 min,以及跌幅大於2%,long at close 或 17:15 後的任何比16:30 close 更低的價格。持倉一日。

4. 當今天的 closing price 升穿7天的 max,以及升幅大於2%,short at close 或 17:15 後的任何比16:30 close 更高的價格。持倉一日。


策略原理:

今次交易策略好簡單,亦都好work,原因有以下幾個:

1. 價格突破 -> 訊息消化 -> 均值回歸 -> 短期動量反轉:
當恆指期貨創7天新高或新低時,而同一時間日回報超過2%(無論上漲或下跌),都係屬相對較大的幅度變化,而市場參與者都會特別關注市場當日的顯著變動。這種大幅波動可能反映重大消息或情緒的突然轉變,但是通常咁劇烈變動都難以係短期內持續,除非成交量出現好極端的變化好似岩岩9月尾到10月頭個轉,通常在一日的訊息消化後就出現大量反手行為。

2. Market makers & HFT firms:
策略假設價格在短期內會有回歸的趨勢。當價格快速上漲或下跌後,因為Market makers / HFT firms 的cross-markets practice影響,導致好可能出現短暫的調整,令價格回到更合理的水平。

3. 大型機構 (hedge funds 為主 / mutual funds / pensions funds) 行為分析:
大型機構投資者可能會在價格達到某些水平時進行再平衡 (rebalancing) 調整持倉,而種大規模的交易行為可能引發短期的價格波動和反轉。

4. Short term trades 的影響:
好多 short term traders 會在第二日平倉,所以當出現大幅波動時,這種平倉行為可能更加明顯 (因為要take 大量 profits),為第二天的交易創造反轉的條件。

有朋友話驚唔係用 algo trade 係 closing 落唔到,唔緊要,可以after market 最更靚價做或者走左相反方向太高唔做都可以,純粹係一個phenomenon的反映。當然,如果你用開linear regression同識d conditional probability,你可以用rolling方法計到離開幾遠入係仲make sense,有更高risk and reward。

Asset trading: 恒指期貨 (Year 2007-2024) (Transaction Cost: 2bps) (Long + Short) 

Performance Statistics:



Cheers, 

阿程


2024年9月 - 第3篇 (公開量化策略系列 11)

(部分上圖來源自Bloomberg)


【Sharpe 1.51】- 簡單方法 Long & Short 恆指期貨 (短期動能反轉)

Comments

dataframe 用 datetime index,之後每日 16:45 分前的最後一個row set signal 做-1,再整個case係-1就 close 之類的condition

SY

想請問下按時間平倉既coding有無提示可以點寫

Samuel

是的

SY

請問7 max / 7 min 是計算daily return 嗎?

Keith Chan


Related Creators