債券基礎(chǔ) 零息債券是指以貼現(xiàn)方式發(fā)行,不附息票,而于到期日時按面值一次性支付本利的債券。 債券的票面價值 債券的票面價值又稱面值,是債券票面標(biāo)明的貨幣價值,是債券發(fā)行人承諾在債券到期日償還給債券持有人的金額。 債券可以參考價格或收益率。例如,將支付100元的零息債券的價格可以是90元。但收益率將為(100?90)/90=11%,而不是10%。 債券收益率是投資于債券上每年產(chǎn)生出的收益總額與投資本金總量之間的比率。 債券可以在二級市場上交易(一級市場是債券發(fā)行過程)。如果利率增加,債券的價值就會增加,如果利率降低,債券的價值就會減少,這僅僅是因為該債券是在利率改變之前以便宜/昂貴的價格發(fā)行的。也可以做空債券。 雖然期望債券不會出現(xiàn)負(fù)利率,但也不是完全看不到。在危機(jī)時期,政府債券甚至公司債券都可以以負(fù)收益率交易(例如雀巢)。
債券定價債券價格是通過使用票面利率和現(xiàn)金流來確定。 
式中,CFt是t時的現(xiàn)金流,B(0,t)是貼現(xiàn)系數(shù)或0時價格 
其中R(0,t)是在時間為t時在時間0的年度即期匯率。 
B(0,t)也可以稱為零息債券的價格。 我們可以暗示零息票利率與市場上不同期限的債券。然后我們可以用這些利率建立一個期限結(jié)構(gòu)模型來為任何債券定價。嚴(yán)格違反期限結(jié)構(gòu)可能是買入/賣出機(jī)會,也可能是套利機(jī)會。 calculate_bond_price<-function(face_value=1000,coupon_rate=0.05,maturity=1,yearly_coupons=0){ #該函數(shù)根據(jù)給定的債券B(0,t)的面值,到期日,年息率和等距付款來計算其價格 #如果 yearly_coupons == 0, 它只在到期時支付 #如果 yearly_coupons == 1, 每年支付一次 #如果 yearly_coupons == 2, 每半年支付一次 if(yearly_coupons==0){ face_value/((1+coupon_rate)^maturity) }else{ face_value/((1+coupon_rate/yearly_coupons)^(yearly_coupons*maturity)) }
} calculate_bond_price()
## [1] 952.381
如果我們有合適的證券,我們也可以從息票支付債券中構(gòu)建零息票債券。 1年期純貼現(xiàn)債券在95出售。 兩年期8%的債券售價99元。

2年期純折價債券的價格為99-0.08(95)= 91.4。 復(fù)利類型簡單復(fù)利假設(shè)利率為0.05,期限為2年。100美元的價格在到期時將是多少。 
定期復(fù)利如果將利息永久添加到本金投資中,那么我們的復(fù)利就是利率。假設(shè)相同的示例,但每半年復(fù)算一次。 
年名義利率為  連續(xù)復(fù)利現(xiàn)在,假設(shè)復(fù)利的頻率很高,以至于在兩次加息之間的時間間隔是無限?。ń咏悖?。然后在極限情況下 
因此,以我們的示例為例,連續(xù)復(fù)利的年利率是  給定一組零息票債券價格,我們可以計算連續(xù)收益率  #例如,債券價格為0.987,期限為半年。 calculate_yield(0.987,0.5)
## [1] 0.02617048
遠(yuǎn)期匯率假設(shè)有兩個到期日不同的債券  
可以重新排列成 
imply_forward_rate<-function(R0t1=0.04,R0t2=0.045,t1=1,t2=2){
((1+R0t2)^t2/(1+R0t1)^t1)^(1/(t2-t1)) -1
} imply_forward_rate()
## [1] 0.05002404

