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
-6.514
Tracking Error
0.126
Treynor Ratio
0
Total Fees
$0.00
import json

class HorizontalVerticalAntennaArray(QCAlgorithm):

    def Initialize(self):
        self.SetStartDate(2020, 11, 3)  # Set Start Date
        self.SetCash(100000)  # Set Strategy Cash
        
        symbols = [Symbol.Create(x, SecurityType.Equity, Market.USA) for x in ['IBM','AAPL','AIG']]
        #symbols = [ Symbol.Create("SPY", SecurityType.Equity, Market.USA) ]
        self.SetUniverseSelection( ManualUniverseSelectionModel(symbols) )
        #self.AddUniverseSelection(FineFundamentalUniverseSelectionModel(self.SelectCoarse, self.SelectFine))
        
        self.UniverseSettings.Resolution = Resolution.Daily
        
        self.SetAlpha(MyAlpha())
        
    def SelectCoarse(self, coarse):
        tickers = ["AAPL", "AIG", "IBM"]
        return [Symbol.Create(x, SecurityType.Equity, Market.USA) for x in tickers]
    
    def SelectFine(self, fine):
        return [f.Symbol for f in fine] 
    

class MyAlpha(AlphaModel):
    
    def __init__(self, *args, **kwargs):

         self.list_by_symbol = {}
         self.symbol_data_by_symbol = {}
         self.symbolName = ''
        
    def Update(self, algorithm, data):
        #algorithm.Log(type(self.symbol_data_by_symbol.items()))
        for symbol, symbol_data in self.symbol_data_by_symbol.items():
            symbol_data.pass_list(symbol)
        return []
        
    def OnSecuritiesChanged(self, algorithm, changes):
        #algorithm.Log(changes.AddedSecurities[0])
        for security in changes.AddedSecurities:
            symbol = security.Symbol
            #if symbol == changes.AddedSecurities[0]:
            #self.list_by_symbol[symbol] = symbol
            self.symbol_data_by_symbol[symbol] = SymbolData(symbol,self,algorithm)
            
        self.symbolName = symbol  
                    
class SymbolData:
    def __init__(self, symbol, alpha, algorithm):
        self.symbol = symbol
        self.alpha = alpha
        self.algorithm = algorithm
    
    def pass_list(self, lst):
        self.algorithm.Log(f"List passed to SymbolData: {lst}")