Overall Statistics
from QuantConnect.Python import PythonQuandl
from datetime import datetime, timedelta
from decimal import Decimal
import numpy as np

class RollingWindowAlgorithm(QCAlgorithm):

    def Initialize(self):
        self.SetStartDate(2018,1,2)
        self.SetEndDate(2018,3,15)
        self.SetCash(25000)
        self.vix = 'CBOE/VIX'
        self.vxv = 'CBOE/VXV'
        self.AddData(QuandlVix, self.vix, Resolution.Daily)
        self.AddData[Quandl](self.vxv, Resolution.Daily)
        
        self.ratio_ema = ExponentialMovingAverage(8)
        self.emaWin = RollingWindow[float](2)
        history = self.History([self.vix], 9)
        for index, row in history.loc[self.vix].iterrows():
            self.ratio_ema.Update(index, Decimal(row['vix close']))

    def OnData(self, data):
        self.ratio_ema.Update(data.Time, data[self.vix].Price)
        self.emaWin.Add(self.ratio_ema.Current.Value)
        self.Log(str(self.ratio_ema.Current.Value))

class QuandlVix(PythonQuandl):
    def __init__(self):
        self.ValueColumnName = "VIX Close"
        self.Close = "VIX Close"