到期日的相關(guān)性利率不僅隨著到期日變化,而且隨著時間變化。我們還將調(diào)用某些數(shù)據(jù)和計算。 讓我們加載庫并檢查收益率曲線數(shù)據(jù)。 ## R_3M R_6M R_1Y R_2Y R_3Y R_5Y R_7Y R_10Y ## 1981-12-31 12.92 13.90 14.32 14.57 14.64 14.65 14.67 14.59 ## 1982-01-31 14.28 14.81 14.73 14.82 14.73 14.54 14.46 14.43 ## 1982-02-28 13.31 13.83 13.95 14.19 14.13 13.98 13.93 13.86 ## 1982-03-31 13.34 13.87 13.98 14.20 14.18 14.00 13.94 13.87 ## 1982-04-30 12.71 13.13 13.34 13.78 13.77 13.75 13.74 13.62 ## 1982-05-31 13.08 13.76 14.07 14.47 14.48 14.43 14.47 14.30
相關(guān)系數(shù)矩陣顯示出收益率沒有完全相關(guān)。 | R_3M | R_6M | R_1Y | R_2Y | R_3Y | R_5Y | R_7Y | R_10Y |
---|
R_3M | 1.0000000 | 0.9983390 | 0.9940045 | 0.9837559 | 0.9744780 | 0.9546189 | 0.9399504 | 0.9230412 | R_6M | 0.9983390 | 1.0000000 | 0.9981715 | 0.9899820 | 0.9817197 | 0.9632268 | 0.9491761 | 0.9332366 | R_1Y | 0.9940045 | 0.9981715 | 1.0000000 | 0.9959937 | 0.9900195 | 0.9746174 | 0.9621895 | 0.9478956 | R_2Y | 0.9837559 | 0.9899820 | 0.9959937 | 1.0000000 | 0.9984844 | 0.9896811 | 0.9808896 | 0.9694621 | R_3Y | 0.9744780 | 0.9817197 | 0.9900195 | 0.9984844 | 1.0000000 | 0.9958583 | 0.9896185 | 0.9804575 | R_5Y | 0.9546189 | 0.9632268 | 0.9746174 | 0.9896811 | 0.9958583 | 1.0000000 | 0.9983629 | 0.9936744 | R_7Y | 0.9399504 | 0.9491761 | 0.9621895 | 0.9808896 | 0.9896185 | 0.9983629 | 1.0000000 | 0.9981232 | R_10Y | 0.9230412 | 0.9332366 | 0.9478956 | 0.9694621 | 0.9804575 | 0.9936744 | 0.9981232 | 1.0000000 |
點(diǎn)擊標(biāo)題查閱往期內(nèi)容 債券價格和收益率在這一部分中,我們將看到構(gòu)建債券價格和收益率的方法。 直接法假設(shè)您得到以下債券利率。請記住,名義匯率是100。 | 息票 | 到期 | 價錢 |
---|
債券1 | 5.0 | 1個 | 101.0 | 債券2 | 5.5 | 2 | 101.5 | 債券3 | 5.0 | 3 | 99.0 | 債券4 | 6.0 | 4 | 100.0 |
零息債券價格(B(0,t) 
然后我們得到  
get_zero_coupon()
## $B0t ## [1] 0.9619048 0.9119386 0.8536265 0.7890111 ## ## $R0t ## [1] 0.03960396 0.04717001 0.05417012 0.06103379
線性插值R03<-0.055 R04<-0.06
R03p75<-((4-3.75)*0.055+(3.75-3)*0.06)/(4-3) R03p75
## [1] 0.05875
##或使用R函數(shù) yield_interpolate<-approxfun(x=c(3,4),y=c(0.055,0.06)) yield_interpolate(3.75)
## [1] 0.05875
三次插值假設(shè)我們的費(fèi)率如下:  
#插值2.5年的債券 t_val<-2.5 sum(abcd_vec*((2.5)^(3:0)))
## [1] 0.0534375
## [1] 0.0534375
間接方法(Nelson Siegel)尼爾森·西格爾(Nelson Siegel)模型是模擬利率收益率曲線的一種流行方法。 
其中θ是到期日,β0是長期收益率,β1是斜率參數(shù),β2是曲率參數(shù),τ是比例參數(shù)。 ns_data <- data.frame(maturity=1:30) %>% mutate(ns_yield=nelson_siegel_calculate(theta=maturity,tau=3.3,beta0=0.07,beta1=-0.02,beta2=0.01))
head(ns_data)
## maturity ns_yield ## 1 1 0.05398726 ## 2 2 0.05704572 ## 3 3 0.05940289 ## 4 4 0.06122926 ## 5 5 0.06265277 ## 6 6 0.06376956
ggplot(data=ns_data, aes(x=maturity,y=ns_yield)) + geom_point() + geom_line()

可以使用參數(shù)來更好地估計收益曲線。 Nelson Siegel參數(shù)的估計Nelson Siegel曲線估計。 ## beta_0 beta_1 beta_2 lambda ## 1981-12-31 14.70711 -5.3917409 3.269125 0.5123605 ## 1982-01-31 14.35240 -0.7602066 2.834508 0.1887807 ## 1982-02-28 13.74481 -0.9247232 2.681840 0.1236869
注意:我們將lambda稱為tau(ττ)(形狀參數(shù))。 Beta靈敏度考慮提供Fi未來現(xiàn)金流的債券價格 。因此,帶有beta參數(shù)的價格變化如下。 

nelson_siegel_sensitivities(coupon_rate=0.05,maturity=2)
## Beta0 Beta1 Beta2 ## -192.51332 -141.08199 -41.27936
nelson_siegel_sensitivities(coupon_rate=0.05,maturity=7)
## Beta0 Beta1 Beta2 ## -545.4198 -224.7767 -156.7335
nelson_siegel_sensitivities(coupon_rate=0.05,maturity=15)
## Beta0 Beta1 Beta2 ## -812.6079 -207.1989 -173.0285
|