楼主: ruviolety
11468 3

[问答] 欧式二叉树期权定价 matlab程序求解 [推广有奖]

  • 1关注
  • 4粉丝

已卖:4096份资源

博士生

13%

还不是VIP/贵宾

-

威望
0
论坛币
11631 个
通用积分
7.5713
学术水平
3 点
热心指数
9 点
信用等级
5 点
经验
5748 点
帖子
213
精华
0
在线时间
94 小时
注册时间
2010-11-21
最后登录
2019-1-2

楼主
ruviolety 发表于 2014-4-22 16:11:40 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
以下是欧式二叉树期权定价的matlab程序代码,求大神指点标黑的d=1/u;(系统显示
??? Error using ==> mldivide
Matrix dimensions must agree.

Error in ==> bino at 10
d=1/u;)
求指导,矩阵不对,怎么 改呢?


function EXS()
S=input('30:\n');%请输入当前股价
K=input('35:\n');%请输入股票执行价格
r=input('0.03:\n');%请输入无风险利率
theta=input('0.01:\n');%请输入波动率
T=input('2:\n');%请输入到期时间
bc=input('0.1:\n');%请输入步长
q=input('0.1:\n');%请输入股息率
KZ=input('1\n');%是否为看涨期权?若是请输入1,若不是请输入其他任意值
u=exp(theta*(T/bc)^0.5);
d=1/u;
a=exp((r-q)*(T/bc));
p=(a-d)/(u-d);
stock=[];
option=[];
stock(1,1)=S;
for i=2:bc+1
    for j=1:i
        if(j<=i/2)
            stock(i,j)=stock(i-1,j)*u;
        else
            stock(i,j)=stock(i-1,j-1)*d;
        end
    end
end
for i=1:bc+1
    if(KZ==1)   
      if(stock(bc+1,i)<=K)
        option(bc+1,i)=0;
      else
        option(bc+1,i)=stock(bc+1,i)-K;
      end
    else
          if(stock(bc+1,i)>=S)  
          option(bc+1,i)=0;
        else
         option(bc+1,i)=K-stock(bc+1,i);   
        end
    end
end
for i=bc:-1:1;
    for j=1:i
        option(i,j)=(option(i+1,j)*p+option(i+1,j+1)*(1-p))*exp(-r*T/bc);
    end
end
stock,option




二维码

扫码加我 拉你入群

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

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

关键词:MATLAB程序 MATLAB atlab matla 期权定价 matlab 二叉树 程序 股息

沙发
Benlaron 发表于 2014-4-23 23:45:04
我认为问题不在bino.m而是在你为input输入参数那里出现问题

可以考虑在变量窗口详细查看一下theta、T和bc是维数信息是不是输错了
本人试了一下,完全按照你默认的参数输了一遍,d没有问题,反而是
Attempted to access stock(1.1,1); index must be a positive integer or logical.

Error in Test (line 28)
      if(stock(bc+1,i)<=K)
目测你把步长和节点搞混了,再仔细检验一下你的数值算法吧

(BTW,input函数不是这么用的,建议起码弄个语言提示符,比如说:
  1. S=input('请输入当前股价,默认为30:\n');
复制代码

藤椅
ruviolety 发表于 2014-4-25 21:11:41
Benlaron 发表于 2014-4-23 23:45
我认为问题不在bino.m而是在你为input输入参数那里出现问题

可以考虑在变量窗口详细查看一下theta、T和b ...
就是步长搞错了~~~谢谢你哦~~谢谢你哦!!赞!!

板凳
shi995832563 发表于 2015-5-15 13:05:26
请问你这个程序最后是否还有作图的步骤看一下期权价格的预测走势

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-29 16:30