楼主: panhong
14864 6

[问答] 求助关于使用excel计算债券凸性的问题 [推广有奖]

  • 0关注
  • 0粉丝

本科生

21%

还不是VIP/贵宾

-

威望
0
论坛币
355 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
1326 点
帖子
94
精华
0
在线时间
49 小时
注册时间
2006-1-25
最后登录
2014-9-3

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币


各位精通excel的高手,请问如果要利用excel来计算债券的凸性有没有什么可以调用的函数?或者是有没有编好的VBA程序?谢谢赐教:)

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:用excel EXCEL xcel exce cel 债券 EXCEL

回帖推荐

1ooooool 发表于2楼  查看完整内容

计算债券凸性的VBA 代码 代码:Function secondDur(restTime, couponRate, YTM, frequency) If frequency

本帖被以下文库推荐

沙发
1ooooool 发表于 2010-4-4 21:36:34 |只看作者 |坛友微信交流群
计算债券凸性的VBA 代码

代码:Function secondDur(restTime, couponRate, YTM, frequency)
    If frequency <= 1 Then
         For t = (restTime - Int(restTime)) To restTime
        If t < restTime Then
            secondDur = couponRate * t * 100 * (t + 1) _
                 / (1 + YTM) ^ (t + 2) + secondDur
        Else
            secondDur = (couponRate + 1) * 100 * t * (t + 1) _
                 / (1 + YTM) ^ (t + 2) + secondDur
        End If
        
        secondDur = secondDur
    Next t
    Else
          For t = (restTime * frequency - Int(restTime * frequency)) To (restTime * frequency)
           If t < (restTime * frequency) Then
              secondDur = couponRate / frequency * t * 100 * (t + 1) _
                    / (1 + YTM / frequency) ^ (t + 2) + secondDur
    Else
            secondDur = (couponRate / frequency + 1) * 100 * t * (t + 1) _
                 / (1 + YTM / frequency) ^ (t + 2) + secondDur
        End If
        
        secondDur = secondDur / frequency ^ 2
    Next t
    End If
  End Function
已有 2 人评分经验 论坛币 热心指数 收起 理由
客初 + 20 + 2 热心帮助其他会员
coral033 + 20 + 20 分析的有道理

总评分: 经验 + 20  论坛币 + 40  热心指数 + 2   查看全部评分

http://mrlxc.com/

使用道具

藤椅
xufranc 发表于 2012-2-24 10:57:25 |只看作者 |坛友微信交流群
不错!

使用道具

板凳
zs694461601 发表于 2014-12-9 17:34:06 |只看作者 |坛友微信交流群
计算结果有点问题,小数点不对

使用道具

报纸
zs694461601 发表于 2014-12-9 17:39:51 |只看作者 |坛友微信交流群
1ooooool 发表于 2010-4-4 21:36
计算债券凸性的VBA 代码

代码:Function secondDur(restTime, couponRate, YTM, frequency)
没有除以价格P

使用道具

地板
matlab-007 发表于 2016-6-15 19:19:48 |只看作者 |坛友微信交流群
代码:Function secondDur(restTime, couponRate, YTM, frequency)
    If frequency <= 1 Then
         For t = (restTime - Int(restTime)) To restTime
        If t < restTime Then
            secondDur = couponRate * t * 100 * (t + 1) _
                 / (1 + YTM) ^ (t + 2) + secondDur
        Else
            secondDur = (couponRate + 1) * 100 * t * (t + 1) _
                 / (1 + YTM) ^ (t + 2) + secondDur
        End If
        
        secondDur = secondDur
    Next t
    Else
          For t = (restTime * frequency - Int(restTime * frequency)) To (restTime * frequency)
           If t < (restTime * frequency) Then
              secondDur = couponRate / frequency * t * 100 * (t + 1) _
                    / (1 + YTM / frequency) ^ (t + 2) + secondDur
    Else
            secondDur = (couponRate / frequency + 1) * 100 * t * (t + 1) _
                 / (1 + YTM / frequency) ^ (t + 2) + secondDur
        End If
        
        secondDur = secondDur / frequency ^ 2
    Next t
    End If
  End Function

使用道具

7
xiaji123 发表于 2017-2-20 16:42:02 |只看作者 |坛友微信交流群
谢谢分享

使用道具

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-4-25 15:09