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
-8.635
Tracking Error
0.091
Treynor Ratio
0
Total Fees
$0.00
Estimated Strategy Capacity
$0
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.symbol = self.AddData(Radf, "RADFDATA", Resolution.Hour).Symbol

    def OnData(self, data):
        if not data.ContainsKey(self.symbol):
            self.Log(f'Not ready')
            return
        if data.ContainsKey(self.symbol):
            self.Log(f'Data Received. Value: {data[self.symbol].Value}. adf: {data[self.symbol].GetProperty("adf")}')

class Radf(PythonData):

    def GetSource(self, config, date, isLive):
        source = "http://207.154.227.4/alphar/radf_point?symbols=AAPL&date=2021-01-01&window=100&price_lag=1&use_log=1&dl=1"
        return SubscriptionDataSource(source, SubscriptionTransportMedium.RemoteFile)


    def Reader(self, config, line, date, isLive):
        index = Radf()
        index.Symbol = config.Symbol
        
        line = json.loads(line)[0]
        index.Time = datetime.strptime(line['datetime'], '%Y-%m-%d %H:%M:%S')
        index.Value = 1.0  # Random value
        index.SetProperty('adf', line['adf'])
        
        
        return index