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 -9.342 Tracking Error 0.137 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("SPY", SecurityType.Equity, Market.USA) ] self.SetUniverseSelection( ManualUniverseSelectionModel(symbols) ) self.UniverseSettings.Resolution = Resolution.Daily self.SetAlpha(MyAlpha()) class MyAlpha(AlphaModel): list_by_symbol = {} symbol_data_by_symbol = {} def Update(self, algorithm, data): for symbol, symbol_data in self.symbol_data_by_symbol.items(): symbol_data.get_list() symbol_data.pass_list(self.list_by_symbol[symbol]) return [] def OnSecuritiesChanged(self, algorithm, changes): for security in changes.AddedSecurities: symbol = security.Symbol data = 1.0 self.list_by_symbol[symbol] = [data] algorithm.ObjectStore.Save(str(symbol), json.dumps([data])) self.symbol_data_by_symbol[symbol] = SymbolData(symbol, self, algorithm) class SymbolData: def __init__(self, symbol, alpha, algorithm): self.symbol = symbol self.alpha = alpha self.algorithm = algorithm def get_list(self): self.algorithm.Log(f"Get list via alpha: {self.alpha.list_by_symbol[self.symbol]}") self.algorithm.Log(f"Get list via ObjectStore: {json.loads(self.algorithm.ObjectStore.Read(self.symbol))}") def pass_list(self, lst): self.algorithm.Log(f"List passed to SymbolData: {lst}")