I am adding options to universe like this:

option = self.AddOption("AAPL", Resolution.Minute)

I want to filter options by the Strike relatively, e.g. +/- 10% of current price, I am trying to do something like this:

strike_dist = ceil(security.Price * 0.1 / option.StrikePrice)
option.SetFilter(minStrike=-strike_dist, maxStrike=strike_dist)

However, when I check in runtime, option.StrikePrice is 0, probably because there was no data loaded yet. So not sure how can I implement something like this here. I should I wait till I get any data first and call SetFilter? But this way filters may get wrong contracts for me until I do the rproper call. And in general this would result in quite messy code.