Overall Statistics |
Total Trades 25 Average Win 17.43% Average Loss -4.41% Compounding Annual Return 2.264% Drawdown 45.300% Expectancy 0.237 Net Profit 13.477% Sharpe Ratio 0.179 Probabilistic Sharpe Ratio 0.925% Loss Rate 75% Win Rate 25% Profit-Loss Ratio 3.95 Alpha 0.028 Beta 0.104 Annual Standard Deviation 0.171 Annual Variance 0.029 Information Ratio 0.005 Tracking Error 0.25 Treynor Ratio 0.293 Total Fees $247.20 Estimated Strategy Capacity $100000000.00 Lowest Capacity Asset SPY R735QTJ8XC9X |
# region imports from AlgorithmImports import * # endregion # region imports from AlgorithmImports import * from QuantConnect.DataSource import * # endregion class VIXAlgorithm(QCAlgorithm): def Initialize(self): self.SetStartDate(2006, 5, 10) self.SetEndDate(2012, 1, 1) self.SetCash(100000) self.spy = self.AddEquity("SPY", Resolution.Daily) self.VIX_symbol = self.AddData(CBOE, "VIX", Resolution.Daily) #self.recession = False self.two_weeks_later_time = self.Time.day def OnData(self, data: Slice): if not self.Portfolio.Invested: self.SetHoldings("SPY",1) if self.VIX_symbol.High >= 40 and self.Portfolio["SPY"].IsLong: self.current_day = self.Time.day self.two_weeks_later_time = self.Time + timedelta(days=10) self.SetHoldings("SPY",-1) #and self.two_weeks_later_time <= self.Time.day elif self.VIX_symbol.High < 40 and self.Portfolio["SPY"].IsShort and self.two_weeks_later_time.day <= self.Time.day: #self.recession = False self.Liquidate("SPY") self.SetHoldings("SPY",1) else: pass