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.757
Tracking Error
0.07
Treynor Ratio
0
Total Fees
$0.00
class ResistanceMultidimensionalGearbox(QCAlgorithm):

    def Initialize(self):
        self.SetStartDate(2021, 2, 20)  # Set Start Date
        self.SetCash(100000)  # Set Strategy Cash
        
        tickers = ["AAPL", "AIG", "IBM"]
        symbols = [Symbol.Create(x, SecurityType.Equity, Market.USA) for x in tickers]
        
        self.AddUniverseSelection(QC500UniverseSelectionModel())
        self.AddUniverseSelection(ManualUniverseSelectionModel(symbols))

        self.AddAlpha(MyAlphaModel())
        self.AddAlpha(MyAlphaModel2())
        
class MyAlphaModel:
    def Update(self, algorithm, data):
        for kvp in algorithm.UniverseManager:
            universe = kvp.Value
            if 'MANUAL' in kvp.Key.Value:
                for kvp2 in universe.Members:
                    symbol = kvp2.Key
                    security = kvp2.Value
                    algorithm.Debug(f'Manual: {symbol}')
                    break
            else:
                for kvp2 in universe.Members:
                    symbol = kvp2.Key
                    security = kvp2.Value
                    algorithm.Debug(f'QC500: {symbol}')
                    break
       
        return []

    def OnSecuritiesChanged(self, algorithm, changes):
        pass
    
class MyAlphaModel2:
    def Update(self, algorithm, data):
        for kvp in algorithm.UniverseManager:
            universe = kvp.Value
            if 'MANUAL' in kvp.Key.Value:
                for kvp2 in universe.Members:
                    symbol = kvp2.Key
                    security = kvp2.Value
                    break
            else:
                for kvp2 in universe.Members:
                    symbol = kvp2.Key
                    security = kvp2.Value
                    break
       
        return []

    def OnSecuritiesChanged(self, algorithm, changes):
        pass