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

    def Initialize(self):
        self.SetStartDate(2020, 8, 1)  # Set Start Date
        self.SetCash(100000)  # Set Strategy Cash
        
        self.UniverseSettings.Resolution = Resolution.Hour
        self.AddUniverse(self.Universe.DollarVolume.Top(3))
        self.symbol_data_by_symbol = {}
        
        self.schedule_symbol = self.AddEquity("SPY", Resolution.Hour).Symbol
        
        self.Schedule.On(self.DateRules.EveryDay("SPY"), self.TimeRules.BeforeMarketClose("SPY", 60), self.update_symbol_datas)
        self.Schedule.On(self.DateRules.EveryDay("SPY"), self.TimeRules.BeforeMarketClose("SPY", 10), self.trade)

    def update_symbol_datas(self):
        # Fetch history of SymbolData objects
        symbols = list(self.symbol_data_by_symbol.keys())
        history = self.History(symbols, 6, Resolution.Hour)
        self.Log(f"History:\n{history.to_string()}")
        self.Quit()
        
        # Update symboldata objects with intraday returns
        pass

    def trade(self):
        # Place trades
        pass
        
    def OnSecuritiesChanged(self, changes):
        for security in changes.AddedSecurities:
            symbol = security.Symbol
            if symbol == self.schedule_symbol:
                continue
            self.symbol_data_by_symbol[symbol] = SymbolData()
            self.Log(f"Adding {symbol}")
    
class SymbolData:
    def Update(self, data):
        # Update internal indicators
        pass