<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def get(eqprice, callprice, strike, shares=1, buycomm=0., excomm=0., dividend=0.):
 """ Metrics for covered calls. Parameters eqprice : float Price at which stock is purchased. callprice : float Price for which call is sold. strike : float Strike price of call sold. shares : int, optional Number of shares of stock. Defaults to 1. buycomm : float, optional Commission paid on total initial purchase. excomm : float optional Commission to be paid if option is exercised. dividend : float, optional Total dividends per share expected between purchase and expiration. Returns metrics : :class:`pandas.DataFrame` Investment metrics Notes ----- Cf. Lawrence McMillan, Options as a Strategic Investment, 5th ed., p. 43 """

    _index = ['Eq Cost', 'Option Premium', 'Commission', 'Total Invested', 'Dividends', 'Eq if Ex', 
            'Comm if Ex', 'Profit if Ex', 'Ret if Ex', 'Profit if Unch', 'Ret if Unch', 'Break_Even Price',
            'Protection Pts', 'Protection Pct']
    _metrics = pd.DataFrame(index=_index, columns=['Value'])
    _shares = float(shares)
    _dividends = _shares * dividend
    _metrics.loc['Eq Cost', 'Value'] = _eqcost = _shares * eqprice
    _metrics.loc['Option Premium', 'Value'] = _optprem = _shares * callprice
    _metrics.loc['Commission', 'Value'] = float(buycomm)
    _metrics.loc['Total Invested', 'Value'] = _invested = _eqcost - _optprem + buycomm
    _metrics.loc['Dividends', 'Value'] = _dividends
    _metrics.loc['Eq if Ex', 'Value'] = _eqsale = strike * _shares
    _metrics.loc['Comm if Ex', 'Value'] = float(excomm)
    _metrics.loc['Profit if Ex', 'Value'] = _profitex = _eqsale + _dividends - _invested - excomm
    _metrics.loc['Ret if Ex', 'Value'] = round(_profitex / _invested, _constants.NDIGITS_SIG)
    _metrics.loc['Profit if Unch', 'Value'] = _profitunch = _eqcost + _dividends - _invested
    _metrics.loc['Ret if Unch', 'Value'] = round(_profitunch / _invested, _constants.NDIGITS_SIG)
    _metrics.loc['Break_Even Price', 'Value'] = _breakeven = round((_invested - _dividends) / _shares, 
            _constants.NDIGITS_SIG)
    _metrics.loc['Protection Pts', 'Value'] = _protpts = eqprice - _breakeven
    _metrics.loc['Protection Pct', 'Value'] = round(_protpts / eqprice, _constants.NDIGITS_SIG)
    return _metrics