金融统计部分例题
第一题:
题目:给定par = 1000, coupon payment =40,T=30,用一段程序模拟债券的到期收益率与价格之间的关系,并绘制价格-收益率曲线。(Rstudio)
#到期收益率和价格之间的关系
bondvalue = function(c,T,r,par)
{
bv = c/r + (par - c/r) * (1 + r)^(-2 * T)
bv
}
price = 1200
C = 40
T = 30
par = 1000
r = seq(0.02,0.05,length = 30)
value = bondvalue(C,T,r,par)
yield2M = spline(value,r,xout = price)
plot(r,value,xlab = 'yield to maturity',ylab = 'price of bond',
type = 'l',main = 'par=1000,coupon payment = 40,
T = 30',lwd = 2)
abline(h = 1200,col = 'red')
abline(v = yield2M,col = 'red')
第二题:
题目:给定面值1000美元,期限20年,票息率9%,收益率为12%,模拟债券价格的时间轨迹。(SAS)
title2;
data a;
do n=40 to 0 by -2;
p1=45*(1-(1/(1+0.06)**n))/0.06;
p2=1000*(1/(1+0.06)**n);
p=p1+p2;
year=n/2;
output;
end;
proc print data=a noobs;
var year p1 p2 p;
run;
data a;
set a;
p0=1000;
proc gplot data=a;
plot p*year=1 p0*year=2/overlay;
symbol1 v=none i=join r=1 c=black;symbol2 v=none i=join r=1 c=black;
title2 '假定必要收益率不变的情况下,贴水债券时间轨迹';
label
p='价格'
year='剩余到期年数';
run;