利用经济预测摘要进行 FOMC 公告交易
登录后收藏学术论文
Relief Rallies after FOMC Announcements: How Much Do Investors Care About Uncertainty?
Chen Gu
- Shanghai Business School
- ?Shanghai Business School - Research Center of Finance
策略概要
投资者在美国联邦公开市场委员会(FOMC)声明(包括SEP发布)前五分钟买入近月E-mini标准普尔500指数期货合约,并在公告发布后持有该头寸55分钟。
II. 策略合理性
作者将这种现象归因于联邦公开市场委员会(FOMC)发布包含SEP的公告后不确定性(以VIX指数衡量)的降低,这尤其是因为SEP包含有关未来货币政策方向的信息。
回测表现
波动率5%
夏普比率1.78
胜率62%
完整 Python 代码
from AlgorithmImports import *
#endregion
class TradingFOMCAnnouncementsSummaryEconomicProjections(QCAlgorithm):
def Initialize(self):
self.SetStartDate(2007, 1, 1)
self.SetCash(100000)
self.symbol = self.AddEquity("SPY", Resolution.Minute).Symbol
csv_string_file = self.Download('data.quantpedia.com/backtesting_data/economic/fed_summary_economic_projections.csv')
dates = csv_string_file.split('\r\n')
dates = [datetime.strptime(x, "%Y-%m-%d") for x in dates]
self.liquidate_next_day = True
self.Schedule.On(self.DateRules.On(dates), self.TimeRules.BeforeMarketClose(self.symbol, 1), self.DayBeforeAnnouncement)
self.Schedule.On(self.DateRules.EveryDay(self.symbol), self.TimeRules.BeforeMarketClose(self.symbol, 1), self.Rebalance)
def DayBeforeAnnouncement(self):
if not self.Portfolio[self.symbol].IsLong:
self.SetHoldings(self.symbol, 1)
self.liquidate_next_day = True
def Rebalance(self):
if self.liquidate_next_day:
self.liquidate_next_day = False
return
if self.Portfolio[self.symbol].IsLong:
self.Liquidate(self.symbol)