Quant Buffet放轻松,别过度思虑

日内货币季节性策略

登录后收藏

学术论文

Currency Returns in Different Time Zones

作者不同时区货币回报 [点击查看论文]

机构
  • National Bureau of Economic Research
  • CAKellogg's (Canada)
  • ?Kellogg School of Management - Department of Finance
  • ?National Bureau of Economic Research (NBER)

策略概要

该策略每日交易欧元/美元货币对,在欧盟营业时间(伦敦时间上午8点至下午4点)做空欧元/美元,在美国营业时间(伦敦时间下午4点至纽约时间下午5点)做多。从业绩中扣除1个点的交易买卖差价。这种方法旨在利用欧洲和美国交易时段之间的日内模式和流动性差异,同时保持一致的执行框架,以捕捉这些基于时间的市场动态带来的潜在回报。

II. 策略合理性

回测表现

波动率11.55%
夏普比率0.79
索提诺比率-1.295
胜率36%

完整 Python 代码

from AlgorithmImports import *
class IntradayCurrencySeasonality(QCAlgorithm):
def Initialize(self):
self.SetStartDate(2010, 1, 1)
self.SetCash(100000)

data = self.AddForex("EURUSD", Resolution.Minute, Market.FXCM)
data.SetFeeModel(CustomFeeModel())
self.symbol = data.Symbol
def OnData(self, data):
time = self.Time

if time.hour == 3 and time.minute == 0:     # NY
    self.SetHoldings(self.symbol,-1)
if time.hour == 11 and time.minute == 0:    # NY
    self.Liquidate(self.symbol)
    self.SetHoldings(self.symbol,1)
if time.hour == 17 and time.minute == 0:    # NY
    self.Liquidate(self.symbol)
# Custom fee model.
class CustomFeeModel(FeeModel):
def GetOrderFee(self, parameters):
fee = parameters.Security.Price * parameters.Order.AbsoluteQuantity * 0.00005
return OrderFee(CashAmount(fee, "USD"))