Matlab金融工程教程第6章金融衍生品计算

合集下载

MATLAB金融计算

MATLAB金融计算

时间序列数组运算
• 步骤6:拖动鼠标把所要复制的内容确定下来,单击鼠标右键, 选择“复制”菜单项,打开Windows记事本,把复制的内容粘贴 到记事本中,注意把汉字译成英文,以便MATLAB识别
时间序列数组运算
• 步骤7:将数据保存到MATLAB7/work目录下的at.txt文 件 • 步骤8:用ascii2fts函数将at.txt中的数据读入MATLAB 中,命令如下: – zhaohang=ascii2fts(„at.txt‟,2,2)
16-Oct-2008 17-Oct-2008 18-Oct-2008 19-Oct-2008 20-Oct-2008 21-Oct-2008 1 2 3 4 5 6
时间序列数组运算
• 日期运算
– 查找现在时刻 now dateste(ans) – 查询当天日期 today – 序数型日期转化为字符串日 期 datestr(ans) – 字符串日期转化为序数型日 期 datenum(’03-aug-2003’) – 确定每月的第几天 Day=day(’22-Jan-2007’) 查询星期 [n,s]=weekday(’22-Jan2007’) 查询月份 [n,s]=month(D) 将字符型日期以向量形式输出 V=datevec(N) 计算日期间隔 daysact(’27-feb2008’,’08-aug-2008’) 时间序列数据合并 newfts=merge(fts1,fts2,…,Me thod,RefObj) 特定日期抽取函数 todaily,toweekly,tomonthly, toquarterly,tosemi,toannual
时间序列数组运算
• 处理时间序列中的缺失数据 – newfts=fillts(oldfts,method) – method:

金融工程的计算方法

金融工程的计算方法

金融工程的计算方法金融工程是指利用金融产品和工具,通过量化分析、计算、模拟等方法,管理金融风险、优化投资组合、实现资产定价等目的的一门学科。

而计算方法,则是金融工程中不可或缺的一个重要组成部分。

本文将探讨金融工程中的计算方法。

一、基础数学方法金融工程是一门应用广泛的学科,各类金融产品的价格、风险等都需要进行计算和评估。

因此,基础数学方法是金融工程计算方法的前提。

其中,概率与统计学、微积分等都是金融工程中不可或缺的数学基础。

使用概率与统计学方法,我们可以对金融市场、金融产品等进行分析,并做出风险评估。

例如,在股票市场中,我们可以使用随机游走模型、波动率模型等方法来预测股票的价格变化。

而微积分方法,则可以用于计算衍生品的价格、风险等。

二、金融模型在金融工程中,许多问题都需要使用金融模型来求解。

金融模型可以用来计算不同金融产品的价格、风险等指标。

常用的金融模型包括:1. 常规模型:例如资本资产定价模型(CAPM)、布莱克-什尔斯模型(Black-Scholes model)等。

2. 离散时间模型:例如科克斯-卢宾斯坦模型(Cox-Ross-Rubinstein model)、二叉树模型(Binomial tree model)等。

3. 连续时间模型:例如几何布朗运动模型(Geometric Brownian motion model)、欧几里得期权模型(Euclidean option pricing model)等。

不同的金融产品和问题所需的模型不同,因此选择合适的金融模型也是金融工程计算方法中至关重要的一环。

三、计算机程序计算机程序在金融工程计算方法中也扮演着重要的角色。

计算机程序可以加快计算速度、提高精度,同时也便于实际操作和使用。

许多金融计算问题都需要进行大量数据处理、精确计算等,而手动计算工作效率低下且易出错。

因此,编写计算机程序是处理金融计算问题的好方法。

例如,我们可以使用Python、Matlab等编写计算程序,快速完成股票价格、期权价格、债券价格等各类金融产品的计算和分析工作。

[金融投资]金融衍生工具-数值解法

[金融投资]金融衍生工具-数值解法

