Overall Statistics
Total Trades
722
Average Win
3.52%
Average Loss
-1.39%
Compounding Annual Return
29.013%
Drawdown
50.400%
Expectancy
0.975
Net Profit
9883.519%
Sharpe Ratio
0.948
Probabilistic Sharpe Ratio
23.474%
Loss Rate
44%
Win Rate
56%
Profit-Loss Ratio
2.54
Alpha
0
Beta
0
Annual Standard Deviation
0.24
Annual Variance
0.057
Information Ratio
0.948
Tracking Error
0.24
Treynor Ratio
0
Total Fees
$2064.44
Estimated Strategy Capacity
$37000000.00
Lowest Capacity Asset
TECH R735QTJ8XC9X

# Your New Python File
import sp500
import russell3000
import test_universe
class RetrospectiveYellowShark(QCAlgorithm):

    def Initialize(self):
        self.SetStartDate(2004, 1, 1)  # Set Start Date
        # self.SetEndDate(2012, 12, 1)  # Set Start Date
        # self.SetStartDate(2008, 1, 1)  # Set Start Date
        # self.SetEndDate(2010, 1, 1)  # Set Start Date
        self.SetCash(10000)  # Set Strategy Cash
        
        self.breakout_frequency = int(self.GetParameter("breakout_frequency"))
        self.index_name = self.GetParameter("index_name")
        
        # self.SetUniverseSelection(QC500UniverseSelectionModel())
        
        for symbol in sp500.get_sp500_symbols():
        # for symbol in russell3000.get_russell3000_symbols():
            self.AddEquity(symbol,Resolution.Daily)
        
        # for symbol in test_universe.get_test_symbols():
        #     self.AddEquity(symbol,Resolution.Daily)
        
        self.AddEquity(self.index_name,Resolution.Daily)
        # self.index = self.AddIndex(self.index_name, Resolution.Daily).Symbol
        # self.AddIndexOption(self.index_name,Resolution.Daily) #add index
        self.UniverseSettings.Resolution = Resolution.Daily
        self.symbols = {}
        self.SetBrokerageModel(BrokerageName.InteractiveBrokersBrokerage, AccountType.Margin);
        self.Schedule.On(self.DateRules.WeekEnd(),self.TimeRules.At(hour=17,minute=0),self.weekend_trader_main)
        #check this time
        
        self.buy_slots = int(self.GetParameter("buy_slots"))
        self.leverage_factor = float(self.GetParameter("leverage_factor"))
        self.stop_loss_factor = float(self.GetParameter("stop_loss_factor"))
        self.minimum_roc = float(self.GetParameter("minimum_roc"))
        
        #symbol data
        self.index_symbol_name = self.Symbol(self.index_name)
        self.consolidator = TradeBarConsolidator(Calendar.Weekly)
        self.index_sma = SimpleMovingAverage(int(self.breakout_frequency/2))
        self.RegisterIndicator(self.index_symbol_name,self.index_sma,self.consolidator)
        self.index_latest_close = 0
        self.consolidator.DataConsolidated += self.OnDataConsolidated
        self.SubscriptionManager.AddConsolidator(self.index_symbol_name, self.consolidator)
    
    def OnDataConsolidated(self, sender, bar):#only handle index data
        self.index_latest_close = bar.Close
        
    def weekend_trader_main(self):
        
        
        invested_symbols = [symbol for symbol in self.symbols if self.Portfolio[self.symbols[symbol].symbol].Invested ]
        not_invested_symbols = [symbol for symbol in self.symbols if not self.Portfolio[self.symbols[symbol].symbol].Invested if symbol != self.index_symbol_name.Value]
        self.slots_available = self.buy_slots - len(invested_symbols)
        
        
        #sell 
        for symbol in invested_symbols:
            if self.symbols[symbol].to_be_sold:
                self.Liquidate(symbol)
                self.slots_available+=1
        
        #buy 
        index_symbol_data = self.symbols[self.index_symbol_name.Value]
       
        #index has to be ready
        if not self.index_sma.IsReady:
            return
        
       
        if(self.index_latest_close < self.index_sma.Current.Value): 
            return
        
        
        
        filter_one = [symbol for symbol in not_invested_symbols if self.symbols[symbol].breakout] #after check breakout 
       
        #put a rate of change of some amount >30
        filter_two = sorted([symbol for symbol in filter_one if self.symbols[symbol].roc > self.minimum_roc] ,key=lambda symbol: self.symbols[symbol].roc, reverse=True)
        
        
        for slot_index in range(self.slots_available):
            
            if slot_index > len(filter_two)-1:
                break
            
            symbol_data = self.symbols[filter_two[slot_index]]
            number_of_shares =  round((self.Portfolio.TotalPortfolioValue/self.buy_slots)*self.leverage_factor/ symbol_data.latest_close)
            self.MarketOrder(symbol_data.symbol,number_of_shares)
            symbol_data.stop_loss = symbol_data.latest_close*(1-self.stop_loss_factor)
            symbol_data.to_be_sold = False
            

    def OnSecuritiesChanged(self, changes):
        for security in changes.AddedSecurities:
            # if security.Symbol == self.index_name:
            # security.SetDataNormalizationMode(DataNormalizationMode.Raw);
            symbol = security.Symbol
            if symbol not in self.symbols:
                self.symbols[symbol.Value] = SymbolData(self, symbol)
               
                

            
