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
-1.897
Tracking Error
0.367
Treynor Ratio
0
Total Fees
$0.00
class TransdimensionalTachyonContainmentField(QCAlgorithm):

    def Initialize(self):
        self.SetStartDate(2020, 3, 14)  # Set Start Date
        self.SetCash(100000)  # Set Strategy Cash
        
        custom_classes = [GoldPhys, SilverPhys]
        custom_tickers = ['IGLN.L', 'SILVERPRICE']
        
        for cust_class, ticker in zip(custom_classes, custom_tickers):
            self.AddData(cust_class, ticker, Resolution.Daily)

    def OnData(self, data):
        '''OnData event is the primary entry point for your algorithm. Each new data point will be pumped in here.
            Arguments:
                data: Slice object keyed by symbol containing the stock data
        '''

        # if not self.Portfolio.Invested:
        #    self.SetHoldings("SPY", 1)
        
class GoldPhys(PythonData):
    '''IGLN.L Custom Data Class'''
    def GetSource(self, config, date, isLiveMode):
        return SubscriptionDataSource("https://www.dropbox.com/s/????????/IGLN.csv?dl=1", SubscriptionTransportMedium.RemoteFile)


    def Reader(self, config, line, date, isLiveMode):
        if not (line.strip() and line[0].isdigit()): return None

        # New GoldPhys object
        gold = GoldPhys()
        gold.Symbol = config.Symbol

        try:
            # Example File Format:
            # Date,       Open       High        Low       Close     Volume      
            # 2011-09-13  7792.9    7799.9     7722.65    7748.7    116534670    
            data = line.split(',')
            gold.Time = datetime.strptime(data[0], "%Y-%m-%d")
            gold.Value = data[4]
            gold["open"] = float(data[1])
            gold["high"] = float(data[2])
            gold["low"] = float(data[3])
            gold["close"] = float(data[4])
        


        except ValueError:
                # Do nothing
                return None

        return gold
        
class SilverPhys(PythonData):
    '''IGLN.L Custom Data Class'''
    def GetSource(self, config, date, isLiveMode):
        return SubscriptionDataSource("https://www.dropbox.com/s/????????/IGLN.csv?dl=1", SubscriptionTransportMedium.RemoteFile)


    def Reader(self, config, line, date, isLiveMode):
        if not (line.strip() and line[0].isdigit()): return None

        # New GoldPhys object
        gold = SilverPhys()
        gold.Symbol = config.Symbol

        try:
            # Example File Format:
            # Date,       Open       High        Low       Close     Volume      
            # 2011-09-13  7792.9    7799.9     7722.65    7748.7    116534670    
            data = line.split(',')
            gold.Time = datetime.strptime(data[0], "%Y-%m-%d")
            gold.Value = data[4]
            gold["open"] = float(data[1])
            gold["high"] = float(data[2])
            gold["low"] = float(data[3])
            gold["close"] = float(data[4])
        


        except ValueError:
                # Do nothing
                return None

        return gold