我们从Python开源项目中,提取了以下28个代码示例,用于说明如何使用numpy.fv()。
def fuli(self): d1 = [np.fv(0.2, i, -1.4, -1.4) for i in range(1, 40)] # print d1 d2 = [np.fv(0.15, i, -1.4, -1.4) for i in range(1, 40)] d3 = [np.fv(0.1, i, -1.4, -1.4) for i in range(1, 40)] d4 = [np.fv(0.05, i, -1.4, -1.4) for i in range(1, 40)] df = pd.DataFrame(columns=['d1','d2','d3','d4']) df['d1']=d1 df['d2']=d2 df['d3']=d3 df['d4']=d4 #print df.tail() #df.plot() #plt.show() # #plt.savefig('data/fv1.png') #self.plot_style(df) self.style_color(df)
def generate_price_df(ticker,financialreportingdf,stockpricedf,discountrate,marginrate): dfprice = pd.DataFrame(columns =['ticker','annualgrowthrate','lasteps','futureeps']) pd.options.display.float_format = '{:20,.2f}'.format # Find EPS Annual Compounded Growth Rate annualgrowthrate = financialreportingdf.epsgrowth.mean() #growth rate # Estimate stock price 10 years from now (Stock Price EPS * Average PE) lasteps = financialreportingdf.eps.tail(1).values[0] #presentvalue years = 10 #period futureeps = abs(np.fv(annualgrowthrate,years,0,lasteps)) dfprice.loc[0] = [ticker,annualgrowthrate,lasteps,futureeps] dfprice.set_index('ticker',inplace=True) dfprice['lastshareprice']=stockpricedf.Close.tail(1).values[0] dfprice['peratio'] = dfprice['lastshareprice']/dfprice['lasteps'] dfprice['futureshareprice'] = dfprice['futureeps']*dfprice['peratio'] dfprice['presentshareprice'] = abs(np.pv(discountrate,years,0,fv=dfprice['futureshareprice'])) dfprice['marginalizedprice'] = dfprice['presentshareprice']*(1-marginrate) return dfprice
def test_fv(self): assert_almost_equal(np.fv(0.075, 20, -2000, 0, 0), 86609.36, 2)
def plot_style(self,data): for xss in plt.style.available: print xss plt.style.use(xss) data.plot() #plt.show() plt.savefig('data\\'+xss+'fv.png')
def accumulated_moniterized(self): rate = self.real_gain() duration = self.protection_manager.financial_planning.duration() value_annual = self.value_annual * -1 accumulated = self.accumulated * -1 total_value_moniterized = numpy.fv(rate, duration, value_annual, accumulated) return total_value_moniterized
def _rbl(rate, per, pmt, pv, when): """ This function is here to simply have a different name for the 'fv' function to not interfere with the 'fv' keyword argument within the 'ipmt' function. It is the 'remaining balance on loan' which might be useful as it's own function, but is easily calculated with the 'fv' function. """ return fv(rate, (per - 1), pmt, pv, when)
def ppmt(rate, per, nper, pv, fv=0.0, when='end'): """ Compute the payment against loan principal. Parameters ---------- rate : array_like Rate of interest (per period) per : array_like, int Amount paid against the loan changes. The `per` is the period of interest. nper : array_like Number of compounding periods pv : array_like Present value fv : array_like, optional Future value when : {{'begin', 1}, {'end', 0}}, {string, int} When payments are due ('begin' (1) or 'end' (0)) See Also -------- pmt, pv, ipmt """ total = pmt(rate, nper, pv, fv, when) return total - ipmt(rate, per, nper, pv, fv, when)
def rate(nper, pmt, pv, fv, when='end', guess=0.10, tol=1e-6, maxiter=100): """ Compute the rate of interest per period. Parameters ---------- nper : array_like Number of compounding periods pmt : array_like Payment pv : array_like Present value fv : array_like Future value when : {{'begin', 1}, {'end', 0}}, {string, int}, optional When payments are due ('begin' (1) or 'end' (0)) guess : float, optional Starting guess for solving the rate of interest tol : float, optional Required tolerance for the solution maxiter : int, optional Maximum iterations in finding the solution Notes ----- The rate of interest is computed by iteratively solving the (non-linear) equation:: fv + pv*(1+rate)**nper + pmt*(1+rate*when)/rate * ((1+rate)**nper - 1) = 0 for ``rate``. References ---------- Wheeler, D. A., E. Rathke, and R. Weir (Eds.) (2009, May). Open Document Format for Office Applications (OpenDocument)v1.2, Part 2: Recalculated Formula (OpenFormula) Format - Annotated Version, Pre-Draft 12. Organization for the Advancement of Structured Information Standards (OASIS). Billerica, MA, USA. [ODT Document]. Available: http://www.oasis-open.org/committees/documents.php?wg_abbrev=office-formula OpenDocument-formula-20090508.odt """ when = _convert_when(when) (nper, pmt, pv, fv, when) = map(np.asarray, [nper, pmt, pv, fv, when]) rn = guess iter = 0 close = False while (iter < maxiter) and not close: rnp1 = rn - _g_div_gp(rn, nper, pmt, pv, fv, when) diff = abs(rnp1-rn) close = np.all(diff < tol) iter += 1 rn = rnp1 if not close: # Return nan's in array of the same shape as rn return np.nan + rn else: return rn