Overall Statistics
Total Trades
0
Average Win
0%
Average Loss
0%
Compounding Annual Return
0%
Drawdown
0%
Expectancy
0
Net Profit
0%
Sharpe Ratio
0
Probabilistic Sharpe Ratio
0%
Loss Rate
0%
Win Rate
0%
Profit-Loss Ratio
0
Alpha
0
Beta
0
Annual Standard Deviation
0
Annual Variance
0
Information Ratio
-1.963
Tracking Error
0.164
Treynor Ratio
0
Total Fees
$0.00
Estimated Strategy Capacity
$0
Lowest Capacity Asset
from clr import AddReference
AddReference("QuantConnect.Algorithm")
AddReference("QuantConnect.Indicators")
AddReference("QuantConnect.Algorithm.Framework")

from QuantConnect.Algorithm import QCAlgorithm
from QuantConnect.Data.UniverseSelection import *
from QuantConnect.Indicators import *

from datetime import timedelta, datetime

class VAlgorithm(QCAlgorithmFramework):

    def Initialize(self):
        self.SetStartDate(2021, 1, 1)
        self.SetEndDate(2021, 3, 1)
        self.SetCash(1000000)
        self.UniverseSettings.Resolution = Resolution.Hour
        self.spy = self.AddEquity("SPY", Resolution.Hour).Symbol
        
        # Set lookback period for STD and SMA
        self.lookbackSTD = 10   # volatility (ie, std) over past 10 days
        self.lookbackSMA = 5   # 5-day moving average of volatility
        
        # Warmup indicators
        self.SetWarmup(20, Resolution.Daily)
        
        # Initialize standard deviation of SPY and moving average of std's at zero
        self.std = 0
        self.stdAvg = 0

    
    def OnData(self, data):
        if self.IsWarmingUp:
            return
        
        #setup trades --> if VIX - VRP(hvol10s) > 0 , then buy SVXY(XIV) else buy VXX
        
    def OnEndOfDay(self):
        # Construct standard deviation of price using STD Indicator for added securities
        self.std = StandardDeviation(self.spy, self.lookbackSTD)
        
        # Construct simple moving average (SMA) of the standard deviation of price
        self.stdAvg = IndicatorExtensions.SMA(self.std, self.lookbackSMA)
        
        # Plot indicators
        self.Plot("Indicators", "Std", self.std.Current.Value)
        self.Plot("Indicators", "Std-Avg", self.stdAvg.Current.Value)