Home Creators Posts Import Register Favorites Logout
haven't archived this post yet. have a subscription? use the importer!

Downloads

  • 01_df_boundary.csv.zip

Missing 5 full-res photos, 1 file, as this post has not yet been imported.

Content

E-mini S&P 500期貨(ES)的價格由 2008年1月2日的 1,316 到 2009年3月6日低位的 498,之後到 2022年1月4日高位 的 4,886,到2023年5月5日的 4,149,這15.5 年來總回報為 (4149 / 1316) - 1 = 2.15倍

 

今篇文章我們會探討:

在這15.5年來,是日間交易時間回報較好,還是夜間交易時間回報較好?

第一步:把交易時段分為 4 個時段

在上一篇關於日內數據的文章,我們見到2008年1月2日到 2023年5月5日 ES 的恆常交易時段改過幾次。

重溫2008年1月2日到2023年5月5日 ES 的恆常交易時段為:

2008年1月2日 - 2008年11月18日:

  • 週日6:00pm 至 週五 4:15pm 

  • 週一、週二、週三以及週四的 4:15pm - 4:30pm 以及 5:30pm - 6:00pm 會暫停交易

2008年11月18日 - 2015年9月20日:

  • 週日6:00pm 至 週五 5:15pm 

  • 週一、週二、週三以及週四的 4:15pm - 4:30pm 以及 5:15pm - 6:00pm 會暫停交易

  • 週五的 4:15pm - 4:30pm 會暫停交易

2015年9月20日 - 2021年6月27日:

  • 週日6:00pm 至 週五 5:00pm 

  • 週一、週二、週三以及週四的 4:15pm - 4:30pm 以及 5:00pm - 6:00pm 會暫停交易

  • 週五的 4:15pm - 4:30pm 會暫停交易

2021年6月27日 - 2023年5月5日(數據結束日期):

  • 週日6:00pm 至 週五 5:00pm 

  • 週一、週二、週三以及週四的 5:00pm - 6:00pm 會暫停交易

由於4:00pm-6:00pm 的交易時間轉過幾次,所以簡單起見,我們把交易時段分為 4 個時段:

  • 時段1 - intraday   : 09:30:00 - 16:00:00

  • 時段2 - post_intra : 16:00:00 - 18:00:00

  • 時段3 - overnight  : 18:00:00 - 09:30:00

  • 時段4 - skip_period: 所有不屬於時段1-3的時段,例如 Fri 17:00 to Sun 18:00

第二步:用Python 找出這4個時段的return

數據方面,我會沿用之前介紹日內數據所用的 ES intraday data,這個數據的時間間隔為一分鐘,數據所包含的時間由2008年1月2日到2023年5月5日。


Python step 1: 

  • 把所有行的數據分開3個種類:is_intraday, is_post_intra, is_overnight。要留意的是,boundary point 例如18:00 是同時屬於兩個種類,18:00 同時是is_post_intra 和 is_overnight 

  • intraday_adj_date, post_intra_adj_date, overnight_adj_date 是那一個period 所屬的日子,方便之後把不同日子的period分開。要留意的是,overnight period 的 overnight_adj_date是用第二天的date例如 2008-01-02 18:00 至 2008-01-03 09:30 的 overnight_adj_date 都是 2008-01-03

Python step 2:

  • 只把所有period boundary row留下,例如是 09:30, 16:00, 18:00 的 row

Python step 3:

  • 把boundary point 的 dataframe 轉化成 每個row 代表一個 period 的 dataframe

Python step 4:

  • 每個 row 都會有 period 開頭的 datetime 和 open price,以及 period 完結的 datetime 和 open price

  • 計算每一個period 的回報 (log return 以及simple return)

小結:每一行代表一個period的dataframe

例如:

  • 2015-04-09 16:00 到 2015-04-09 18:00 是 post-intra period

  • 2015-04-09 18:00 到 2015-04-10 09:30 是 overnight period

  • 2015-04-10 09:30 到 2015-04-10 16:00 是 intraday period

  • 2015-04-10 16:00 到 2015-04-10 17:15 是 post-intra period

  • 2015-04-10 17:15 到 2015-04-12 18:00 是 skip period

