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.41
Tracking Error
0.098
Treynor Ratio
0
Total Fees
$0.00
Estimated Strategy Capacity
$0
Lowest Capacity Asset
from datetime import datetime, timedelta
import json

class ExuberAlgorithm(QCAlgorithm):

    def Initialize(self):
        self.SetStartDate(2021, 5, 18)
        #self.AddEquity("SPY")
        self.symbol = self.AddData(Radf, "RADFDATA", Resolution.Minute, TimeZones.Utc).Symbol

    def OnData(self, data):
        self.Log(', '.join([f'{x}' for x in data.Values]))

class Radf(PythonData):
    
    def GetSource(self, config, date, isLive):
        date_argument = date.strftime("%Y%m%d%H%M%S")
        source = "http://207.154.227.4/alphar/radf_point?symbols=SPY&window=100&price_lag=1&use_log=1&time=minute&date=" + date_argument
        return SubscriptionDataSource(source, SubscriptionTransportMedium.RemoteFile)


    def Reader(self, config, line, date, isLive):
        index = Radf()
        index.Symbol = config.Symbol
        line = json.loads(line)[0]

        if isLive:
            index.EndTime = datetime.utcnow()
        else:
            index.EndTime = datetime.strptime(line['datetime'], '%Y-%m-%d %H:%M:%S')
            index.SetProperty('date_', str(date.strftime("%Y%m%d%H%M%S")))

        index.Time = index.EndTime - timedelta(minutes=1)
        index.Value = line['adf']
        index.SetProperty('adf', line['adf'])
        return index