अपने कोड को एक फंक्शन में बदलें

R में बॉन्ड वैल्यूएशन और विश्लेषण

Clifford Ang

Senior Vice President, Compass Lexecon

Bond valuation फंक्शन

  • इस कोर्स में हम कई बॉन्ड्स का मूल्य निकालेंगे
  • पिछले चैप्टर के स्टेप्स दोहराए जाएँगे
  • कैलकुलेशन आसान करने के लिए हम bondprc() फंक्शन बनाएँगे
R में बॉन्ड वैल्यूएशन और विश्लेषण

Bond valuation के स्टेप्स

  • इन इनपुट्स को जनरलाइज़ करें:
    • p = par value
    • r = coupon rate
    • ttm = time to maturity
    • y = yield
  • हम कुछ कोड को और generic भी बनाएँगे
R में बॉन्ड वैल्यूएशन और विश्लेषण

Bond valuation के स्टेप्स

cf <- c(rep(p * r, ttm - 1), p * (1 + r))
  • rep(x, y) - x के मान को y बार दोहराता है
  • x = p * r = coupon payment
  • y = ttm - 1 = bond की maturity तक का समय, एक साल कम
  • p * (1 + r) = principal + अंतिम coupon payment
R में बॉन्ड वैल्यूएशन और विश्लेषण

Bond valuation के स्टेप्स

cf <- data.frame(cf)
  • डेटा फ्रेम में बदलें ताकि हम डेटा में वैरिएबल जोड़ सकें (पिछले सेक्शन जैसा)
cf$t <- as.numeric(rownames(cf))
  • discounting के लिए time index बनाएँ
    • cf वेक्टर के rownames() 1, 2, 3, 4 होते हैं, bond के ttm तक
    • मानों को संख्या मानने हेतु as.numeric() चाहिए
R में बॉन्ड वैल्यूएशन और विश्लेषण

Bond valuation के स्टेप्स

cf$pv_factor <- 1 / (1 + y)^cf$t
  • PV factor निकालें
cf$pv <- cf$cf * cf$pv_factor
  • हर cash flow का PV निकालें
sum(cf$pv)
  • PVs को जोड़कर bond का value पाएँ
R में बॉन्ड वैल्यूएशन और विश्लेषण

कोड को wrap करें

  • 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...