| 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