- 阅读权限
- 255
- 威望
- 0 级
- 论坛币
- 1557 个
- 通用积分
- 0.1211
- 学术水平
- 1 点
- 热心指数
- 3 点
- 信用等级
- 0 点
- 经验
- 1909 点
- 帖子
- 111
- 精华
- 0
- 在线时间
- 139 小时
- 注册时间
- 2009-5-10
- 最后登录
- 2025-2-18
已卖:744份资源
硕士生
还不是VIP/贵宾
- 威望
- 0 级
- 论坛币
 - 1557 个
- 通用积分
- 0.1211
- 学术水平
- 1 点
- 热心指数
- 3 点
- 信用等级
- 0 点
- 经验
- 1909 点
- 帖子
- 111
- 精华
- 0
- 在线时间
- 139 小时
- 注册时间
- 2009-5-10
- 最后登录
- 2025-2-18
 | 苦逼 2022-3-3 12:06:33 |
|---|
签到天数: 40 天 连续签到: 1 天 [LV.5]常住居民I
|
1论坛币
|
计算 到期收益率,条件是bp市场价格=110, F面值=100, Cf现金流=2.5元,N期数=10,
程序如下:
bpd<-function(cf,F,y,n){
t=1:n
a=cf/(1+y)^t
b=F/(1+y)^n
p=sum(a,b)
}
byield<-function(n,cf,bp){
accu=1e-5
maxinter=200
bot=0.00;top=1.00
res=0.00
while(res>bp){top=top*2}
y=0.5*(top+bot)
res=bpd(2.5,100,y,10)
for(i in 0:maxinter){
diff=res-bp
if(abs(diff)<accu){return(y)}
if(diff>0.00)
bot=y
else
top=y
y=0.5*(top+bot)
res=bpd(2.5,100,y,10)
}
{return(y)}
}
问题是byield(10,2.5,110)的输出结果是0???
请问哪里有问题?!??!?
|
|