全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 Excel
7751 2
2012-05-15
最近老师布置了作业要求用VBA来求出HO-LEE模型和BDT模型的二叉树。花了两天时间扫了一个VBA的基础知识现在做HO-LEE模型果然卡壳了T-T

先把我现在乱写的程序贴出来:
Sub HoLeeModel()
Dim tp, sigma, B0 As Double
Dim B(0 To 4, 1 To 5), r(0 To 4, 1 To 5), y(1 To 5), u(0 To 3) As Double


'tp=time period
'sigma=波动率
'B0=用即期利率定价的B0
'B(a,b)=计算用B
'r(tp,b)=利率
'y(tp)=即期利率:tp=0时,y(tp)=4%

'赋值
  sigma = 0.08
  y(1) = 0.04
  y(2) = 0.045
  y(3) = 0.05
  y(4) = 0.055
  y(5) = 0.06

  For tp = 1 To 4

   B0 = Exp(-(tp + 1) * y(tp + 1))
   i = tp

   '最后一列利率和价格表达
    For j = 1 To tp
    r(i, j) = r(i - 1, j) + u(i - 1) + sigma
    B(i, j) = Exp(-r(i, j))
    Next j
    j = j + 1  '最后一个利率和价格
    r(i, j) = r(i - 1, j - 1) + u(i - 1) - sigma
    B(i, j) = Exp(-r(i, j))

    '倒推回B0
    For i = tp To 1 Step -1
     For j = 1 To i
     B(i - 1, j) = 0.5 * (B(i, j) + B(i, j + 1)) * Exp(-r(i - 1, j))
     Next j
     Next i
     '至此得到B(0,1)

     '通过某种方式解出了U(i-1)

     '进行下一个TIME PERIOD的循环
     Next tp


按照我写的这段程序,因为U(i-1)没有赋过值所以程序必然运行不出结果的。
请问各位VBA高手:要求出U(i-1)是需要用线性插值的办法做出来么?还是VBA有一套其他的方法能求解未知数呢?是否我这种先把未知数代入r(i,j)这样的公式的做法是错误的?


二维码

扫码加我 拉你入群

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

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

全部回复
2012-5-16 22:45:01
555没人么?明天交不成作业了
二维码

扫码加我 拉你入群

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

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

2016-6-27 20:15:26
你去看看VB的数学函数吧,看了后基本都能做出来了
二维码

扫码加我 拉你入群

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

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

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群