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.74 Tracking Error 0.141 Treynor Ratio 0 Total Fees $0.00 Estimated Strategy Capacity $0 Lowest Capacity Asset |
# region imports from AlgorithmImports import * class Algorithm(QCAlgorithm): def Initialize(self): self.SetStartDate(2010, 12, 30) # Set Start Date self.SetEndDate(2022, 4, 21) self.SetCash(1000000) # Set Strategy Cash self.spy = self.AddEquity('SPY' , Resolution.Daily).Symbol self.SetBenchmark(self.spy) # Adding Custom Data # The resolution will tell us how often the algorithm calls the custom data self.symbol = self.AddData(HeliosPropData, "HLOS", Resolution.Daily).Symbol # You have to specify a random ticker symbol for your data like "MUSKTWTS" def OnData(self, data): '''onPropData = data.ContainsKey(self.symbol).Value self.Log("Data Added " + str(onPropData) + "!!")''' if data.ContainsKey(self.symbol): value = data[self.symbol].Value self.Log("Data Added: " + str(value)) '''if self.symbol in data: alpha_score = data[self.symbol].Value self.Log("Added Value: " + str(alpha_score))''' # This class is no longer a part of the QCAlgorithm Class so you won't be able to access the helper methods class HeliosPropData(PythonData): def GetSource(self, config, date, isLive): source = "https://raw.githubusercontent.com/sankalpbhatia20/helios-quantconnect/main/SP500_30.csv?token=GHSAT0AAAAAAB2JTI44V5U2TCVKS3SWCARGY2VVZUA" return SubscriptionDataSource(source, SubscriptionTransportMedium.RemoteFile) def Reader(self, config, line, date, isLive): if not (line.strip() and line[0].isdigit()): return None data = line.split(',') prop_data = HeliosPropData() try: prop_data.Symbol = config.Symbol prop_data.Time = datetime.strptime(data[0] , '%Y-%m-%d') # Can lead to look-ahead bias prop_data.Value = float(data[1]) # Always a decimal value #self.Log(str(float(data[1]))) except ValueError: return None return prop_data