
“该策略交易SPY(标准普尔500指数ETF)和商品ETF,在股票看涨日后做多商品,做空SPY,持有一天头寸,以利用短期市场趋势。”
资产类别: ETF | 地区: 美国 | 周期: 每日 | 市场: 大宗商品,股票 | 关键词: 大宗商品
I. 策略概要
该策略交易两种ETF:SPY(标准普尔500指数ETF)和广泛的商品市场ETF。在每个交易日开始时,如果前一天股市看涨,投资者则做多商品ETF,做空SPY。头寸持有一天后平仓,旨在利用短期市场趋势以及股票和商品之间的反向关系。这种方法利用每日市场情绪来获取潜在回报。
II. 策略合理性
学术研究表明,股票市场情绪会影响商品ETF的价格,因为它们也在股票市场上交易。虽然理论上套利可以使价格保持一致,但商品ETF及其基础证券在不同的市场中运作。套利者可能缺乏有效跨这些市场执行套利的能力。因此,股票市场的投资者情绪会影响商品ETF的跟踪误差,导致其与基础资产价值出现偏差,并产生由市场情绪而非基本面因素驱动的低效率。
III. 来源论文
商品交易所交易基金中的跨市场投资者情绪 [点击查看论文]
- 陈,伊利诺伊大学芝加哥分校 – 金融系
<摘要>
本研究展示了股票市场的投资者情绪如何影响商品交易所交易基金(ETF)的价格。该研究提供了量化证据,表明商品ETF的跟踪误差在牛市和熊市中存在差异,并且商品ETF的总体跟踪误差对众所周知的情绪指标敏感。该研究利用了基于股票市场和商品市场投资者情绪的盈利交易策略。即使考虑到交易成本,对商品ETF的情绪驱动需求也可能存在,并且这是一种短期现象。这一独特的证据表明,投资者情绪会影响跨市场的资产估值。


IV. 回测表现
| 年化回报 | 31.1% |
| 波动率 | N/A |
| β值 | -0.226 |
| 夏普比率 | N/A |
| 索提诺比率 | N/A |
| 最大回撤 | N/A |
| 胜率 | 33% |
V. 完整的 Python 代码
from AlgorithmImports import *
#endregion
class TradingCommodityVersusEquity(QCAlgorithm):
def Initialize(self):
self.SetStartDate(2010, 1, 1)
self.SetCash(100000)
data = self.AddEquity('SPY', Resolution.Daily)
data.SetLeverage(5)
self.market:Symbol = data.Symbol
data = self.AddEquity('DBC', Resolution.Daily)
data.SetLeverage(5)
self.commodities:Symbol = data.Symbol
self.data:RollingWindow = RollingWindow[float](2)
def OnData(self, data):
# store market price
if self.market in data and data[self.market] and self.commodities in data and data[self.commodities]:
market_price:float = data[self.market].Value
self.data.Add(market_price)
if self.data.IsReady:
prevoius_day_return:float = self.data[0] / self.data[1] - 1
if prevoius_day_return > 0:
self.SetHoldings(self.commodities, 1)
self.SetHoldings(self.market, -1)
else:
self.Liquidate()