在上一篇關於日內數據的文章,我們探討了在這15.5年來,是日間交易時間回報較好,還是夜間交易時間回報較好。
今篇文章我們會再進一步,去探討:
策略1: 用日間交易時間回報去決定是否在夜間交易時間買入/沽出
策略2: 用夜間交易時間回報去決定是否在日間交易時間買入/沽出
E-mini S&P 500期貨(ES)的價格由 2008年1月2日的 1,316 到2023年5月5日的 4,149
這15.5 年來總回報為 (4149 / 1316) - 1 = +2.15倍
我們把交易時段分為 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
在這15.5年來,夜間交易(Overnight period)時間的回報較好!是日間交易(Intraday period)時間回報的兩倍多,而Post-Intraday period外和 skip period的回報則是蝕少許。
策略1A:
(1) 如果日間交易時段的回報(log return) 大於 0.0001
(2) 就在下一個夜間交易時段開始時買入
(3) 在同一個夜間交易時段結束時平倉
最後計算總回報(Log Return 和 Simple Return)
Remark: 如果改為在(2)是沽出,只需把 Log Return 總回報乘以 -1
策略1B:
(1) 如果日間交易時段的回報(log return) 小於 -0.0001
(2) 就在下一個夜間交易時段開始時買入
(3) 在同一個夜間交易時段結束時平倉
最後計算總回報(Log Return 和 Simple Return)
Remark: 如果改為在(2)是沽出,只需把 Log Return 總回報乘以 -1
我們會去Python去探討以上策略的回報
例如:
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
我們用pandas DataFrame 去讀取這個 excel
Cross Check 個 cumulative return 沒有計錯:
每一行都有 LAST_PERIOD=Intraday, CURR_PERIOD=overnight 的資料,
各自period都有 period start time, period end time, period首尾的 open price, 以及 period 的 log return


策略1A:
(1) 如果日間交易時段的回報(log return) 大於 0.0001
(2) 就在下一個夜間交易時段開始時買入
(3) 在同一個夜間交易時段結束時平倉
總回報(Log Return) = 0.299579
平均回報(Log Return) = 0.000142
策略1B:
(1) 如果日間交易時段的回報(log return) 小於 -0.0001
(2) 就在下一個夜間交易時段開始時買入
(3) 在同一個夜間交易時段結束時平倉
總回報(Log Return) = 0.583477
平均回報(Log Return) = 0.000329
對比夜間交易時段的回報:
總回報(Log Return) = 0.961286
平均回報(Log Return) = 0.000242
小結:
策略1A的 平均回報只有0.000142,比夜間交易時段的0.000242更差
策略1B的 平均回報有0.000329,比夜間交易時段的0.000242好少少
策略1A:
策略1B:
策略2A:
(1) 如果夜間交易時段的回報(log return) 大於 0.0001
(2) 就在下一個日間交易時段開始時買入
(3) 在同一個日間交易時段結束時平倉
最後計算總回報(Log Return 和 Simple Return)
Remark: 如果改為在(2)是沽出,只需把 Log Return 總回報乘以 -1
策略2B:
(1) 如果夜間交易時段的回報(log return) 小於 -0.0001
(2) 就在下一個日間交易時段開始時買入
(3) 在同一個日間交易時段結束時平倉
最後計算總回報(Log Return 和 Simple Return)
Remark: 如果改為在(2)是沽出,只需把 Log Return 總回報乘以 -1
由於Coding 大部分和策略1相似,所以我們直接去策略2的結果:

策略2A:
(1) 如果夜間交易時段的回報(log return) 大於 0.0001
(2) 就在下一個日間交易時段開始時買入
(3) 在同一個日間交易時段結束時平倉
總回報(Log Return) = 0.829270
平均回報(Log Return) = 0.000389
策略2B:
(1) 如果夜間交易時段的回報(log return) 小於 -0.0001
(2) 就在下一個日間交易時段開始時買入
(3) 在同一個日間交易時段結束時平倉
總回報(Log Return) = -0.282712
平均回報(Log Return) = -0.000161
對比日間交易時段的回報:
總回報(Log Return) = 0.556603
平均回報(Log Return) = 0.000141
小結:
策略2A的 平均回報只有0.000389,比日間交易時段的0.000141好
策略2B(在(2)改為沽出)的平均回報有0.00161,比日間交易時段的0.000141好少少
策略2A:
策略2B:
策略1A的 平均回報只有0.000142,比夜間交易時段的0.000242更差
策略1B的 平均回報有0.000329,比夜間交易時段的0.000242好少少
策略2A的 平均回報只有0.000389,比日間交易時段的0.000141好
策略2B(在(2)改為沽出)的平均回報有0.00161,比日間交易時段的0.000141好少少
Input file 和 Code 放在會員專屬文章:
https://www.patreon.com/posts/data-code-guan-4-105435463
----------------------------------------------------------------------------------------------------------------
阿程量化交易 -> 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
搵Alpha方法3:
https://www.patreon.com/posts/mian-fei-gong-yi-104969423
----------------------------------------------------------------------------------------------------------------
【公開量化策略系列】
策略 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
策略 6 - 免費公開點樣用一個穩定蝕錢策略黎大賺Alpha? (Sharpe 1.44)
https://www.patreon.com/posts/mian-fei-gong-yi-104969423
----------------------------------------------------------------------------------------------------------------
【程式交易編程系列】
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
4. 關於日內數據Part 3 - 深入分析 4 個交易時段的回報
https://www.patreon.com/posts/guan-yu-ri-nei-3-104523407
----------------------------------------------------------------------------------------------------------------
【行內秘聞】
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