코드를 함수로 변환하기

R로 배우는 채권 가치 평가와 분석

Clifford Ang

Senior Vice President, Compass Lexecon

채권 가치평가 함수

  • 본 과정에서 많은 채권을 평가합니다
  • 이전 장의 절차를 반복합니다
  • 계산을 단순화하기 위해 bondprc() 함수를 만듭니다
R로 배우는 채권 가치 평가와 분석

채권 가치평가 단계

  • 다음 입력을 일반화합니다:
    • 액면가 p
    • 쿠폰금리 r
    • 만기까지 기간 ttm
    • 수익률 y
  • 코드 일부를 더 일반화합니다
R로 배우는 채권 가치 평가와 분석

채권 가치평가 단계

cf <- c(rep(p * r, ttm - 1), p * (1 + r))
  • rep(x, y) - x 값을 y번 반복
  • x = p * r = 쿠폰 지급액
  • y = ttm - 1 = 만기까지 기간에서 1년 차감
  • p * (1 + r) = 원금 + 마지막 쿠폰
R로 배우는 채권 가치 평가와 분석

채권 가치평가 단계

cf <- data.frame(cf)
  • 변수 추가를 위해 데이터 프레임으로 변환합니다(이전 섹션과 동일)
cf$t <- as.numeric(rownames(cf))
  • 할인에 사용할 시간 인덱스를 생성합니다
    • cf 벡터의 rownames()는 1부터 채권의 ttm까지
    • 숫자로 인식되도록 as.numeric()이 필요합니다
R로 배우는 채권 가치 평가와 분석

채권 가치평가 단계

cf$pv_factor <- 1 / (1 + y)^cf$t
  • 현재가치(PV) 계수 계산
cf$pv <- cf$cf * cf$pv_factor
  • 각 현금흐름의 PV 계산
sum(cf$pv)
  • PV를 합산하여 채권 가치 산출
R로 배우는 채권 가치 평가와 분석

코드 감싸기

  • bondprc() 함수를 만듭니다
  • 입력은 p, r, ttm, y입니다
bondprc <- function(p, r, ttm, y){
   cf <- c(rep(p * r, ttm - 1), p * (1 + r))
   cf <- data.frame(cf)
   cf$t <- as.numeric(rownames(cf))
   cf$pv_factor <- 1 / (1 + y)^cf$t
   cf$pv <- cf$cf * cf$pv_factor
   sum(cf$pv)
}
R로 배우는 채권 가치 평가와 분석

연습해 봅시다!

R로 배우는 채권 가치 평가와 분석

Preparing Video For Download...