楼主: qiling11028
7820 2

[问答] 请问如何用VBA解方程? [推广有奖]

  • 0关注
  • 0粉丝

大专生

1%

还不是VIP/贵宾

-

威望
0
论坛币
346 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
950 点
帖子
31
精华
0
在线时间
49 小时
注册时间
2008-2-27
最后登录
2019-10-19

楼主
qiling11028 在职认证  发表于 2012-5-15 21:52:41 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
最近老师布置了作业要求用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)这样的公式的做法是错误的?


二维码

扫码加我 拉你入群

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

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

关键词:VBA 解方程 如何用 double period 解方程 如何

沙发
qiling11028 在职认证  发表于 2012-5-16 22:45:01
555没人么?明天交不成作业了

藤椅
matlab-007 发表于 2016-6-27 20:15:26
你去看看VB的数学函数吧,看了后基本都能做出来了

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-30 02:02