def fv(*args): rate, nper, pmt, pv = args[0], args[1], args[2], 0 return scipy.fv(rate, nper, pmt, pv)
# -*- coding: utf-8 -*- """ Created on Tue Jul 28 22:22:27 2020 @author: yomer """ import scipy as sp # 미래가치 구하기 : 연금리 10%, 100달러 예금 2년 후 print(sp.fv(0.1, 2, 0, 100)) # 현재가치 구하기 : 금리1.45%, 횟수5, 미래가치 234 print(sp.pv(0.0145, 5, 0, 234))
""" Name : c10_01.py Book : Python for Finance (2nd ed.) Publisher: Packt Publishing Ltd. Author : Yuxing Yan Date : 6/6/2017 email : [email protected] [email protected] """ import scipy as ps pv = 100 APR = 0.08 rate = APR / 2.0 n = 2 nper = n * 2 fv = ps.fv(rate, nper, 0, pv) print(fv)
# 앞의 문제를 다시 보자. """ 년이자율 예시: 원금(현재가치) 1000을 년이자율 5%인 계좌에 5년 동안 저축했다고 하자. 이자가 1년에 한번 복리로 계산된다면 5년 후 이 저축계좌의 미래가치는 얼마 인가? """ import scipy as sp import numpy as np help(sp.fv) help(np.fv) pv = 1000 r = 0.05 n = 5 m = 1 FV_sp = sp.fv( r, n, 0, -pv ) # fv(rate, nper, pmt, pv, when='end') #NOTE pmt 중간에 현금흐름이 있는 경우 # when 기초 기준인가 기말기준 인가 # NOTE fv는 빠져나간다는 관점으로 Pv가 마이너스이다. print(FV_sp) FV_np = np.fv(r, n, 0, -pv) print(FV_np) #%% 앞서 직접 작성한 경우와 정확히 동일한 결과! """ 반기이자율 예시: 원금(현재가치) 1000원을 년이자율 5%인 계좌에 5년 동안 저축했다고 하자. 이자가 6개월에 한번 복리로 계산된다면 5년 후 이 저축계좌의 미래가치는 얼 마인가? """ pv = 1000 r = 0.05 n = 5 m = 2
import statsmodels.api as sm import networkx as nx from math import exp,sqrt %matplotlib inline #### 선물 #### #1 선물 기본가격계산 pv = 100 apr = 0.08 rate = apr /2 # semi annual 환산 n = 2 nper = n*2 #semi annual 환산 fv = sp.fv(rate, nper, 0, pv) print(fv) #2 exp와 주기 환산한 이자율 연속복리 구하기 rc = 2 * sp.log(1+0.04) print(sp.exp(rc/2)-1) #3 파운드와 미국 달러로 필요한 금액 구하기 amount = 5 r_foreign = 0.02 T = 3./12. exchangeRateToday = 1.25 #환율 poundToday = 5* sp.exp(-r_foreign*T) print("Pound needed today = ", poundToday)
def calc_cumu_ret(ret, v0, c): ret_list = ret.tolist() for r in ret_list: v0 = sp.fv(r, 1, -c, -v0) return (v0)
import scipy as sp n = float(raw_input('N = ')) iy = float(raw_input('I/Y = ')) pv = float(raw_input('PV = ')) pmt = float(raw_input('PMT = ')) fv = float(raw_input('FV = ')) sol = raw_input('Solve for (n,iy,pv,pmt,fv): ') if sol == "n": print("N = %f" % sp.nper(iy, pmt, pv, fv)) if sol == "iy": print("I/Y = %f" % sp.rate(n, pmt, pv, fv)) if sol == "pv": print("PV = %f" % sp.pv(iy, n, pmt, fv)) if sol == "pmt": print("PMT = %f" % sp.pmt(iy, n, pv, fv)) if sol == "fv": print("FV = %f" % sp.fv(iy, n, pmt, pv)) ''' print 'N = %f, ' % n print 'I/Y = %f, ' % iy print 'PV = %f, ' % pv print 'PMT = %f, ' % pmt print 'FV = %f, ' % fv '''
import scipy as sp ''' 每期利息率为:0.05 期数:1 每月等额收支:-600 初始投入:0 支付时点:begin 求:终值 ''' fv1 = sp.fv(0.05, 1, -600, 0,when='begin') print(fv1) ''' 缴纳养老金: 无初始投入 每月初存入固定金额 30*12个月后共有本息和多少 ''' fv2 = sp.fv(0.05/12,30*12,-600,0,when='begin') print(fv2)
Python 3.7.3 (v3.7.3:ef4ec6ed12, Mar 25 2019, 21:26:53) [MSC v.1916 32 bit (Intel)] on win32 Type "help", "copyright", "credits" or "license()" for more information. >>> import scipy as sp >>> sp.fv(.0025,25,0,5000) -5322.057184363162 >>> import scipy as sp >>> sp.pv(.0541/2,20,55,0,1) -863.7816463604273 >>> import scipy as sp >>> sp.pmt(.0312,5,2400) -525.8478442817194 >>>