class SymbolData:
    
    def __init__(self, algorithm, symbol):
        
        self.algorithm = algorithm
        self.symbol = symbol
        self.breakout = False
        self.latest_close = None
        self.breakout_window = RollingWindow[float](algorithm.breakout_frequency) 
        self.stop_loss = None
        self.to_be_sold = False
            
        self.consolidator = TradeBarConsolidator(Calendar.Weekly)
        self.consolidator.DataConsolidated += self.OnDataConsolidated
        algorithm.SubscriptionManager.AddConsolidator(symbol, self.consolidator)
    
    def OnDataConsolidated(self, sender, bar):
        
        self.latest_close = bar.Close
        self.breakout_window.Add(bar.Close)
        
        if self.algorithm.Portfolio[self.symbol].Invested:
            #check index is over 10 SMA
            #symbol data for index
            
            if(self.algorithm.index_latest_close < self.algorithm.index_sma.Current.Value): 
                #stop loss / 4
                self.stop_loss = max(self.stop_loss,self.latest_close*(1-self.algorithm.stop_loss_factor/4))
            else:
                self.stop_loss = max(self.stop_loss,self.latest_close*(1-self.algorithm.stop_loss_factor))
            
            if self.latest_close < self.stop_loss:
                self.to_be_sold = True
            return
        
        #Below are meant when not invested
        if not self.breakout_window.IsReady: 
            self.breakout = None
            return
        
        
        if max(self.breakout_window) == bar.Close: #20 week high ?
            self.breakout = True
        else:
            self.breakout = False
            return
        
        #roc
        beginning_price = self.breakout_window[self.algorithm.breakout_frequency - 1]
        self.roc = (bar.Close - beginning_price)/beginning_price
        
            
            
            
            
                
 