(1)模拟股价在50天后的价格
假设股价满足几何布朗运动,即
得到:
dS rdt dw
S
St
S e r 2 / 2 tz 0
t
• 注意这里漂移率是无风险收益率。 • E(St)=?
Matlab 程序
% Assetpaths.m function Spaths=AssetPaths(s0,r,sigma,T,Nsteps,Nrepl) Spaths=zeros(Nrepl,1+Nsteps); Spaths(:,1)=s0; dt=T/Nsteps; nudt=(r-0.5*sigma*sigma)*dt; sidt=sigma*sqrt(dt); for i=1:Nrepl for j=1:Nsteps
c = monte(100,105,0.1,0.25,1,10000)
c = monte (100,105,0.1,0.25,1,10000)
用B-S公式计算期权价值
function price = bsprice(s0,X,r,sigma,T) c1=sigma*sqrt(T); d1=log(s0/X)+(r+sigma*sigma/2)*T./c1; d2=d1-sigma*sqrt(T); n1=normcdf(d1,0,1); n2=normcdf(d2,0,1); price=s0.*n1-X*exp(-r*T).*n2;
t
t
• 再根据 s = j△s,把上面公式代入微分 方程可得:
[c,Ncrossed]=upoutcall(100,105,0.10,0.25,1,120,250,10000)
[c,Ncrossed]=upoutcall(100,105,0.10,0.25,1,200,250,10000)

MATLAB入门

MATLAB入门

MATLAB入门金融数据问题一、金融数据问题1、金融数据的获取 国家统计局 联合国统计司 国际货币基金组织 世界银行 国际货币基金组织统计资料库 大智慧交易平台(中国股票交易数据) 外汇交易平台(外汇交易数据及其他)2、数据处理分析软件MATLAB、SAS、SPSS、EVIEWS、MAPLE、MATHEMATICA、EXCEL等介绍二、MATLAB介绍1、MATLAB简介MATLAB软件是由美国Mathworks公司推出的用于数值计算和图形处理的科学计算系统环境。

MATLAB是英文MATrix LABoratory(短阵实验室)的缩写。

它的第1版(DoS版本1.0)发行于1984年。

MATLAB集中了日常数学处理中的各种功能,包括高效的数值计算、矩阵运算、信号处理和图形生成等功能。

在MATLAB环境下,用户可以集成地进行程序设计、数值计算、图形绘制、输入输出、文件管理等各项操作。

与利用c语言或FoRTRAN语言作数值计算的程序设计相比,利用MATLAB可以节省大量的编程时间。

在美国的一些大学里,MATLAB正在成为对数值线性代数以及其他一些高等应用数学课程进行辅助教学的有益工具。

在工程技术界,MATLAB也被用来解决一些实际课题和数学模型问题。

典型的应用包括数值计算、算法预设计与验证,以及一些特殊的矩阵计算应用,如自动控制理论、统计、数字信号处理(时间序列分析)等。

进入20世纪九十年代的时候,MATLAB 已经成为国际控制界公认的标准计算软件。

到九十年代初期,在国际上30几个数学类科技应用软件中,MATLAB在数值计算方面独占鳌头,而Mathematica和Ma p le则分居符号计算软件的前两名。

2、MATLAB的优势编程简单,类似于其他语言,如C集成度更高,扩展性更好数学问题数值解能力强大由Ma p le内核构成的符号运算工具箱可以继承Ma p le所有解析解的求解能力在数学、工程领域各种“工具箱”强大的系统仿真能力,Simulink建模在控制界是国际首选的计算机语言金融工程领域首选计算工具3、实例混沌游戏在MATLAB命令窗口下输入:edit triangle在弹出的菜单中选择‘Y es’然后在弹出的空白文档中输入:clearz1=[0,0];z2=[1,0];z3=[1/2,sqrt(3)/2];x0=0.5;y0=0.5;N=100;A(1,:)=[x0,y0];A(2:N,:)=z eros(N-1,2);p lot([0,1,1/2,0],[0,0,sqrt(3)/2,0],'-')axis([0,1,0,sqrt(3)/2])hold onfor i=1:Na=rand(1,1)*6;if a<2A(i+1,:)=1/2*(A(i,:)+z3);elseif a<4A(i+1,:)=1/2*(A(i,:)+z2);elseA(i+1,:)=1/2*(A(i,:)+z1);endp lot(A(i,1),A(i,2),'r.')p ause(0.1)end然后再选择“保存”,将文件保存在默认的文件夹下。

金融工程中的衍生品定价模型资料

金融工程中的衍生品定价模型资料

金融工程中的衍生品定价模型资料衍生品是金融市场中重要的金融工具,它们的价值来源于基础资产或指标的变化。

衍生品定价是金融工程中的一项核心任务,其准确性和有效性对于金融市场的稳定与健康发展至关重要。

在金融工程的研究与实践中,涌现出了许多衍生品定价模型,本文将介绍其中几种常见的模型及其资料。

