| Overall Statistics |
|
Total Trades 0 Average Win 0% Average Loss 0% Compounding Annual Return 0% Drawdown 0% Expectancy 0 Net Profit 0% Sharpe Ratio 0 Probabilistic Sharpe Ratio 0% Loss Rate 0% Win Rate 0% Profit-Loss Ratio 0 Alpha 0 Beta 0 Annual Standard Deviation 0 Annual Variance 0 Information Ratio -0.553 Tracking Error 0.171 Treynor Ratio 0 Total Fees $0.00 Estimated Strategy Capacity $0 Lowest Capacity Asset Portfolio Turnover 0% |
# region imports
from AlgorithmImports import *
# endregion
class CreativeFluorescentOrangeHippopotamus(QCAlgorithm):
def Initialize(self):
self.SetStartDate(2017, 11, 18)
self.SetEndDate(2023, 11, 18)
self.SetCash(100000)
self.AddRiskManagement(TrailingStopRiskManagementModel(0.05))
tickerList = ['GNRC', 'ABNB', 'MWW', 'PLL', 'CRL', 'DO', 'TDC', 'BG', 'KRFT', 'MNK', 'MI', 'XLNX', 'FL', 'WRB', 'DISCK', 'PANW', 'MGM', 'STE', 'SBAC', 'TSO', 'ATI', 'SWKS', 'CVG', 'MHK', 'COL', 'TLAB', 'TSG', 'HOT', 'QTRN', 'DG', 'TRB', 'APOL', 'URBN', 'ALLE', 'EXR','DLR', 'CHTR', 'GR', 'CEG', 'CFG', 'KORS', 'V', 'KDP', 'SRCL', 'DTV', 'XRX', 'QEP', 'TDG', 'GOOGL', 'AA', 'MHS', 'DXCM', 'CARR', 'SLM', 'DRE', 'CPRI', 'AMD', 'TDY', 'JNS', 'VRTX', 'TRGP', 'NKTR', 'PCL', 'NBL', 'IT', 'PAYC', 'CVH', 'LXK', 'CSGP', 'DFS', 'CHK', 'ABS', 'EMC', 'SIAL', 'TIF', 'TSCO', 'AAP', 'CFN', 'AME', 'CELG', 'PDCO', 'FRX', 'POOL', 'KVUE', 'UHS', 'TSS', 'POM', 'ESS', 'CTXS', 'UAL', 'UA', 'TFX', 'LEG', 'NCR', 'PCP', 'IDXX', 'MOH', 'XYL', 'AV', 'ABMD', 'LVS', 'DV', 'CERN', 'SWN', 'FFIV', 'FOX', 'SYF', 'BIG', 'WU', 'BIO', 'TYL', 'CDAY', 'BHF', 'NSM', 'RX', 'EVHC', 'WIN', 'SAI', 'TTWO', 'AVP', 'R', 'ACE', 'CVC', 'MRNA', 'SGP', 'FDS', 'IEX', 'KSS', 'FMC', 'LDW', 'ITT', 'CNC', 'VIAB', 'VTR', 'SIG', 'MSCI', 'GRMN', 'LSI', 'DF', 'SLE', 'S', 'WLP', 'ABBV', 'MTD', 'GPN', 'TRMB', 'Q', 'STJ', 'LYV', 'TWTR', 'CPRT', 'PCS', 'GMCR', 'CTLT', 'KEYS', 'CLF', 'ACAS', 'CPWR', 'TMC', 'NBR', 'HNZ', 'BCR', 'PSX', 'FANG', 'X', 'FLR', 'SE', 'COG', 'LM', 'MOS', 'OMX', 'AGN', 'TSLA', 'URI', 'EQIX', 'FRT', 'LUMN', 'MJN', 'RMD', 'BRCM', 'EP', 'REG', 'SNI', 'DYN', 'FSR', 'SCG', 'EQT', 'ADT', 'ANF', 'M', 'NWSA', 'BMS', 'HRB', 'HUBB', 'HP', 'STZ', 'DNR', 'ETFC', 'PODD', 'NWL', 'LDOS', 'FSLR', 'WB', 'FICO', 'AN', 'KBH', 'KSE', 'CBE', 'PYPL', 'BBBY', 'SVU', 'ENDP', 'AET', 'MUR', 'SPLS', 'PTC', 'WYN', 'SLR', 'JOYG', 'NWS', 'GNW', 'MXIM', 'ANDV', 'TER', 'AMG', 'INTU', 'ADS', 'NOV', 'INCY', 'CPGX', 'FLIR', 'DXC', 'YHOO', 'NDSN', 'BXLT', 'CTX', 'SBL', 'DLPH', 'HCBK', 'BJS', 'HSIC', 'BR', 'DPZ', 'REGN', 'JEF', 'SNDK', 'PBI', 'RSH', 'FB', 'ARG', 'ROST', 'CXO', 'ALK', 'GENZ', 'PCLN', 'CSRA', 'MPC', 'MNST']
for ticker in tickerList:
self.AddEquity(ticker, Resolution.Hour)
self.change = self.AddData(SPXChange, "change", Resolution.Hour).Symbol
def OnData(self, data: Slice):
if self.change in data:
targets = []
for ticker in data[self.change].Added:
if ticker in data:
targets.append(PortfolioTarget(ticker, 0.1))
for ticker in data[self.change].Removed:
if ticker in data:
targets.append(PortfolioTarget(ticker, -0.05))
self.SetHoldings(targets)
class SPXChange(PythonData):
def GetSource(self, config, date, isLive):
source = "https://www.dropbox.com/s/ksi5liwjja8...?dl=1"
return SubscriptionDataSource(source, SubscriptionTransportMedium.RemoteFile)
def Reader(self, config, line, date, isLive):
if not (line.strip() and line[0].isdigit()):
return None
data = line.split(',')
change = SPXChange()
try:
change.Symbol = config.Symbol
change.Time = datetime.strptime(data[0], "%Y-%m-%d") + timedelta(hours=10)
change.Value = 0
change["Added"] = str(data[1]).split(" ")
change["Removed"] = str(data[2]).split(" ")
except ValueError:
return None
return change