Expected Behavior
Subscribing an option at a finer resolution than its already-subscribed underlying should throw or warn, since IV/Greeks are computed from the underlying's last price.
Actual Behavior
equity = self.add_equity("SPY", Resolution.DAILY)
self.add_option_contract(contract, Resolution.MINUTE)
is accepted silently. The contract's IV/Greeks update all session against the underlying's stale daily price, so they're quietly wrong.
Potential Solution
When adding an option whose underlying is already subscribed at a coarser resolution: throw, warn, or auto-add an internal underlying subscription at the option's resolution (like add_option_contract already does when the underlying is missing).
Reproducing the Problem
Run the two lines of code above in a QC algorithm
System Information
QC Cloud
Checklist
Expected Behavior
Subscribing an option at a finer resolution than its already-subscribed underlying should throw or warn, since IV/Greeks are computed from the underlying's last price.
Actual Behavior
is accepted silently. The contract's IV/Greeks update all session against the underlying's stale daily price, so they're quietly wrong.
Potential Solution
When adding an option whose underlying is already subscribed at a coarser resolution: throw, warn, or auto-add an internal underlying subscription at the option's resolution (like add_option_contract already does when the underlying is missing).
Reproducing the Problem
Run the two lines of code above in a QC algorithm
System Information
QC Cloud
Checklist
masterbranch