| Overall Statistics |
|
Total Trades 75 Average Win 5.02% Average Loss -0.76% Compounding Annual Return 12.069% Drawdown 9.700% Expectancy 3.340 Net Profit 140.271% Sharpe Ratio 0.863 Probabilistic Sharpe Ratio 20.827% Loss Rate 43% Win Rate 57% Profit-Loss Ratio 6.65 Alpha 0.091 Beta -0.038 Annual Standard Deviation 0.101 Annual Variance 0.01 Information Ratio -0.061 Tracking Error 0.189 Treynor Ratio -2.276 Total Fees $383.05 Estimated Strategy Capacity $13000000.00 Lowest Capacity Asset BIL TT1EBZ21QWKL Portfolio Turnover 1.92% |
from AlgorithmImports import *
from datetime import datetime, timedelta
class CustomDataWeighAlgorithm(QCAlgorithm):
def Initialize(self):
self.SetStartDate(2016,1, 1)
# self.SetEndDate(2020,5, 1)
self.SetCash(100000)
self.symbols = "SPY", "SPXL", "UVXY", "SSO","BIL","TQQQ","QLD","USD","SOXL"
self.rsi = {}
self.bil_holdings = 0
self.uvxy_holdings = 0
self.sso_holdings = 0
self.qld_holdings = 0
self.usd_holdings = 0
self.Settings.FreePortfolioValuePercentage = 0.10
for symbol in self.symbols:
equity = self.AddEquity(symbol, Resolution.Daily)
self.rsi[symbol] = self.RSI(equity.Symbol, 11)
def OnData(self, data):
if not self.rsi["SPXL"].IsReady:
return
if self.rsi["SPXL"].Current.Value > 80 :
self.Liquidate("BIL")
self.SetHoldings("UVXY", 0.99)
else:
self.Liquidate("UVXY")
self.SetHoldings("BIL", 0.99)