code: def exps(self, opttype, strike):
          
          _relevant = _relevant_rows(self.data, (strike, slice(None), opttype,),
                  "No key for {} {}".format(strike, opttype))
          _index = _relevant.index.get_level_values('Expiry')
          _columns = ['Price', 'Time_Val', 'Last', 'Bid', 'Ask', 'Vol', 'Open_Int']
          _df = pd.DataFrame(index=_index, columns=_columns)
          _eq = _relevant.loc[:, 'Underlying_Price'].values[0]
          _qt = pd.to_datetime(_relevant.loc[:, 'Quote_Time'].values[0], utc=True).to_datetime()
          for _col in _columns[2:]:
              _df.loc[:, _col] = _relevant.loc[:, _col].values
          _df.loc[:, 'Price'] = (_df.loc[:, 'Bid'] + _df.loc[:, 'Ask']) / 2.
          _set_tv_other_ix(_df, opttype, 'Price', 'Time_Val', _eq, strike)
          return _df, _eq, _qt
docs: Prices for given strike on all available dates.
  
          Parameters
          ----------
          opttype : str ('call' or 'put')
          strike : numeric
  
          Returns
          ----------
          df : :class:`pandas.DataFrame`
          eq : float
              Price of underlying.
          qt : :class:`datetime.datetime`
              Time of quote.
  
          See Also
          --------
          :meth:`strikes`