def get_russell3000_symbols():
    return ["FLWS","SRCE","FUBC","DDD","MMM","EGHT","AVHI","AONE","AAON","AIR","AAN","ABAX","ABT","ANF","ABMD","ABM","ABVT","AXAS","ACTG","ACHC","AKR","ACCL","ACN","ANCX","ACCO","AH","ARAY","ACW","ACE","ACET","ACHN","ACIW","APKT","ACOR","ACFN","ACTV","ATVI","ATU","BIRT","AYI","ACUR","ACXM","ADES","AE","ADBE","ADTN","AAP","AEIS","AMD","ADVS","professional.","ABCO","ACM","AEGR","AEGN","AEPI","ARX","ARO","AVAV","AES","AET","AFCE","AMG","AFFY","AFFX","AFL","MITT","AGCO","AGEN","A","AGYS","GAS","ADC","AL","AIRM","APD","ATSG","AYR","ARG","AKS","AKAM","AKRX","ALG","ALK","AIN","ALB","AA","ALR","ALEX","ALX","ARE","ALXN","ALCO","ALGN","ALKS","Y","ATI","ALGT","AGN","ALE","ADS","ALNC","AOI","LNT","ATK","ANV","AWH","ALSN","ALTH","MDRX","ALL","AFAM","ALNY","ALJ","AOSL","ANR","ATEC","ALTR","ALTE","AIMC","MO","AMAG","AMZN","AMBT","AMCX","ACO","DOX","AMED","APEI","UHAL","AEE","AMRC","AAT","AXL","ACC","MTGE","AGNC","ACAS","ADGE","AEO","AEP","AEL","AXP","AFG","AM","AIG","ANAT","AMNB","ARII","ARC","ARCT","ASI","ASEI","AMSWA","AWR","AMSC","AMT","AVD","AMWD","AWK","CRMT","-13600","THRM","AGP","AMP","ABCB","AMSF","ABC","ASCA","ATLO","AME","AMGN","FOLD","AMKR","AHS","AP","APH","AMPE","AMSG","AFSI","AMLN","AMRS","ANAC","APC","ANAD","ADI","ALOG","ANEN","ACOM","ANDE","ANGI","ANGO","ANIK","AXE","ANN","NLY","BNNY","ANSS","ATRS","ANH","AOL","AON","APA","AIV","APAGF","ATNY","APOG","ARI","APOL","AINV","AMTG","AAPL","AIT","AMAT","AMCC","AREX","ATR","WTR","ARSD","ARB","ACGL","ACI","ADM","ACAT","ARDNA","ARNA","ARCC","ACRE","AGX","AGII","ARIA","ARBA","ABFS","AI","ARR","AWI","ARQL","ARRY","ARRS","ARW","AROW","ARTNA","ARTC","ART","ARUN","Indexes.","Indexes.","Indexes.","Indexes.","Indexes.","Indexes.","Indexes.","Indexes.","Indexes.","Indexes.","Indexes.","Indexes.","Indexes.","Indexes.","Indexes.","Indexes.","Indexes.","Indexes.","Indexes.","Indexes.","Indexes.","Indexes.","Indexes.","Indexes.","Indexes.","Indexes.","Indexes.","Indexes.","Indexes.","Indexes.","Indexes.","Indexes.","Indexes.","Indexes.","Indexes.","Indexes.","Indexes.","ABG","ASNA","ASCMA","AHT","ASH","AHL","AZPN","AACC","ALC","ASBC","AEC","AIZ","AGO","ASFI","ASTE","ASTX","AF","ATRO","T","ATHN","AT","ATNI","AAWW","ATML","ATMI","ATO","ATPG","ATRC","ATRI","ATW","ADNC","AUTH","ADSK","ADP","AN","AZO","AUXL","AVGO","AVB","AVNR","AVEO","AVY","AVG","AVNW","AVID","CAR","AVA","AVT","AVP","AVX","AWRE","ACLS","AXS","AXTI","AZZ","BGS","BWC","BMI","BHI","BKR","BCPC","BWINB","BLL","BYI","BANF","BLX","TBBK","BXS","BKYF","BKMU","BAC","BOH","BMRC","BK","OZRK","BFIN","RATE","BKU","BANR","BHB","BCR","BKS","B","BBSI","DFZ","BAS","BSET","BAX","BV","BBT","BBCN","BEAV","BECN","BEAM","BBGI","BZH","BEBE","BDX","BBBY","BELFB","BDC","BLC","BMS","BHE","BNCL","BNHN","WRB","BERK","BRK.B","BHLB","BRY","BBY","BGMD","BGCP","BGFV","BIG","BH","BBG","BCRX","BDSI","BIIB","BMRN","BMR","BIO","BRLI","BIOS","BSTC","BTX","BJRI","BBOX","BDE","BKH","BLKB","BLK","BKCC","HRB","BLT","BCOR","NILE","BXG","BXC","BTH","BMC","BOBE","BODY","BA","BOFI","WIFI","BZ","BOKF","BOLT","BCEI","BONT","BAH","BWA","SAM","BPFH","BXP","BSX","EPAY","BYD","BPZ","BRC","BDN","BBRG","BRE","BDGE","BBNK","BPI","BGG","BCOV","CELL","EAT","BCO","BMY","BRS","BRCM","BR","BSFT","BRCD","BKD","BRKL","BRKS","BRO","BF.B","BWS","BRKR","BC","BMTC","BLMT","BKI","BKE","BWLD","BLDR","BG","CFFI","CHRW","CJES","CA","CAB","CVC","CBT","CCMP","COG","CACI","CDNS","CADX","CDZI","CZR","PRSS","CAP","DVR","CALM","CLMS","CAMP","CVGW","CCC","CFNB","CWT","CALX","ELY","CALD","CPE","CPN","CBM","CAC","CPT","CAM","CPB","CCG","CMN","CBNJ","CPLA","CBKN","CCBG","COF","CSU","CSWC","CSE","CFFN","LSE","CMO","CPST","CRR","CARB","CFNL","CAH","CSII","CATM","CECO","CFN","CBOU","CSL","KMX","CKEC","CCL","CRS","CSV","CRZO","TAST","CRI","CACB","CASC","CWST","CASY","CSH","CASS","CAS","CMRG","CHSI","CAT","CATY","CATO","CVCO","CAVM","CBEY","CBZ","CBL","CBOE","CBG","CBS","CDI","CEC","CECE","CDR","CGI","CE","CELG","CLDX","CEMP","CNC","CNBC","CNP","CSFL","CEDC","CETV","CENTA","CPF","CV","CENX","CNBKA","CTL","CVO","CPHD","CRDN","CERE","CERN","CERS","CEVA","CF","CHG","CRL","GTLS","CHTR","CHFN","CCF","CLDT","CKP","CAKE","CHEF","CHE","CHFC","CCXI","CHMT","LNG","CHKE","CHK","CHSP","CPK","CVX","CBI","CHS","PLCE","CIM","CHDX","CMG","CQB","CHH","CB","CHD","CHDN","CBR","CIEN","DFR","CI","XEC","CBB","CINF","CNK","CTAS","CIR","CRUS","CSCO","CIT","CTRN","C","CZNC","CIA","CRBC","CTXS","CHCO","CYN","CLC","CLNE","CLH","CCO","CLW","CLWR","CNL","CLF","CSBK","CLX","CLD","CLVS","CME","CMS","CNA","CCNE","CNH","CNO","COH","CIE","COBZ","COKE","KO","CCE","CDXS","CDE","CCOI","CGNX","CTSH","CNS","COHR","COHU","CSTR","KCP","CCIX","CFX","CL","PSS","CLCT","CLP","CLNY","COLB","COLM","CMCO","CMCSA","CMA","FIX","CBSH","CMC","CVGI","CWH","CBU","CYH","CTBI","CVLT","CMP","CPSI","CSC","CTGX","CPWR","CIX","SCOR","CRK","CMTL","CMVT","CAG","CPTS","CXO","CNQR","CNMD","CTWS","CONN","COP","CNX","CNSL","ED","CGX","CTO","CWCO","CTCT","STZ","MCF","CLR","CVG","CNW","COO","CBE","CTB","CPA","CPRT","CORT","CORE","CLGX","COR","COCO","CSOD","CRTX","GLW","CNDO","EXBD","OFC","CXW","CRVL","CPWM","CSGP","COST","CRRC","CUZ","CVD","CVA","CVH","COV","COWN","CVU","CRAI","CBRL","BREW","CR","CRD.B","CRAY","CACC","CRED","CREE","CRFN","CXS","CXPO","CROX","ATX","CCRN","XTXI","CCI","CCK","CRWN","CRY","CSGS","CSS","CSX","CTS","CUBE","CUB","CBST","CFR","CFI","CPIX","CMI","CMLS","CRIS","CW","CVBF","CVI","CVS","CYBX","CYMI","CYNO","CY","CYS","CYT","CYTX","DHI","DJCO","DAKT","DAN","DHR","DRI","DAR","DTLK","DVA","DWSN","DCT","DDR","TRAK","DF","DECK","DE","DK","DELL","DLPH","DAL","DLA","DGAS","PROJ","DEL","DLX","DMD","DWRE","DNR","DNDN","DENN","XRAY","DEPO","DSCI","DEST","DVN","DV","DXCM","DLLR","DIAL","DMND","DHIL","DO","DRH","DHX","DKS","DBD","DGII","DMRC","DDMG","DGIT","DLR","DRIV","DGI","DDS","DCOM","DIN","DIOD","DTV","DFS","DISCA","DSCO","DISH","DIS","DM","DLB","DOLE","DG","DTG","DLTR","D","DPZ","UFS","DCI","DGICA","RRD","DRL","DORM","PLOW","DEI","DOV","DOW","DPS","DWA","DRC","DW","DRQ","DSPG","DST","DSW","DTE","DTSI","DD","DUF","DUK","DRE","DNB","DNKN","DFT","DUSA","DXPE","DYAX","DY","BOOM","DVAX","DX","EMC","ETFC","EGBN","EXP","ELNK","EWBC","EML","EIHI","EGP","EMN","ESIC","ETN","EV","EBAY","EBIX","ELON","ECHO","SATS","ECL","EF","EDG","EIX","EDMC","EDR","EW","EHTH","BAGL","EE","ELRC","ESIO","EA","EFII","RDEN","ELLI","PERY","EMCI","EME","EBS","ESC","EMR","EDE","EIG","ELX","EBTX","ECPG","WIRE","END","ENDP","ECYT","ELGX","ENH","EGN","ENR","EPL","ERII","EXXI","ES","ENOC","ENS","EBF","ENPH","NPO","ENSG","ESGR","ENTG","ETM","ETR","ETRM","EBTC","EFSC","EPR","EVC","ENTR","ENV","ENVI","ENZN","EOG","EPAM","EPIQ","PLUS","EPHC","EPOC","EQT","EFX","EQIX","ELS","EQY","EQR","ERT","ERIE","ESBF","ESE","ESSA","ESS","EL","ESL","ETH","EEFT","EVER","EVR","RE","EPM","EXAS","EXAC","ET","EXAM","EXAR","EXL","XCO","XLS","EXEL","EXC","XIDE","EXLS","EXPE","EXPD","EXPO","EXPR","ESRX","EXH","EXR","EXTR","XOM","EZPW","FNBN","FFIV","FN","FB","FDS","FICO","FCS","FRP","FALC","FDO","FARM","FMNB","FARO","FAST","FFG","FBRC","AGM","FDML","FRT","FSS","FII","FDX","FEIC","FCH","FHCO","FOE","FNF","FIS","LION","FDUS","FRGI","FNP","FSC","FITB","FNGN","FISI","FNSR","FINL","FAF","FNLC","FBNC","FBP","BUSE","FCAL","FCFS","FCNCA","FCBC","FCF","FBNK","FDEF","FFBH","FFBC","THFF","FFCH","FFIN","FFNW","FHN","FR","FIBK","FLIC","FMD","FRME","FMBI","FNFG","BANC","FPO","FRC","FSLR","2011","FE","SVVC","FMER","FISV","FSCI","FVE","FSR","FLT","FLXS","FLIR","FTK","FLOW","FLO","FLS","FLDM","FLR","FFIC","FMC","FTI","FNB","FL","www.russell.com/indexes.","FES","F","FCE.A","FRX","FST","FOR","FORM","FORR","FRF","FTNT","FBHS","FET","FWRD","FOSL","FSTR","FXCB","FRAN","FC","FELE","FRNK","BEN","FSP","FRED","FCX","FSL","RAIL","FDP","TFM","FRS","FTR","FRO","FSII","FCN","FSYS","FCEL","FUL","FULT","FURX","FRM","FIO","FF","FX","FXEN","FXCM","GKSR","GCAP","AJG","GBL","GME","GCI","GPS","GDI","GRMN","IT","GLOG","GST","GMT","GET","GKNT","GNK","GY","GNRC","BGC","GNCMA","GD","GE","GGP","GIS","GMO","GM","GCO","GWR","GNE","GHDX","GEN","G","GPRO","GNTX","GTIV","GPC","GNW","GEO","GEOY","GEOI","GGC","GABC","GERN","GTY","GEVO","GFIG","ROCK","GIII","GILD","GBCI","GLAD","GOOD","GAIN","GLT","GRT","GCA","GGS","GBLI","GPN","GLPW","GSOL","GSM","GCOM","GLUU","GNC","GLNG","GORO","GRZ","AUMN","GSS","GS","GBDC","GR","GDP","GT","GOOG","GMAN","GRC","GOV","GPX","GRA","GGG","GTI","GHM","GWW","GKK","LOPE","GVA","GPK","GLDD","GXP","GSBC","GB","GRNB","GDOT","GMCR","GPRE","GBX","GHL","GLRE","GWAY","GEF","GRIF","GFF","GPI","GRPN","GSE","GSIG","GSIT","GSVC","GTAT","GTXI","GBNK","GES","GUID","GWRE","GIFI","GLF","GPOR","GYRO","HEES","HCKT","HAE","HAIN","HK","HNRG","HAL","HALL","HALO","HBHC","HNH","HBI","HGR","HAFC","THG","HNSN","HRG","HDNG","HOG","HAR","HLIT","TINY","HRS","HTSI","HSC","HHS","HIG","HBIO","HNR","HAS","HTS","HVT","HE","HA","HCOM","HWKN","HAYN","HCA","HCC","HCP","HW","HCN","HMA","HNT","HR","HCSG","HLS","HSTM","HWAY","HTLD","HTLF","HPY","HTWR","HEK","HL","HEI","HSII","HNZ","HELE","HLX","HP","JKHY","HLF","HERO","HTGC","HTBK","HCCI","HFWA","HBOS","HEOP","MLHR","HT","HSY","HTZ","HES","HPQ","HXL","HF","HGG","HIBB","HTCO","ONE","HIW","HIL","HI","HRC","HTH","HIFS","HITK","HITT","HMSY","HNI","HFC","HOLX","HBCP","HOMB","HD","HOME","HLSS","HME","AWAY","HCII","HMST","HON","HOFT","HMN","HBNC","HZNP","HRZN","HRL","HOS","ZINC","HSP","HPT","HST","HOTT","HWCC","HOV","HHC","HSNI","HUBG","HUB.B","HCBK","HSON","HPP","HVB","HGSI","HUM","JBHT","HBAN","HII","HUN","HURC","HURN","H","IACI","IBKC","ICFI","ICGE","ICON","ICUI","IDA","IDIX","IEX","IDXX","IDT","IGTE","IRG","IHS","IIVI","ITW","ILMN","IMN","IMMR","IMUC","IMGN","IMMU","IPXL","IMPV","SAAS","INCY","IHC","INDB","directly.","INFN","INFI","IPCC","BLOX","INFA","IR","IMKTA","IM","INGR","IRC","INWK","INOD","IPHS","IOSP","IPHI","NSIT","NSP","IIIN","PODD","IART","INMD","IDTI","ISSI","TEG","INTC","IPAR","IBKR","ININ","ICE","IDCC","IFSIA","IBI","IN","IMI","ITMN","INAP","IBOC","IP","IRF","ISCA","IPG","INTX","ISIL","IILG","IVAC","IBM","INTL","IFF","IGT","ISH","IL","IPI","INTU","ISRG","IVC","INVN","SNAK","IVZ","IVR","ITG","ISBC","IRET","ITIC","IO","IPAS","IPCM","IPGP","IRDM","IRIS","IRBT","IRM","IRWD","ISIS","ISLE","ISRL","SFI","ITC","ITRI","ITT","ESI","XXIA","IXYS","JJSF","JCOM","JBL","JACK","JEC","JAKK","JMBA","JNS","JAH","JAZZ","JDAS","JDSU","JEF","JBLU","JIVE","JMP","JBT","JNJ","JCI","JOUT","JLL","JOSB","JRN","JOY","JPM","JNPR","LRN","KAI","KALU","KFFG","KAMN","KCLI","KSU","KS","KAR","KDN","KBH","KBR","KBW","KRNY","K","KELYA","KEM","KMPR","KNXA","KMT","KW","KERX","KEG","KTCC","KEY","KEYN","KEYW","KFRC","KRC","KBALB","KMB","KIM","KMI","KND","KIOR","KEX","KIRK","KITD","KRG","KLAC","KMG","KCG","KNX","VLCCF","KNL","KNOL","KOG","KCAP","KSS","KOPN","KOP","KFY","KOS","KFT","KRA","KTOS","KKD","KR","KRO","KSWS","KVHI","LLL","LZB","LH","LG","LTS","LBAI","LKFN","LRCX","LAMR","LANC","LDR","LNDC","LSTR","LCI","LPI","LVS","LHO","LSCC","LAYN","LAZ","LEAP","LF","LEA","LCRY","LM","LEG","LPS","LEN","LII","LUK","LVLT","LXRX","LXP","LXK","LHCG","LBY","LMCA","LBTYA","LINTA","LRY","LIFE","LTM","LPNT","LCUT","LWAY","LGND","LLY","LLNW","LTD","LMNR","TVL","LNCR","LINC","LECO","LNC","LNN","LLTC","LNKD","LIOX","LGF","LQDT","LAD","LFUS","LYV","LPSN","LKQ","LMIA","LMT","L","LOGM","LORL","LO","LPX","LOW","LPLA","LXU","LSI","LYTS","LTC","LTXC","LUB","LUFK","LL","LMNX","LMOS","LDL","LYB","MTB","MHO","MTSI","MAC","TUC","CLI","M","SHOO","MSG","MGLN","CALL","MHR","MHLD","MFB","MAIN","MSFG","MAKO","MANH","MTW","MN","MNKD","MAN","MANT","MAPP","MRO","MPC","MCHX","MCS","MPX","HZO","MKL","LEDR","MKTX","MRLN","MAR","VAC","MMC","MRTN","MSO","MLM","MRVL","MAS","MASI","MTZ","MA","MTDR","MTRN","MTRX","MAT","MATR","MATW","MFRM","MTSN","MXIM","MMS","MXL","MXWL","MAXY","MBFI","MBI","MNI","MKC","MDR","MCD","MUX","MCGC","MGRC","MHP","MCK","MMR","MDCA","MDC","MDU","MJN","MIG","MWV","MEAS","TAXI","MDAS","MPW","MDCO","MRX","MDSO","MED","MDVN","MEDW","MCC","MD","MTOX","MDT","MEET","WFR","MW","MENT","MBWM","MBVT","MRK","MRCY","MCY","MDP","MRGE","VIVO","EBSB","MMSI","MTH","MTOR","MACK","MLAB","MEA","MUSA","MEI","MET","MPR","METR","MCBI","PCS","MDF","MTD","MFA","MGEE","MTG","MGM","KORS","MCRL","MCHP","MFI","MU","MCRS","MSCC","MSFT","MSTR","MAA","MBRG","MIDD","MSEX","MSL","MPO","MDW","MOFG","MM","MILL","MLR","MSPD","MSA","MTX","MIPS","MSW","MG","MIND","MKSI","MODL","MINI","MOD","MLNK","MHK","MOLX","MOH","TAP","MCP","MNTA","MCRI","MGI","MNR","MPWR","TYPE","MNRO","MON","MNST","MWW","MRH","MCO","MOG.A","MS","MHGC","MORN","MOS","MOSY","MSI","MOV","MOVE","MRC","MSM","MSCI","MNTG","MTSC","MLI","MWA","LABL","MFLX","MGAM","MUR","MVC","MWIV","MYE","MYL","MYRG","MYGN","NBR","NC","NANO","NASB","NDAQ","NAFC","NATH","NAUH","NKSH","FIZZ","NCMI","NFP","NFG","NHI","NHC","NATI","NATL","NOV","NPBC","NPK","NRCI","NNN","NWLI","NSM","NGS","NATR","BABY","NAVB","NCI","NAVG","NAV","NBTB","NCS","NCR","NP","NKTR","NNI","NEOG","NEON","NPTN","NTAP","NFLX","NTGR","NTCT","NTSP","N","NBIX","NSR","IQNT","NJR","NMFC","NWY","NYB","NYMT","NYT","NWL","NFX","NLNK","NEU","NEM","NR","NEWP","NWSA","NEWS","NXST","NEE","NGPC","EGOV","NICK","NLSN","NIHD","NKE","NI","NL","NNBR","NBL","NOR","NAT","NDSN","JWN","NSC","NTK","NU","NOG","NTRS","NFBK","NRIM","NOC","NRF","NWBI","NWN","NWPX","NWE","an","NVAX","NPSP","NRG","NTLS","NUS","NUAN","NUE","NMRX","NUTR","NTRI","NUVA","NVE","NVEC","NVDA","NVR","NXTM","NYX","ORLY","OAS","OMPI","OXY","OII","OCFC","OCLR","OCN","OCZ","OMEX","ODP","OMX","OGE","ODC","OIS","ODFL","ONB","ORI","OLN","ZEUS","OMG","OFLX","OHI","OME","OMER","OABC","OCR","OMCL","OMC","OVTI","OMN","ASGN","ONNN","OGXI","ONTY","OLP","OB","OKE","ONXX","OPEN","information","OPK","OPLK","OPNT","OPY","OPTR","ORCL","OSUR","ORBC","ORB","OWW","OSH","TIS","OREX","OFG","OEH","ORN","ORIT","ORA","OFIX","OSK","OSIS","OSIR","OTTR","OUTD","OSG","OSTK","OMI","OC","OI","OXM","OYOG","PCCC","PFCB","PCAR","PACR","PACB","PCBC","PCBK","PMBC","PCRX","PKG","PACW","PTIE","PLL","PMTI","P","PNRA","PHX","PTRY","PZZA","PRX","PMTC","PZG","PRXL","PKE","PRK","PKOH","PSTB","PKD","PH","PRKR","PKY","PRE","PATK","PCX","PATR","PDCO","PTEN","PAYX","PCTI","PETD","PDFS","PDII","PDLI","BTU","PGC","PEB","PEET","PEGA","PCO","PENN","PVA","PNNT","JCP","PWOD","PEI","PMT","PAG","PNR","PEBO","PEOP","PBCT","PBY","POM","PEP","PRFT","PERF","PSEM","PKI","PTX","PRGO","PVSW","PETS","PQ","PETM","PFE","PCG","PGTI","PCYC","PMC","PHH","PHIIK","PM","PSX","PNX","PHMD","PLAB","PICO","PNY","PDM","PIR","PIKE","PPC","PNK","PNFP","PNW","PDC","PXD","PJC","PBI","PXP","PLT","PTP","PLXS","PCL","PLXT","PMCS","PMFG","PNC","PNM","PII","PLCM","POL","PPO","POOL","BPOP","PRAA","POR","POST","PPS","PCH","POWL","POWI","PWER","POZN","PPG","PPL","PX","PCP","PFBC","PLPC","PRXI","PGI","PLFE","PBH","PRGX","TROW","PCLN","PSMT","PRI","PRIM","PTGI","PFG","PVTB","PRA","PKT","PG","PGNX","PGN","PRGS","PGR","PLD","PFPT","PRO","PSEC","PB","PL","PRLB","PRSC","PFS","PROV","PBNY","PRU","PSB","PSSI","PSA","PEG","PHM","PVH","PZN","QADA","QEP","QGEN","QLIK","QLGC","QUAD","KWR","QCOM","QLTY","QSII","NX","PWR","QTM","DGX","QSFT","STR","QCOR","QUIK","KWK","QDEL","ZQK","QNST","RAX","RDN","RSH","RSYS","RA","RAS","RAH","RL","RMBS","RPT","RLOG","RRC","RPTP","RAVN","RJF","RYN","RTN","ROLL","RLOC","RDI","RLD","RNWK","RP","O","RHT","RLH","RRGB","RWT","RBC","RGC","REG","REGN","RM","RF","RGS","RGA","RS","RNR","RNST","REGI","RCII","RTK","RENT","RGEN","RPRX","RJET","RBCAA","RSG","RMD","REN","RFP","REXI","RSO","RECN","MKTG","ROIC","RPAI","RVM","REV","REX","REXX","RXN","RAI","RFMD","RELL","RIGL","RNET","RAD","RVBD","RLI","RLJ","RRTS","RBN","RHI","ROCM","RKT","RCKB","ROK","COL","RMTI","ROC","RSTI","ROG","ROL","ROMA","ROP","ROSE","RST","ROST","RNDY","RSE","ROVI","RDC","RCL","RGLD","RES","RPM","RPXC","RTIX","RTI","RBCN","RT","RTEC","RUE","RUSHA","list","is","Russell","RUTH","R","RYL","STBA","SYBT","SABA","SBRA","SFE","SAFT","SWY","SGA","SGNT","SAIA","SAI","SKS","SALM","CRM","SLXP","SBH","SN","SAFM","SNDK","SD","SASR","JBSS","SGMO","SANM","SNTS","SPNS","SAPE","SLE","SARA","SHS","BFS","SBAC","SCG","SCSC","SCBT","SGK","HSIC","SHF","SLB","SCHN","SCHL","SHLM","SCHW","SWM","SCLN","SGMS","SQI","STNG","SMG","SSP","SNI","SEB","SBX","SEAC","SBCF","CKH","BOX","SEE","ZZ","SHLD","SGEN","SEIC","SCSS","SIR","SEM","SIGI","SEMG","SRE","SMTC","SENEA","SNH","SXT","SQNM","SCI","SREV","SHAW","SHEN","SHW","SHLO","SFL","SCVL","SHOR","SHFL","SFLY","SIFI","BSRR","SIF","SIGA","SIAL","SIGM","SBNY","SIG","SLGN","SGI","SIMG","SLAB","SFNC","SPG","SSD","SBGI","SIRI","SIRO","SIX","SJW","SKX","SKH","SKUL","SKYW","SWKS","SLG","SLM","SM","SMBL","SWHC","AOS","SFD","SJM","SNA","LNCE","SLRC","SUNS","SWI","SZYM","SLH","SLTM","SOA","SAH","SONC","SON","SONS","BID","FIRE","SJI","SO","SCCO","SBSI","LUV","OKSB","SWX","SWN","SSS","CODE","LOV","SPAR","SPTN","SEH","SE","SPNC","SPB","SPPI","TRK","SPR","SAVE","SPLK","S","SPSC","SPW","SRSL","SSNC","JOE","STJ","STAA","STAG","SSI","STMP","SFG","SMSC","SMP","SPF","STAN","SXI","SWK","SPLS","CIGX","SBUX","HOT","STWD","STFC","STBZ","STT","STEC","STLD","SCS","SMRT","STNR","LVB","STEL","SCL","SRCL","STE","STL","STRL","STSA","STEI","STC","SF","SWC","SGY","SRI","STRI","SSYS","BEE","STRA","SYK","RGR","SCMP","SUBK","INN","SNBC","SUI","SUNH","SNHY","SXC","SNSS","SUN","SPWR","SRZ","SHO","STI","SMCI","SPN","SUP","SUPN","SUPX","SVU","SPRT","SURW","SRDX","SUSQ","SUSS","SIVB","SFY","SWFT","SWSH","SWS","SXCI","SCMR","SYKE","SYMC","SYA","SYMM","SMA","SYNC","GEVA","SYNA","SNCR","SGYP","SYRG","SNX","SNPS","SNV","SNTA","SYNT","SYUT","SYPR","SYY","SYX","TAHO","TTWO","TAL","TLB","SKT","TNGO","TRGP","TRGT","TGT","TASR","TCO","TAYC","TCB","TCPC","AMTD","TMH","TISI","TEA","TECD","TECH","TTGT","TE","TK","TNK","TRC","TDY","TFX","TNAV","TDS","TTEC","TLAB","WRLS","TPX","THC","TNC","TEN","TDC","TER","TEX","TRNO","TBNK","TESO","TSLA","TSO","TESS","TSRA","TTEK","TTI","TCBI","TXI","TXN","TXRH","TGH","TXT","TFSL","TGE","JNY","WEN","THRX","TMO","THR","organization.","prior","TCRD","TPGI","TRI","THO","THOR","THLD","TIBX","TICC","TDW","TIF","TLYS","TWC","TWX","TKR","TWI","TITN","TIE","TIVO","TJX","TMS","TNS","TOL","TMP","TR","TMK","TRNX","TTC","TSS","TWGP","TOWR","TW","TWER","CLUB","TOWN","TPCG","TSCO","TSPT","TDG","TRV","TZOO","TRR","TG","TREE","THS","TREX","TCAP","TPLM","TCBK","TRS","TRMB","TRN","TRIP","GTS","TQNT","TGI","TSRX","TRLG","TBI","TRST","TRMK","TRW","TTMI","TUES","TUMI","TUP","TPC","TWTC","TWIN","TWO","TYC","TYL","TSN","LCC","USG","USPH","SLCA","UBNT","UDR","UFPT","UGI","UIL","ULTA","ULTI","UCTT","UPL","UTEK","UMBF","UMH","UMPQ","UA","UFI","UNF","UNIS","UDRL","UBSH","UNP","UIS","UNT","UBSI","UCBI","UAL","UBNK","UFCS","UNFI","UNTD","UPS","URI","UAMY","USM","USLM","X","USTR","UTX","UTHR","UNH","UTL","UAM","UVV","PANL","UEIC","UFPI","UHT","UHS","UVE","USAP","UTI","UACL","UVSP","UNS","UNM","UPIP","URZ","UEC","URBN","URS","UBA","PRTS","USB","ECOL","USMO","USNA","UTMD","UTIW","VFC","EGY","MTN","VCI","VLO","VR","VLY","VMI","VAL","VALU","VCLK","VNDA","VHS","VTG","VNTV","VAR","VDSI","VASC","WOOF","VGR","VVC","VECO","VQ","VTR","VTUS","VRA","VSTM","PAY","VRNT","VRSN","VRSK","VZ","VRTX","VIAB","VVI","VSAT","VIAS","VICL","VICR","VPFG","VLGEA","VMED","VCBI","VHC","VPHM","VRTS","VRTU","V","VSH","VPG","VGZ","VPRT","VC","VITC","VSI","VVUS","VMW","VCRA","VOCS","VOLC","VLTR","VG","VNO","VOXX","VOG","VSEC","VMC","WTI","WNC","WBC","WAB","WDR","WAGE","WMT","WAG","WD","WLT","WAC","WRC","WCRX","WRES","WBCO","WAFD","WPO","WRE","WASH","WCN","WM","WAT","WSBF","WSO","WPI","WTS","WPP","WDFC","WWWW","WBMD","WBSN","WBS","WTW","WRI","WMK","WCG","WLP","WFC","WERN","WSBC","WAIR","WCC","WTBA","WCBO","WMAR","WST","WABC","WR","WSTL","WAL","WMC","WDC","WNR","WU","WFD","WLK","WLB","WWAY","WHG","WTSLA","WEYS","WY","WGL","WHR","WTM","WSR","WLL","WFM","JW.A","WG","CWEI","WMB","WSM","WLFC","WIBC","WIN","WINA","WGO","FUR","WTFC","WEC","WETF","WMS","WWW","WWD","WRLD","INT","WWE","WOR","WPX","WXS","WMGI","warranty.","WSFS","WYN","WYNN","XEL","XNPT","XRX","XLNX","XL","XOXO","XOMA","XPO","XYL","YHOO","YELP","YORW","YDNT","YUM","ZAGG","ZAZA","ZBRA","ZLTQ","ZEP","Z","ZMH","ZION","ZIOP","ZIP","ZIXI","ZGNX","ZOLT","ZUMZ","ZIGO","ZNGA"]

