| Overall Statistics |
|
Total Trades 1 Average Win 0% Average Loss 0% Compounding Annual Return 7.133% Drawdown 11.600% Expectancy 0 Net Profit 14.775% Sharpe Ratio 0.554 Probabilistic Sharpe Ratio 23.624% Loss Rate 0% Win Rate 0% Profit-Loss Ratio 0 Alpha 0.065 Beta 0.011 Annual Standard Deviation 0.119 Annual Variance 0.014 Information Ratio -0.006 Tracking Error 0.17 Treynor Ratio 6.142 Total Fees $1.00 |
from System import *
from QuantConnect import *
from QuantConnect.Algorithm import *
from QuantConnect.Python import PythonQuandl
from datetime import datetime, timedelta
class ParticleResistanceComputer(QCAlgorithm):
def Initialize(self):
''' Initialize the data and resolution you require for your strategy '''
self.quandl_first = "CHRIS/CBOE_VX1"
self.quandl_next = "CHRIS/CBOE_VX2"
self.SetStartDate(2014, 1, 1)
self.SetEndDate(2015, 12, 31)
#self.SetEndDate(datetime.now().date() - timedelta(1))
self.SetCash(1000)
self.AddEquity("SPY", Resolution.Daily)
# Symbol corresponding to the quandl code
self.vx1 = self.AddData(QuandlVix, self.quandl_first, Resolution.Daily)
self.vx3 = self.AddData(QuandlVix, self.quandl_next, Resolution.Daily)
def OnData(self, data):
'''Data Event Handler: New data arrives here. "TradeBars" type is a dictionary of strings so you can access it by symbol.'''
if data.ContainsKey("CHRIS/CBOE_VX1") and data.ContainsKey("CHRIS/CBOE_VX2"):
if self.Securities['CHRIS/CBOE_VX1'].Price < self.Securities['CHRIS/CBOE_VX2'].Price:
self.SetHoldings('SPY', 1)
else:
if not data.ContainsKey("CHRIS/CBOE_VX1"):
self.Log('vx1 not found')
if not data.ContainsKey("CHRIS/CBOE_VX2"):
self.Log('vx2 not found')
class QuandlVix(PythonQuandl):
def __init__(self):
self.ValueColumnName = "Open"