Overall Statistics |
Total Trades 3826 Average Win 0.06% Average Loss -0.04% Compounding Annual Return 14.158% Drawdown 2.900% Expectancy 0.094 Net Profit 15.059% Sharpe Ratio 2.858 Probabilistic Sharpe Ratio 96.395% Loss Rate 56% Win Rate 44% Profit-Loss Ratio 1.47 Alpha 0.054 Beta 0.279 Annual Standard Deviation 0.048 Annual Variance 0.002 Information Ratio -1.547 Tracking Error 0.102 Treynor Ratio 0.49 Total Fees $4025.76 |
from clr import AddReference AddReference("System") AddReference("QuantConnect.Algorithm") AddReference("QuantConnect.Common") from System import * from QuantConnect import * from QuantConnect.Algorithm import * from QuantConnect.Indicators import * from QuantConnect.Data.Market import TradeBar import numpy as np import decimal as d from datetime import timedelta, datetime class OptionsAlgorithm(QCAlgorithm): def Initialize(self): self.SetStartDate(2018, 12, 20) self.SetEndDate(2020, 1, 12) self.SetCash(1000000) self.SetBrokerageModel(BrokerageName.InteractiveBrokersBrokerage) self.equitylist = ["FAS","TNA","UVXY","TQQQ","JDST","FAZ","TZA", "SVXY", "SQQQ", "JNUG", "UGAZ","DGAZ"] #total number of equities self.noe = len(self.equitylist) def zerolistmaker(n): listofzeros = [0] * n return listofzeros #generate blank list self.equity = zerolistmaker(self.noe) self.syl = zerolistmaker(self.noe) # Add assets you'd like to see for x in range(self.noe): self.equity[x] = self.AddSecurity(SecurityType.Equity, self.equitylist[x], Resolution.Minute) self.syl[x] = self.equity[x].Symbol self.days_counter = 100000 #Set Trading and closing Times, for 1 day intra self.Schedule.On(self.DateRules.EveryDay(),self.TimeRules.At(10, 35),Action(self.Rebalance)) def Rebalance(self): self.days_counter+=1 if self.days_counter >= 1: for x in range(self.noe): self.SetHoldings(self.syl[x], -1/(self.noe)) self.days_counter = 0 #end