from AlgorithmImports import *
from datetime import datetime, timedelta
class ATMIronButterflyAlgo(QCAlgorithm):
    def Initialize(self):
        self.SetStartDate(2022, 1, 1)
        self.SetEndDate(2022, 3, 31)
        self.SetCash(1000000)
        self.spxw = self.AddIndex("SPXW", Resolution.Minute)
        self.option = self.AddIndexOption("SPXW", Resolution.Minute)
        self.option.SetFilter(timedelta(0), timedelta(7))
        self.Schedule.On(self.DateRules.EveryDay(), 
                         self.TimeRules.At(15, 00), 
                         self.checkEntry)

    def checkEntry(self):
        currentPrice = self.Securities[self.spx.Symbol].Price
        chain = self.OptionChain(self.option.Symbol, flatten=True)
        if not chain: 
            self.log("no chain")
            return
        self.log(f"Underlying price from chain: {chain.Underlying.Price}")

Why doesn't chain.Underlying.Price work with the schdeule.on() callback? The debug log says 0.0.