def strikes(self, opttype, expiry):
_relevant = _relevant_rows(self.data, (slice(None), expiry, opttype,),<EOL>"<STR_LIT>".format(expiry, opttype))<EOL>_index = _relevant.index.get_level_values('<STR_LIT>')<EOL>_columns = ['<STR_LIT>', '<STR_LIT>', '<STR_LIT>', '<STR_LIT>', '<STR_LIT>', '<STR_LIT>', '<STR_LIT>']<EOL>_df = pd.DataFrame(index=_index, columns=_columns)<EOL>_underlying = _relevant.loc[:, '<STR_LIT>'].values[<NUM_LIT:0>]<EOL>_quotetime = pd.to_datetime(_relevant.loc[:, '<STR_LIT>'].values[<NUM_LIT:0>], utc=True).to_datetime()<EOL>for _col in _columns[<NUM_LIT:2>:]:<EOL><INDENT>_df.loc[:, _col] = _relevant.loc[:, _col].values<EOL><DEDENT>_df.loc[:, '<STR_LIT>'] = (_df.loc[:, '<STR_LIT>'] + _df.loc[:, '<STR_LIT>']) / <NUM_LIT><EOL>_set_tv_strike_ix(_df, opttype, '<STR_LIT>', '<STR_LIT>', _underlying)<EOL>return _df, _underlying, _quotetime<EOL>
Retrieve option prices for all strikes of a given type with a given expiration.

Parameters
----------
opttype : str ('call' or 'put')
expiry : date-like
    Expiration date. Can be a :class:`datetime.datetime` or
    a string that :mod:`pandas` can interpret as such, e.g.
    '2015-01-01'.

Returns
----------
df : :class:`pandas.DataFrame`
eq : float
    Price of underlying.
qt : datetime.datetime
    Time of quote.

See Also
--------
:meth:`exps`