def metrics(self, opttype, strike, expiry):
_optrow = _relevant_rows(self.data, (strike, expiry, opttype,),<EOL>"<STR_LIT>".format(expiry, strike, opttype))<EOL>_index = ['<STR_LIT>', '<STR_LIT>', '<STR_LIT>', '<STR_LIT>', '<STR_LIT>', '<STR_LIT>', '<STR_LIT>', '<STR_LIT>', '<STR_LIT>']<EOL>_out = pd.DataFrame(index=_index, columns=['<STR_LIT>'])<EOL>_out.loc['<STR_LIT>', '<STR_LIT>'] = _opt_price = _getprice(_optrow)<EOL>for _name in _index[<NUM_LIT:2>:]:<EOL><INDENT>_out.loc[_name, '<STR_LIT>'] = _optrow.loc[:, _name].values[<NUM_LIT:0>]<EOL><DEDENT>_eq_price = _out.loc['<STR_LIT>', '<STR_LIT>']<EOL>if opttype == '<STR_LIT>':<EOL><INDENT>_out.loc['<STR_LIT>'] = _get_put_time_val(_opt_price, strike, _eq_price)<EOL><DEDENT>else:<EOL><INDENT>_out.loc['<STR_LIT>'] = _get_call_time_val(_opt_price, strike, _eq_price)<EOL><DEDENT>return _out<EOL>
Basic metrics for a specific option.

Parameters
----------
opttype : str ('call' or 'put')
strike : numeric
    Strike price.
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
-------
out : :class:`pandas.DataFrame`