| Overall Statistics |
|
Total Trades 2 Average Win 0% Average Loss 0% Compounding Annual Return 15.817% Drawdown 0.300% Expectancy 0 Net Profit 0.114% Sharpe Ratio 2.972 Loss Rate 0% Win Rate 0% Profit-Loss Ratio 0 Alpha 0 Beta 6.959 Annual Standard Deviation 0.024 Annual Variance 0.001 Information Ratio 2.551 Tracking Error 0.024 Treynor Ratio 0.01 Total Fees $2.00 |
from clr import AddReference
AddReference("System")
AddReference("NodaTime")
AddReference("QuantConnect.Algorithm")
AddReference("QuantConnect.Indicators")
AddReference("QuantConnect.Common")
from System import *
from NodaTime import DateTimeZone
from QuantConnect import *
from QuantConnect.Algorithm import *
from QuantConnect.Brokerages import *
from QuantConnect.Data.Market import *
class BasicTemplateAlgorithm(QCAlgorithm):
def Initialize(self):
# Set the cash we'd like to use for our backtest
# This is ignored in live trading
self.SetCash(37000)
# Set benchmark
# self.SetBenchmark("XIV")
# Start and end dates for the backtest.
# These are ignored in live trading.
self.SetStartDate(2018,1,8)
self.SetEndDate(2018,1,10)
#Assets predetermined
self.vxx = self.AddEquity("UVXY", Resolution.Hour).Symbol
self.xiv = self.AddEquity("XIV", Resolution.Hour, Market.USA, True, 1, True)
self.spy = self.AddEquity("SPY", Resolution.Hour).Symbol
self.Schedule.On(self.DateRules.EveryDay("SPY"), self.TimeRules.At(16, 15), self.buyAtTime)
# self.Schedule.On(self.DateRules.EveryDay("SPY"), self.TimeRules.At(8, 30), self.buyAtTime)
def buyAtTime(self):
# if self.Portfolio[self.xiv.Symbol].Quantity > 0:
self.Debug("{0} before and holding {1}".format(str(self.Time), self.Portfolio[self.xiv.Symbol].Quantity))
self.MarketOrder(self.xiv.Symbol, 20)
# if self.Portfolio[self.xiv.Symbol].Quantity > 0:
self.Debug("{0} after and holding {1}".format(str(self.Time), self.Portfolio[self.xiv.Symbol].Quantity))
def OnData(self, slice):
self.Debug("open orders {0} at {1}".format(self.Transactions.GetOpenOrders(self.xiv.Symbol), str(self.Time)))