| Overall Statistics |
|
Total Orders 1 Average Win 0% Average Loss 0% Compounding Annual Return 5.087% Drawdown 0.100% Expectancy 0 Start Equity 100000 End Equity 109069.23 Net Profit 9.069% Sharpe Ratio -5.154 Sortino Ratio -7.159 Probabilistic Sharpe Ratio 100% Loss Rate 0% Win Rate 0% Profit-Loss Ratio 0 Alpha -0.018 Beta 0 Annual Standard Deviation 0.004 Annual Variance 0 Information Ratio -1.471 Tracking Error 0.107 Treynor Ratio -101.82 Total Fees $5.00 Estimated Strategy Capacity $250000.00 Lowest Capacity Asset BOXX Y4OZG1TN6IXX Portfolio Turnover 0.16% |
#region imports
from AlgorithmImports import *
#endregion
class BenchAlgo(QCAlgorithm):
def Initialize(self):
#self.SetStartDate(2009, 9, 30) # Set Start Date
# self.SetStartDate(2010, 1, 1) # Set Start Date
# self.SetStartDate(2008, 1, 1) # Set Start Date
#self.SetEndDate(2019, 10, 31) # Set Start Date
#self.SetStartDate(2019, 6, 28) # Set Start Date
#self.SetStartDate(2013, 1, 1) # Set Start Date
# self.SetStartDate(2015, 6, 1) # Set Start Date
# self.SetStartDate(2016, 1, 1) # Set Start Date
# self.SetStartDate(2022, 3, 2) # Set Start Date
# self.SetEndDate(2021, 12, 31) # Set End Date
# self.SetEndDate(2022, 5, 2) # Set End Date
#self.SetCash(929375) # Set Strategy Cash
#self.SetCash(1e6) # Set Strategy Cash
# self.SetCash(1e5)
#self.AddEquity("ICE25T4T", Resolution.Daily)#Minute)
# self.AddEquity("SPY", Resolution.Daily)#Minute)
#self.AddEquity("XLI", Resolution.Daily)#Minute)
# self.AddEquity("TLT", Resolution.Daily)#Minute)
#self.AddEquity("VTV", Resolution.Daily)#Minute)
# BACKTEST Saltare Post-Earnings Announcement Drift Combined with Strong Momentum
self.SetStartDate(2023, 1, 1) # Set Start Date
self.SetEndDate(2024, 9, 30) # Set End Date
self.SetCash(1e5)
# self.AddEquity("SPY", Resolution.Daily)#Minute)
# self.AddEquity("FTLS", Resolution.Daily)#Minute)
# self.AddEquity("GVIP", Resolution.Daily)#Minute)
# self.AddEquity("QLS", Resolution.Daily)#Minute)
# self.AddEquity("TLT", Resolution.Daily)#Minute)
# self.AddEquity("AGG", Resolution.Daily)#Minute)
# self.AddEquity("SCHG", Resolution.Daily)#Minute)
self.AddEquity("BOXX", Resolution.Daily)#Minute)
# Crisis Alpha Greenblatt - Alpha Cloning – Following 13F Fillings
# self.SetStartDate(2016, 1, 1) # Set Start Date
# self.SetEndDate(2022, 12, 31) # Set End Date
# self.SetCash(1e5)
# self.AddEquity("SPY", Resolution.Daily)#Minute)
# self.AddEquity("GSLC", Resolution.Daily)#Minute)
# GLD Dragon and Dividend Paydate
# self.SetStartDate(2016, 1, 1) # Set Start Date
# self.SetEndDate(2022, 12, 31) # Set End Date
# self.SetCash(1e5)
# self.AddEquity("SPY", Resolution.Daily)#Minute)
# self.AddEquity("AOM", Resolution.Daily)#Minute)
# self.AddEquity("FAAR", Resolution.Daily)#Minute)
def OnData(self, data):
'''OnData event is the primary entry point for your algorithm. Each new data point will be pumped in here.
Arguments:
data: Slice object keyed by symbol containing the stock data
'''
if not self.Portfolio.Invested:
#self.SetHoldings("ICE25T4T", 1)
# self.SetHoldings("SPY", 1.0)
# self.SetHoldings("SPY", 0.8)
#self.SetHoldings("XLI", 1)
# self.SetHoldings("TLT", 1.0)
# self.SetHoldings("TLT", 0.2)
#self.SetHoldings("VTV", 1.0)
# self.SetHoldings("FTLS", 1.0)
# self.SetHoldings("QLS", 1.0)
# self.SetHoldings("GSLC", 1.0)
# self.SetHoldings("AOM", 1.0)
# self.SetHoldings("GVIP", 1.0)
# self.SetHoldings("AGG", 1.0)
# self.SetHoldings("FAAR", 1.0)
# self.SetHoldings("SCHG", 1.0)
self.SetHoldings("BOXX", 1.0)
if self.Time.hour==15 and self.Time.minute==59:
self.Plot("AlgoValue",self.Portfolio.TotalPortfolioValue)