|
|
| (사용자 2명의 중간 판 5개는 보이지 않습니다) |
| 1번째 줄: |
1번째 줄: |
| '''디지털금융([[Digital Finance]])'''은 경영학전공 4학년을 대상으로 재무관리, 투자론 및 기업재무 등 재무금융 분야 교과목에서 배운 이론을 기초적인 [[파이썬|파이썬(Python)]] 프로그래밍 언어를 활용하여 실무적으로 숙달, 응용하는 강좌이다. | | '''디지털금융([[Digital Finance]])'''은 경영학전공 4학년을 대상으로 재무관리, 투자론 및 기업재무 등 재무금융 분야 교과목에서 배운 이론을 기초적인 [[파이썬|파이썬(Python)]] 프로그래밍 언어를 활용하여 실무적으로 숙달, 응용하는 강좌이다. |
|
| |
|
| = 파이썬 기초 = | | == 파이썬 기초 == |
| * while 반복문
| |
|
| |
|
| def savings_fixed(cf, r, t):
| | * [[반복문]] |
|
| |
|
| total = 0.0
| | == 화폐의 시간가치 == |
| i = 1
| |
| while(i <= t):
| |
| total += cf * (1 + r) ** i
| |
| i += 1
| |
| return total
| |
| 초기값을 0.0으로 하고 (0.0으로 해야 정수로 인식할 수 있다.) whlie 반복문을 이용해서 현금흐름(cf)이 같은 경우에 사용할 수 있다.
| |
| i값을 t보다 작거나 같은 값을 넣어주면서 fv 미래가치의 합을 구하는 코드이다.
| |
|
| |
|
| * for 반복문
| |
|
| |
| def savings_free(cfs, r):
| |
|
| |
| total = 0.0
| |
| for cf in cfs:
| |
| total = (total + cf) * (1 + r)
| |
| return total
| |
| 초기값을 0.0으로 하고 for 반복문을 이용해서 현금흐름이 각 연도마다 다른 경우에 사용할 수 있다.
| |
| cf 변수에 cfs 값을 넣어주면서 반복적으로 계산을 하여 fv 미래가치의 합을 구하는 코드이다. by 60180852
| |
|
| |
| = 화폐의 시간가치 =
| |
| * [[현재가치]] | | * [[현재가치]] |
|
| |
|
| * 연금
| | == 채권 == |
| | |
| def annuity(cf, r, t):
| |
| return cf * (1 - 1 / (1 + r) ** t) / r
| |
| | |
| def annuity2(cf, r, t):
| |
| return cf/r - cf/r /(1+r) ** t
| |
| | |
| 두 연금 코드는 같은 답을 도출하는데 밑에 코드를 먼저 이해하면 쉽게 이해할 수 있다.
| |
| cf/r 는 영구연금을 구하는 방식이고 cf/r /(1+r) ** t 해당 부분은 t년후에 영구연금을 구하는 방식이다.
| |
| 예를 들어 3년 연금을 구하는 방법은 영구연금에서 x4년차부터 시작하는 영구연금을 (1+r)**t로 할인하고 차감하는 방식이다.
| |
| | |
| | |
| * 실습
| |
| | |
| def pv(cf, r,t):
| |
| return cf / (1+r) ** t
| |
| def npv(r, cfs):
| |
| total = 0.0
| |
| for i, cf in enumerate(cfs):
| |
| total += pv(cf,r,i)
| |
| return total
| |
| def irr(cfs):
| |
| rate = 0.0
| |
| while(rate < 1.0):
| |
| rate += 0.0001
| |
| value = npv(rate, cfs)
| |
| if(abs(value) <= 0.0001):
| |
| print(rate)
| |
| | |
| rate = []
| |
| value = []
| |
| cfs = [-59, 155, -100]
| |
| for i in range(1, 100):
| |
| rate.append(i / 100)
| |
| value.append(npv(i / 100, cfs))
| |
| print(rate)
| |
| print(value)
| |
| | |
| 간단하게 설명해보면 해당 코드를 이용해서 npv값이 0이되는 rate를 찾는 과정을 나타내고 이를 그래프로 보여 주기 위해 rate와 vlaue를 찾아가는 과정이다. pv , npv, irr 코드를 저장하고 for 반복문에 append를 사용했는데 append()는 리스트에 새로운 값을 하나씩 추가할 때 사용하는 코드입니다. append를 이용해서 0.01~0.99 까지 값을 반복적으로 넣어주면서 해당 값을 찾아주는 코드입니다. by 60180852
| |
|
| |
|
| = 채권 =
| | * [[채권의 가격]] |
| | * [[가중평균만기]] |