一、调整后的黑-斯科尔定价模型(Black-Scholes-Merton Model)调整后的黑-斯科尔定价模型是对原始黑-斯科尔定价模型的改进和扩展。

它考虑了市场不完全性和风险溢价等因素,提高了模型的适用性。

在使用该模型进行衍生品定价时,需要的资料包括:标的资产价格、标的资产的波动率、无风险利率、期权到期时间以及期权行权价。

二、卡里-鲁宾斯坦定价模型(Cox-Ross-Rubinstein Model)卡里-鲁宾斯坦定价模型是一种在二叉树框架下进行衍生品定价的模型。

该模型将时间划分为离散的步长,通过构建二叉树推导出衍生品的定价公式。

使用该模型进行衍生品定价时,需要的资料包括:标的资产价格、标的资产的波动率、无风险利率、时间步长、期权到期时间以及期权行权价。

三、韦春华公式模型(Weng's Formula)韦春华公式模型是近年来提出的一种衍生品定价方法。

该模型适用于凸概率风险中性测度下的金融市场,可以快速、准确地计算欧式期权的理论价格。

使用该模型进行衍生品定价时,需要的资料包括:标的资产价格、标的资产的波动率、无风险利率、期权到期时间、期权行权价以及风险溢价。

四、蒙特卡洛模拟方法(Monte Carlo Simulation Method)蒙特卡洛模拟方法是一种基于随机模拟的衍生品定价方法。

通过生成大量的随机数路径,模拟标的资产价格的变化,并计算衍生品的预期收益。

使用该方法进行衍生品定价时,需要的资料包括:标的资产价格、标的资产的波动率、无风险利率、期权到期时间、期权行权价以及模拟路径的数量。

五、隐含波动率曲面在很多衍生品定价模型中,隐含波动率扮演着重要的角色。

基于MATLAB的金融工程方法与实践第六章 复杂期权介绍及其定价原理

基于MATLAB的金融工程方法与实践第六章 复杂期权介绍及其定价原理
基本数值定价方法 树图定价 减少误差的方法 (一)结点正好在障碍上 (二)结点不在障碍上

两值期权

两值期权(Binary Options) 具有不连续到期回报的一种基本期权。例如,现金或无价 值看涨期权(Cash-or-nothing Call),若标的资产价格在到 期日低于执行价格,那么该期权价值为零;若高于执行价 格,则该期权支付一个固定的数额Q。
远期开始期权


远期开始期权(Forward Start Options) 现在支付期权费,但是从未来某一特定时间才开始生效的 期权 这类期权被广泛用于员工激励计划,例如,公司给某员工 发放一份期权,该员工工作3年后期权才能生效,这样就 会给予员工长期效力于公司的动力。
远期开始期权的定价

根据Black-Scholes期权定价公式有:
任选期权的价值
障碍期权


障碍期权(Barrier Options)是一种路径依赖型期权,它们 的最终收益依赖于标的资产的价格路径在一段特定的时间 内与其规定的“障碍”水平的对比。一旦标的资产价格触 及规定的“障碍”水平,期权合约则生效或者失效 障碍期权是弱式路径依赖型期权
障碍期权

敲出期权(Knock-out Options) 敲入期权(Knock-in Options) 向上期权(Up Options) 向下期权(Down Options)
非标准美式期权


百慕大期权(Bermuda Option) 期权持有者可以在到期日前所规定的一系列时间执行期权。 比如说,一个5年期的期权只能在每年的最后一个月执行。
非标准美式期权


公司发行的认股权证(Warrants) 这种期权规定了提前执行的时间段,而且执行价格也是变 动的 例如,某公司发行的一个5年期的认股权证,只允许持有 者在第2年到第5年之间的某些特定的日期执行,并且在第 2年和第3年间的执行价格为20美元,第4年的执行价格为 23买美元,最后一年的执行价格为25美元。

金融学中的金融衍生品定价

金融学中的金融衍生品定价

金融学中的金融衍生品定价金融衍生品是金融市场中的一种重要工具,其定价是金融学中的重要课题之一。

本文将从理论层面对金融衍生品定价进行探讨,并介绍几种常用的金融衍生品定价模型。

一、定价理论基础金融衍生品的定价理论基础主要包括资产定价理论和无套利定价原理。

资产定价理论是指通过衡量资产的风险和收益来确定其价格,其中著名的资本资产定价模型(CAPM)和套利定价理论(APT)被广泛应用于金融衍生品的定价。

无套利定价原理是指在金融市场中不存在风险无差异的套利机会,通过构建套利组合实现无风险利润。

二、期权定价模型期权是金融衍生品中的一种典型产品。

几种常用的期权定价模型包括布莱克-斯科尔斯(Black-Scholes)模型和它的变体,以及蒙特卡洛模拟方法。

布莱克-斯科尔斯模型以资本资产定价模型为基础,通过假设资产价格的对数收益率服从几何布朗运动,建立了对期权价格的数学表达式。

蒙特卡洛模拟方法则通过随机模拟资产价格的路径,得到期权价格的近似解。

三、期货和远期定价模型期货和远期合约是另一类广泛使用的金融衍生品。

最基本的定价模型是无套利定价模型,即利用无套利原理确定合约价格。

此外,通过协理论方法,可以根据利率和存储成本等因素,建立远期合约价格的模型。

另外,通过期货价格和现货价格之间的价差(基差),也可以对期货合约进行定价。

四、利率衍生品定价模型利率衍生品包括利率互换、利率期权等。

利率互换的定价模型可以基于利率期限结构,利用贴现因子计算交换现金流的现值。

利率期权的定价模型常用的有布莱克-迈尔斯(Black-Merton)模型和格文斯坦(Geske)模型。

五、其他金融衍生品定价模型除了上述提到的几种金融衍生品之外,还有其他一些特殊的金融衍生品,如信用衍生品和能源衍生品。

信用衍生品的定价模型主要包括基于模型和基于市场的方法。

能源衍生品的定价模型受多种因素影响,如供求关系、储存成本等。

六、定价模型的应用和局限性金融衍生品定价模型的应用广泛,不仅在金融市场中用于交易和风险管理,还在金融工程学和金融研究中具有重要意义。

Matlab金融计算讲义

Matlab金融计算讲义
2013.1.4-2013.5.21青 岛 啤 酒 的 日 收 盘 价 39 38 37
收盘价
36
35
34
33
ห้องสมุดไป่ตู้
32
2013/01
2013/02
2013/03 日期
2013/04
2013/05
(3)fetch函数 从网络获取股票数据(Yahoo、Bloomberg) c=yahoo;%从雅虎获取数据 x=fetch(c,'security_name','fields','fromedate', 'todate','period'); security:证券的名字(代号) fields可取close,high,volume period可取d,w,m,v,分别表示日、周、月、 红利
1.1 时间序列变量的创立
1.1.1 fints函数创立时间变量序列 Matlab中有专门的时间序列格式来保存时间 序列数据。命令为fints(dates, data)。第一列为时 间,其他列为相应的数据。 例1-1 文件:fts_ex01.m 程序:dates=[today:today+5]'; data=[1:6]'; tsobjkt = fints(dates, data)
例1-6 利用例5中的数据,用MA模型 进行估计。 文件:fts_ex06.m
例1-7 利用青岛啤酒和沪深300指数2012年5月2 日至2013年5月21日的日收盘价收益率,用 ARMAX模型进行估计。 文件:fts_ex07.m
(3)广义线性模型PEM 调用方式: sys=pem(data,’na’,na,’nb’,nb,’nc’,nc,’nd’, nd,’nf ’,nf,’nk’,nk) (4)Box-Jenkins模型 调用方式: sys=bj(data,’nb’,nb,’nc’,nc,’nd’,nd,’nf ’,nf,’nk’,nk)
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

欧式看涨期权Delta
PutDelta
欧式看跌期权Delta
PPT文档演模板
Matlab金融工程教程第6章金融衍生 品计算
2.欧式期权Gamma值。 调用方式
Gamma = blsgamma(Price, Strike, Rate, Time, Volatility, Yield)
输入参数同前 输出参数
Matlab金融工程教程第6章金融衍生 品计算
6.2 欧式期权计算
6.2.1 Black-Scholes方程
PPT文档演模板
Matlab金融工程教程第6章金融衍生 品计算
6.2.2欧式期权价格函数
调用方式
[Call, Put] = blsprice(Price, Strike, Rate, Time, Volatility, Yield)
CallTheta 欧式看涨期权Theta值
PutTheta 欧式看跌期权Theta值
PPT文档演模板
Matlab金融工程教程第6章金融衍生 品计算
4.欧式期权Rho值 调用方式 [CallRho, PutRho] = blsrho(Price, Strike, Rate, Time, Volatility, Yield) 输入参数同前 输出参数 CallRho 欧式看涨期权Rho值 PutRho 欧式看跌期权Rho值
Gamma 欧式期权Gamma值
PPT文档演模板
Matlab金融工程教程第6章金融衍生 品计算
3.欧式看涨期权Theta值。 调用方式 [CallTheta, PutTheta]
= blstheta(Price, Strike, Rate, Time, Volatility, Yield) 输入参数同前 输出参数
PPT文档演模板
Matlab金融工程教程第6章金融衍生 品计算
5.欧式期权Vega 调用方式
Vega = blsvega(Price, Strike, Rate, Time, Volatility, Yield) 输入参数同前 输出参数
Vega 欧式期权Vega
PPT文档演模板
Matlab金融工程教程第6章金融衍生 品计算
Time
期权存续期
Increment 时间的增量
Volatility 波动率的标准差
Flag
确定期权种类,看涨期权((Flag=1),看跌期权
(Flag=0)。
Matlab金融工程教程第6章金融衍生 品计算
DividendRate
Dividend
ExDiv 输出参数
Price Option
(Optional) 红利发放率。默认值为0,表示没 有红利,如果给出了红利率,Dividend与 ExDiv值为0。 (Optional) 标的资产价外红利金额,除了固定 红利率之外的红利。 (Optional) 标的资产除息日期。
输入参数
Price
标的资产价格
Strike
执行价
Rate
无风险利率
Time
距离到期日的时间,即期权的存续期
Volatility 标的资产的标准差
Yield
标的资产的红利率
输出参数
Call
欧式看涨期权价格Put欧式看跌期权价格PPT文档演模板
Matlab金融工程教程第6章金融衍生 品计算
股票价格为100,股票波动率标准差为0.5,无风险率为10%,期 权执行价95,存续期为0.25年,试计算该股票欧式期权价格。 >> [Call, Put] = blsprice(100, 95, 0.1, 0.25, 0.5) Call = 13.6953 Put = 6.3497
Matlab金融工程教程第6 章金融衍生品计算
PPT文档演模板
2020/11/2
Matlab金融工程教程第6章金融衍生 品计算
6.1 金融衍生产品种类
6.1.1 期权分类 基本期权 n 欧式期权 n 美式期权 奇异期权 n 亚式期权 n 障碍期权 n 复合期权 n 回望期权 n 百慕大期权
PPT文档演模板
如果是欧式看跌期权则输入Type = {‘put’},
默认值为欧式看涨期权
输出参数
Volatility 欧式期权隐含波动率,期权类别由Type确定
PPT文档演模板
Matlab金融工程教程第6章金融衍生 品计算
6.2.4 期货期权定价函数
调用方式
[Call, Put] = blkprice(Price, Strike, Rate, Time, Volatility)
[AssetPrice, OptionValue]
= binprice(Price, Strike, Rate, Time, Increment,
Volatility,Flag,DividendRate,Dividend, ExDiv)
输入参数
Price
股票价格
Strike
期权的执行价
Rate
无风险利率
PPT文档演模板
Matlab金融工程教程第6章金融衍生 品计算
6.2.3 欧式期权希腊字母
1.欧式期权Delta值
调用方式
[CallDelta, PutDelta]
= blsdelta(Price, Strike, Rate, Time, Volatility, Yield)
输入参数同上
输出参数
CallDelta
6.欧式期权隐含波动率
调用方式
Volatility
= blsimpv(Price, Strike, Rate, Time, Value, Limit, Tolerance, Type)
输入参数
Price
标的资产当前价格
Strike
期权执行价
Rate
无风险利率
Time
存续期
Value
欧式期权价格
PPT文档演模板
输入参数
Price
期货价格
Strike
期货期权执行价
Rate
无风险利率
Time
期权存续期
Volatility
期货变化标准差
输出参数
Call
欧式看涨期权价格
Put
欧式看跌期权价格
PPT文档演模板
Matlab金融工程教程第6章金融衍生 品计算
6.3 衍生产品定价数值解
PPT文档演模板
二叉树定价函数
调用方式
Matlab金融工程教程第6章金融衍生 品计算
Limit
(Optional)欧式期权波动率上限,默认值是10
Yield
(Optional)标的资产的分红,折合成年收益率
Tolerance (Optional)可以忍受隐含波动率,默认值为10
Type
(Optional)欧式期权种类,
如果是欧式看涨期权则输入Type = {‘call’},
相关文档
最新文档