# Your New Python File
def get_sp500_symbols():
    return ["AAPL","MSFT","AMZN","TSLA","GOOGL","GOOG","FB","NVDA","BRK.B","JPM","JNJ","UNH","HD","PG","V","BAC","MA","PFE","XOM","DIS","CSCO","AVGO","ADBE","CVX","PEP","TMO","KO","ABBV","CMCSA","NFLX","ABT","ACN","COST","CRM","INTC","WFC","VZ","PYPL","WMT","QCOM","MRK","LLY","MCD","T","NKE","DHR","LOW","LIN","TXN","NEE","AMD","UNP","PM","INTU","UPS","HON","MS","MDT","BMY","AMAT","ORCL","SCHW","CVS","RTX","C","GS","AMGN","BLK","BA","CAT","IBM","SBUX","AMT","PLD","GE","ISRG","COP","TGT","ANTM","AXP","DE","MU","SPGI","MMM","NOW","BKNG","F","ADP","ZTS","LRCX","PNC","MDLZ","MO","ADI","GILD","LMT","SYK","GM","TFC","TJX","USB","CB","MMC","CSX","CCI","CME","DUK","CI","EL","CHTR","SHW","BDX","EW","MRNA","ICE","SO","FIS","ITW","NSC","CL","COF","ETN","EQIX","APD","FCX","FISV","REGN","TMUS","D","KLAC","PGR","BSX","FDX","ILMN","AON","HCA","WM","NOC","EOG","NXPI","MCO","EMR","VRTX","ADSK","JCI","ECL","PSA","EXC","SPG","DG","TEL","AIG","SLB","HUM","SNPS","ATVI","MET","NEM","INFO","APH","GD","BK","IQV","KMB","ROP","XLNX","PXD","CNC","MCHP","ORLY","CTSH","AEP","IDXX","CARR","CDNS","MPC","MAR","DOW","HPQ","TT","DLR","DXCM","PRU","A","MSCI","DD","GPN","LHX","SRE","AZO","BAX","APTV","MSI","CMG","PH","HLT","GIS","FTNT","SIVB","SYY","TRV","STZ","O","PAYX","EBAY","TROW","PPG","ADM","MCK","AFL","WBA","DFS","ALGN","ROK","WELL","YUM","PSX","STT","ROST","EA","AMP","IFF","XEL","RMD","SBAC","OTIS","FRC","CTVA","ALL","CBRE","CTAS","BIIB","MNST","WMB","AVB","MTCH","FAST","MTD","KEYS","KMI","FITB","VLO","TDG","CMI","KR","AJG","PEG","AME","PCAR","VRSK","DHI","NUE","SWK","DVN","WY","EQR","EFX","TWTR","EPAM","WEC","ANSS","AWK","OXY","ES","DLTR","LEN","ODFL","ED","BLL","ARE","CPRT","ANET","GLW","WTW","HSY","WST","ZBRA","NTRS","EXR","ALB","TSN","OKE","RSG","CERN","SYF","LUV","EXPE","LH","ZBH","KHC","CDW","DAL","VMC","TSCO","FTV","LYB","DOV","TER","MLM","HBAN","KEY","CHD","MAA","SWKS","HIG","HES","HAL","IT","URI","EIX","IR","RF","MKC","CFG","MTB","VFC","DTE","PPL","STE","BBY","BKR","AEE","HPE","PKI","DRE","FE","ESS","CLX","VRSN","STX","SBNY","ETR","GWW","VIAC","NDAQ","NTAP","ETSY","VTR","FANG","EXPD","WAT","ULTA","XYL","COO","WDC","POOL","FLT","RJF","ABC","GPC","GRMN","TDY","TYL","GNRC","PEAK","ENPH","IP","CE","NVR","KMX","PFG","TRMB","BR","AMCR","DRI","CTLT","CMS","MPWR","RCL","AKAM","CCL","VTRS","CINF","TTWO","BXP","CZR","HOLX","MGM","CTRA","DPZ","DGX","CRL","WAB","AVY","J","CNP","TXT","IEX","UDR","JBHT","EMN","K","OMC","MAS","CAG","PAYC","FDS","QRVO","BRO","AAP","LKQ","AES","SJM","UAL","TECH","NLOK","MOS","TFX","KIM","EVRG","BBWI","LNT","CAH","LYV","IPG","PWR","PHM","MRO","FMC","FBHS","CHRW","WHR","FFIV","CF","HRL","ABMD","ATO","INCY","MKTX","SEDG","BIO","IRM","HWM","CMA","HAS","PKG","LDOS","FOXA","HST","CBOE","LNC","RHI","L","WRK","AAL","JKHY","LVS","BF.B","APA","PTC","WRB","BWA","SNA","XRAY","REG","CTXS","CDAY","PNR","ZION","JNPR","RE","LUMN","ALLE","AOS","NI","TPR","HSIC","SEE","UHS","NRG","LW","MHK","GL","BEN","TAP","FRT","CPB","AIZ","PBCT","DISH","NWSA","NWL","WYNN","DXC","NCLH","IVZ","OGN","DISCK","PNW","HII","DVA","PENN","PVH","ROL","NLSN","VNO","ALK","IPGP","RL","FOX","DISCA","GPS","UAA","UA","NWS"]
def get_test_symbols():
    return ["AAPL","MSFT","AMZN","TSLA"]

# Your New Python File