I've written this class to parse UCITS ETF data from Yahoo Finance, but I get the following error trying to do a backtest, what's wrong?

class UcitsEtf(PythonData):
    def __init__(self, start_date):
        self.start_date = start_date

    def GetSource(self, config, date, isLiveMode):
        ticker = config.Symbol.Value  
        start = int(time.mktime(datetime.strptime(self.start_date, "%Y-%m-%d").timetuple())) 
        end = int(time.time()) 
        url = f"https://query1.finance.yahoo.com/v7/finance/download/{ticker}?period1={start}&period2={end}&interval=1d&events=history&includeAdjustedClose=true"
        return SubscriptionDataSource(url, SubscriptionTransportMedium.RemoteFile)

    def handle_nulls(self, df):
        df.replace("null", np.nan, inplace=True) 
        df.fillna(df.rolling(2, min_periods=1).mean(), inplace=True) 
        return df

    def Reader(self, config, line, date, isLiveMode):
        index = UcitsEtf(self.start_date)
        index.Symbol = config.Symbol

        try:
            data = line.split(',')
            if data[0] == "Date":  
                return None
            data = self.handle_nulls(pd.DataFrame(data[1:], columns=["open", "high", "low", "close", "adj_close", "volume"])) 
            index.Time = datetime.strptime(data[0], "%Y-%m-%d")
            index.EndTime = index.Time + timedelta(days=1)
            index.Value = decimal.Decimal(data["close"])  
            index["open"] = float(data["open"])
            index["high"] = float(data["high"])
            index["low"] = float(data["low"])
            index["close"] = float(data["close"])
            index["adj_close"] = float(data["adj_close"])
            index["volume"] = int(data["volume"])
        except Exception as e:          
            print(f"Error: {line}")
            print(f"Exception: {e}")
            return None

        return index
self.TEST = self.AddData(UcitsEtf("01-01-2022"), "XS2L.MI", Resolution.Daily).Symbol
Error Message
During the algorithm initialization, the following exception has occurred: Index was outside the bounds of the array.
  at Initialize
    self.TEST = self.AddData(UcitsEtf("01-01-2022") in main.py: line 84
 Index was outside the bounds of the array.