BUG: Fix conditional for underlying price in io.data.options.

Refactor and regression test.

Fixes #7685
this is always True, a comparison to nan allways fails, use ``np.isnan(underlying_price)``