每一個 period 都有這個 period 的回報,以及open price

第三步:用Python 找出這4個時段的return去對比,以及用圖表去呈現結果

用 groupby period_type,再找出每個group各自的總回報(log return),之後將 log return 轉回 simple return

重溫 E-mini S&P 500期貨(ES)的價格由 2008年1月2日的 1,316 到2023年5月5日的 4,149

這15.5 年來總回報為 (4149 / 1316) - 1 = +2.15倍

  • Intraday period 的總回報是 +0.745倍

  • Overnight period 的總回報是 +1.615倍

  • Post-Intraday period 的總回報是 -0.110倍

  • Skip period 的總回報是 -0.224倍

由此可見,在這15.5年來,是夜間交易時間的回報較好!是日間交易時間回報的兩倍多,而Post-Intraday period外和 skip period的回報則是蝕少許。

最後,我們用圖表呈現這15.5年的回報變化:


Remark: 附上每一行代表一個period的 Data Table in CSV format

----------------------------------------------------------------------------------------------------------------

阿程量化交易 -> 1個月至少4篇精華文章

  • 每月分享 2 個高 Sharpe Ratio 策略

  • 每月分享 「搵 Alpha 策略」 方法

  • 每月至少4篇文章

  • 無數學費的操盤心得

  • 行內秘聞

  • 程式交易編程經驗

----------------------------------------------------------------------------------------------------------------

【真‧搵Alpha策略系列】

搵Alpha方法1 :

https://www.patreon.com/posts/zhen-wen-fa-1-ce-100421185

搵Alpha方法2:

https://www.patreon.com/posts/jiao-ni-yi-ge-fa-102776585

----------------------------------------------------------------------------------------------------------------

【公開量化策略系列】

策略 1 (Sharpe Ratio 1.4):

https://www.patreon.com/posts/gong-kai-liang-1-98710085

策略 2 (Sharpe Ratio 1.84):

https://www.patreon.com/posts/zhen-wen-fa-1-ce-100421185

策略 3 (Sharpe Ratio 1.34) - Long+Short 美期:

https://www.patreon.com/posts/gong-kai-liang-3-101097951

教你一個方法即搵高Sharpe策略

https://www.patreon.com/posts/jiao-ni-yi-ge-fa-102776585

策略 4 - Trend Following

https://www.patreon.com/posts/gong-kai-liang-4-103345268

策略 5 - 公開一個 Sharpe ratio 2.42 的交易策略

https://www.patreon.com/posts/gong-kai-yi-ge-2-103636466

----------------------------------------------------------------------------------------------------------------

【程式交易編程系列】

1. 真正深入回測恆指每月第一個交易日/最後交易日規律:

https://www.patreon.com/posts/zhen-zheng-shen-99709770

2. 關於日內數據(Intraday Data)你不知道的二三事

https://www.patreon.com/posts/guan-yu-ri-nei-101348214

3. 關於日內數據Part 2 - 從數據了解ES交易時間

https://www.patreon.com/posts/guan-yu-ri-nei-2-103392012

----------------------------------------------------------------------------------------------------------------

【行內秘聞】

1. 量化基金如何保護他們的交易策略:

https://www.patreon.com/posts/liang-hua-ji-jin-95730512

2. 行內交易員對Alpha的看法:

https://www.patreon.com/posts/xing-nei-jiao-yi-97170473

3. 上司如何得知一個初級量化交易員的悟性?:

https://www.patreon.com/posts/shang-si-ru-he-99299074

Files

Previews only

Comments

阿程量化交易

是,如果你test埋其他全球市場,其實好多都係。內地的唔係。

Lam

咁講其實炒美股夜期好似幾吸引 又少競爭者

Ron chan

之後係咪可以用返mean 同std 計返個sharpe ratio

阿程量化交易

如果簡單地計sharpe ration可以用 (mean / std) * SQRT(252)。如果用intraday或overnight period,由於每天都都持貨,sharpe ratio不會像其他文章的strategy那麼高