Overall Statistics |
Total Trades 420 Average Win 12.06% Average Loss -4.08% Compounding Annual Return 38.353% Drawdown 37.800% Expectancy 0.590 Net Profit 4356.196% Sharpe Ratio 0.992 Probabilistic Sharpe Ratio 28.990% Loss Rate 60% Win Rate 40% Profit-Loss Ratio 2.96 Alpha 0.201 Beta 1.129 Annual Standard Deviation 0.321 Annual Variance 0.103 Information Ratio 0.768 Tracking Error 0.28 Treynor Ratio 0.282 Total Fees $55686.30 Estimated Strategy Capacity $720000.00 Lowest Capacity Asset SVXY V0H08FY38ZFP Portfolio Turnover 9.60% |
#region imports from AlgorithmImports import * #endregion class SleepyFluorescentYellowCat(QCAlgorithm): def Initialize(self): self.SetStartDate(2011, 12, 1) self.SetCash(100000) self.AddEquity('SVXY',Resolution.Minute) res=Resolution.Daily self.uvxy=self.AddEquity('UVXY',res).Symbol self.bb=self.BB(self.uvxy,10,2,res) self.sma=self.SMA(self.uvxy,4,res) self.rc=self.RC(self.uvxy,6,0.3,res) self.trigger=False self.buy=False self.hold=False self.sell=False def OnData(self, data): #self.AddRiskManagement(MaximumDrawdownPercentPortfolio(0.10)) if self.bb.IsReady and self.uvxy in data.Bars and self.sma.IsReady: vix=data[self.uvxy].Close if self.rc.UpperChannel.Current.Value<vix: self.trigger=True if self.trigger and self.sma.Current.Value>vix: self.buy=True if self.hold and (vix<(self.bb.MiddleBand.Current.Value-self.bb.StandardDeviation.Current.Value)): self.sell=True if self.buy and data.ContainsKey('SVXY'): self.SetHoldings('SVXY',1) self.trigger=False self.buy=False self.hold=True if data.ContainsKey('SVXY') and (self.sell or self.Portfolio['SVXY'].UnrealizedProfitPercent<-0.04): self.SetHoldings('SVXY',0) self.hold=False self.sell=False