楼主: dream08
3692 5

急问如何用MATLAB计算带JUMP的期权价格? [推广有奖]

  • 0关注
  • 3粉丝

已卖:4份资源

博士生

7%

还不是VIP/贵宾

-

威望
0
论坛币
15 个
通用积分
0.1200
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
1053 点
帖子
168
精华
0
在线时间
187 小时
注册时间
2007-8-29
最后登录
2022-3-11

楼主
dream08 发表于 2009-4-14 16:21:00 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
急问!!谢谢呀 金融工具箱里有直接的函数么?
二维码

扫码加我 拉你入群

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

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

关键词:MATLAB matla atlab Jump Mat MATLAB 价格 期权 Jump

沙发
long4 发表于 2009-4-14 16:48:00

小汗一下.

matlab稍微复杂一点的计算都要自己写,更不要说是带跳的定价

金融工具箱里只有一些常用通俗的函数

藤椅
dream08 发表于 2009-4-14 22:31:00
o  哦 我看有Bs公式,以为带跳的定价也有呢

板凳
vertigo 发表于 2009-4-15 03:35:00
带跳的模型本来就很复杂,什么的跳,怎么跳,matlab这个也能算,Quant都失业算了
I want to be an excellent quant!

报纸
剑月轩如梦 发表于 2009-4-15 11:16:00

就是,哪有那么简单的事情?这玩意要自己写程序的。不过可以给个你参考

function [] = MertonJumpEuro(CallPut, AssetP, Strike, RiskFree, Time, Vol, Jumps, Gamma, MaxIter)
% Requires BlackScholesEuro.m
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Computes the Merton (1976) Jump diffusion model for European Call/Put Option Values based
% on the following inputs:
% CallPut           =       Call = 1, Put = 0
% AssetP            =       Underlying Asset Price
% Strike            =       Strike Price of Option
% RiskFree          =       Risk Free rate of interest
% Time              =       Time to Maturity
% Vol               =       Volatility of the Underlying
% Jumps             =       Number of Jumps per Year
% Gamma             =       Percent of total volatility explained by jumps
% MaxIter           =       Max number of iterations to be used
% Please note that the use of this code is not restricted in anyway.
% However, referencing the author of the code would be appreciated.
% To run this program, simply use the function defined in the 1st line.
% http://www.global-derivatives.com
% info@global-derivatives.com
% Kevin Cheng (Nov 2003)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

Delta = sqrt((Gamma * (Vol ^ 2)) / Jumps);
A = sqrt(Vol ^ 2 - Jumps * Delta ^ 2);
Value = 0;

for i = 0:MaxIter
    VV = sqrt(A ^ 2 + Delta ^ 2 * (i / Time));
    Value = Value + (exp(-Jumps * Time) * (Jumps * Time) ^ i / factorial(i)) * BlackScholesEuro(CallPut, AssetP, Strike, RiskFree, Time, VV);
end

MertonJumpEuro = Value

地板
dream08 发表于 2009-5-8 14:05:00
谢谢!~~~

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

本版微信群
加好友,备注jr
拉您进交流群
GMT+8, 2025-12-31 19:45