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.157 Tracking Error 0.181 Treynor Ratio 0 Total Fees $0.00 Estimated Strategy Capacity $0 Lowest Capacity Asset |
from clr import AddReference AddReference("System.Core") AddReference("QuantConnect.Common") AddReference("QuantConnect.Algorithm") from System import * from QuantConnect import * from QuantConnect.Algorithm import QCAlgorithm from QuantConnect.Data import SubscriptionDataSource from QuantConnect.Python import PythonData from datetime import datetime, timedelta import json class ExuberAlgorithm(QCAlgorithm): def Initialize(self): self.SetStartDate(2021, 5, 1) self.AddEquity('SPY', Resolution.Hour) CustomDataSource.set_algo(self) self.symbol = self.AddData(CustomDataSource, "CustomDataSource", Resolution.Hour).Symbol def OnData(self, data): if data.ContainsKey(self.symbol): self.Log(f'Data Received. Value: {data[self.symbol].Value}') class CustomDataSource(PythonData): algo = None @staticmethod def set_algo(algo): CustomDataSource.algo = algo def GetSource(self, config, date, isLive): CustomDataSource.algo.Log(f"GetSource at {CustomDataSource.algo.Time} {date}") source = "https://www.dropbox.com/s/93f6dz8yqh8vr62/custom-data-test.csv?dl=1" return SubscriptionDataSource(source, SubscriptionTransportMedium.RemoteFile) def Reader(self, config, line, date, isLive): index = CustomDataSource() index.Symbol = config.Symbol data = line.split(',') index.Time = datetime.strptime(data[0], '%m/%d/%Y %H:%M') CustomDataSource.algo.Log(f"Reader at {CustomDataSource.algo.Time}") index.Value = 1.0 # Random value return index