内涵报酬率
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.2.2 二叉树模型的参数计算 二叉树期权定价模型的计算中,需要获得风险中性定价下 、 和 的数值,才能通过逆 推获得期权的理论价值。下面我们推导风险中性定价下 、 和 的计算公式。 由于股票价格变化是一个等价鞅过程,股票的预期价格中只存在因时间变化而发生的资 产增值。因此股票价格的数学期望满足:
四、运行结果分析
>> coupon=[5 5 5 5 5] coupon =
55555 >> [irr n]=newtonirr(coupon,96,1e-4) irr =
0.0595 n=
3
6
实验 1.3 二叉树模型与期权定价
1.1 实验目的 掌握二叉树模型求解期权的思想和方法,能够利用 matlab 软件编写相应的计算程序。
3
1.2 内涵收益率的计算
内涵报酬率(IRR),又称内含报酬率、内部报酬率,是指能够使未来现金流入量现值等 于未来现金流出量现值的折现率,或者说是使投资方案净现值为 0 的折现率。 内涵报酬率 是一个相对数指标,和现值指数在一定程度上反映一个投资项目投资效率高低,所以这类评 价指标通常是用于独立方案决策,也就是备选方案之间是相互独立的。
1.简单收益率 标注为 t 时刻的价格, 标注为 时刻的价格。因此,定义 t-1 到 t 期简单收益
率应为:
稍加变形,我们可得其另一表达形式:
根据定义,2 期简单收益率就是 t 期价格和 t-2 期价格的变动率,可以写为:
因此我们可以得到多期的收益率的一般形式,即:
2.对数收益率 除了简单收益率外,金融研究中另一使用频率很高的收益率是对数收益率,它以复利的 方式衡量 t 期价格与 t-2 期价格的变动率。1 期的对数收益率定义为:
二、算法思路 1.首先设置初值点,对于收益率而言,合理的取值范围是大于 0。为了保证计算的可靠性, 覆盖极端情况,初值取足够小,并用科学计数法表示, =1e-8。 2.我们已经有了现值程序 MPV(coupon,r),对于牛顿迭代法而言,还缺少计算一阶导程序 GPV(coupon,r)。就债券现值而言,一阶导的公式推导如下:
if(yret(i,1)~=flag) yret1(k,:)=yret(i-1,:);
k=k+1; flag=yret(i,1); end end yret1(k,:)=yret(n,:); yearret=dayret2(yret1(:,2));
yearret=[yearret,yret1(2:end,1)]; end
用牛顿迭代法解非线性方程 f(x)=0,是求方程根的重要方法之一,它通过泰勒展开巧妙地把
非线性方程线性化,其最大优点是在方程 f(x) = 0 的单根附近具有平方收敛。
一、基本原理:
把 f(x)在点 x0 的某邻域内展开成泰勒级数
,取其线性
部分(即泰勒展开的前两项), 并令其等于 0。
泰勒展开式(Taylor Expansion):
1.2 基本原理
1979 年,罗斯、考科斯和马克·鲁宾斯坦(Mark Rubinstein)在《金融经济学杂志》上发表 论文“期权定价:一种简单的方法”,该文提出了一种简单的对离散时间的期权的定价方法, 被称为 Cox-Ross-Rubinstein 二项式期权定价模型。
1.2.1 二项式模型的基本原理 模型假设股价波动只有向上和向下两个变动方向,在期权的存续期内,股价向上(或向下) 波动的概率和幅度都不变。然后将考察的存续期分为若干阶段,利用上面股价变动的特点, 可以计算出每一节点的股票价格,直至期权执行日股票的可能价格,根据期权执行价格,我 们可以计算出不同的股票价格状态下期权的执行价值。然后通过折现就可以获得当期期权的 价格。 例如在图 1 中,我们把考察的存续期分为两个阶段,得到两层结构的二叉树。 是股票 的初始价格,经过一次价格变化,如果股价上涨,我们得到子节点 ;如果价格下跌,我 们得到另一个子节点 。以 和 为初始价格,再经过一次价格变化,我们得到第二层的 最终价格 、 和 。
(1) 对式(1)稍做变换,我们得到:
1
这说明式中的 恰是 t 期与 t-2 期之间的连续复利增长率。 与 1 期的对数收益率相似,2 期的对数收益率定义为:
由于
,因此:
1.3 实验内容
1)编写计算日算术收益率和日对数收益率的 matlab 程序。 2)编写股票组合的收益率程序 3)编写计算年收益率和周收益率的 matlab 程序。 4)利用上面编写的程序,对上证综合指数和深圳成份指数做统计分析。
对于二叉树模型,还有一个条件,即股票的上涨和下跌之积满足
。
把式
(2)等式代入上式可得:
(4)
利用
,可以把上式转换为 的二次函数:
利用 的泰勒 1 阶展开式,
,待入上式可得关于 的一元二次方程:
的解应为:
任然利用 的泰勒 1 阶展开式,
中
,ቤተ መጻሕፍቲ ባይዱ
, ,上式可转化为:
,根号
9
由于 是下跌的幅度,因此我们应该取小的那个值
2
function [ret]=wkret(data) data(:,3)=fix((data(:,1)+2)./7); sn=size(data,1); flag=data(1,3); data(:,4)=0; for i=2:sn
if (data(i,3)~=flag) data(i-1,4)=1; flag=data(i,3); end
3.循环迭代。设置 r1 和 r0 两个变量,这里的技巧在于,每次循环开始,首先把 r1 的值赋给 r0,然后 r1 计算新值,这样 r0 中始终就为上一个 r1 的值。即:
While(………) R0=R1; R1=…..; END
4.设置循环终止条件,即
变化越来越小,满足精度条件 TOL。
5.最后得到符合精度条件的结果 ,irr=r1。
函数的输入参数: Irr:
Iter:
未来收益现金流 市场价格 精度设置
内涵收益率 迭代次数
function [irr iter]=newtonirr(coupon,mv,tol) t0=1e-8; h=-(mpv(coupon,t0)-mv)/mgrad(coupon,t0); t1=t0+h; iter=0; while(abs(t1-t0)>tol) t0=t1; h=-(mpv(coupon,t0)-mv)/mgrad(coupon,t0); t1=t0+h; iter=iter+1; end irr=t1; end
,而 则为
。
通过上面的理论推导,我们获得了风险中性条件下,上涨下跌的变化幅度 和 。以及 对应的概率 和 ,归纳如下:
(5)
2.美式期权的二叉树期权定价 不同于欧式期权必须到期才能执行期权,美式期权的买方可以在到期日或之前任一交易 日提出执行。正是存在提前执行,美式期权定价时无法由 BS 公式求得精确值。而二叉树模 型由于能够模拟股价运行的可能路径,因此成为美式期权定价的一种有效手段。 首先,我们利用二叉树模型求得每一个可能的股价状态。 然后,考虑如果期权能够提前执行,那么每二叉树每一个节点的期权价格就应该比较提 前执行和不提前执行两种情况的获益情况,因此每一节点的期权价值公式为:
function [sret2]=dayret2(x) n=length(x); sret2=zeros(n-1,2); x1=x(2:n,1); x2=x(1:(n-1),1); sret2(:,1)=(x1(:,1)-x2(:,1))./x2(:,1); sret2(:,2)=log(x1(:,1))-log(x2(:,1)); end
图 1:二叉树模型中股价变化路径图
假设计算的是欧式看涨期权的理论价值,并且知道看涨期权执行价格 ,结合股价的二
叉树模型,我们可以利用公式
求出期末各个节点的期权价值。然后利用价
7
格上涨和下跌的概率 和 ,通过公式
,从期末的期权价
值开始,折现每一期的期权价值,最后逆推获得期初的期权价格 ,其过程如图 2。
三、程序实现
1.计算一阶导的程序:gpv=mgrad(coupon,r) 函数的输入参数:
coupon(向量): 未来收益现金流 r(数值): 收益率
函数的输入参数: gpv: 一阶导数值
5
function gpv=mgrad(coupon,r) t=size(coupon,2); cpv=0; for i=1:t
end pos=find(data(:,4)==1); new=data(pos,[1,2]); n=size(new,1); ret=log(new(2:n,2))-log(new(1:(n-1),2)); ret(:,2)=new(2:n,1); end
function [yearret]=yret(x) n=size(x,1); yret=zeros(n,2); yret(:,1)=year(x(:,1)); yret(:,2)=x(:,2); m=yret(n,1)-yret(1,1)+1; yret1=zeros(m,2); flag=yret(1,1); k=1; for i=1:n
我们令
,然后推导可得迭代公式:
由此我们得到迭代公式:
2.几何意义 在上面的式子中,
为切线的斜率,即
,就求得增量 。由于函数 单调递减,
正。
就推进到下一个搜索点 。然后求
。重复上面的迭代公式,我们就能无限逼近
,而
为
,用 乘以
为负值,增量部分
为
位置的切线,与 x 轴相交,我们得到 的点。
4
图 1.牛顿迭代法的几何意义
cpv=cpv+i*coupon(i)/(1+r)^i; end gpv=-(1/(1+r))*(t*100/(1+r)^t+cpv); end
2.牛顿搜索法:[irr iter]=newtonirr(coupon,mv,tol)
函数的输入参数: coupon(向量): MV(数值): TOL(数值):
(6)
利用二叉树模型,从到期日开始倒推每一期不同股价状态下期权的价格,当回溯到当期 时,美式期权的理论价值就获得了。主要过程如图 3 所示:
图 3:二叉树模型中美式期权的逆向求解
10
理论上讲,间隔时间 越短,最后获得的结果精度就越高,在实践中,N 的取值往往要 大于 30,才能获得比较理想的结果。
图 2:二叉树模型中期权的逆向求解
由于二项式期权定价模型,假定了给定时间间隔内,证券的价格运动只有两个可能的方 向:上涨或者下跌,模型的结构非常简单,而二项式分布渐近趋向于正态分布,当我们把给 定的时间段细分为更小的时间单位,拟合的精度就不断提高,这些特点使得二项式期权定价 模型可以用于处理更为复杂的期权。因此与 B-S 期权公式、蒙特卡洛模拟一起成为三大主 要定价手段之一。
1.1 金融资产收益率的计算
1.实验目的 1)掌握使用 matlab 计算金融序列的算数收益率和对数收益率。 2)掌握使用 matlab 计算金融数据日收益率、周收益率、月收益率、季度收益率和年收益率 的求法。 2.实验原理
在金融研究中,处理的主要对象就是各类资产的收益率。因此我们有必要了解收益率的 各类计算方法。
function [sret]=dayret(x) n=size(x,1); sret=zeros(n-1,2); for i=2:n sret((i-1),1)=(x(i,1)-x((i-1),1))/x((i-1),1); sret((i-1),2)=log(x(i,1))-log(x((i-1),1)); end end
而二叉树模型中股票的价格变化服从二项分布,股票价格变化只有向上或者向下两种状 态,根据二项式分布的特征,股票价格的数学期望满足:
联立两式,可得:
在求得 和 的前提下,我们可以求得 :
8
(2)
因股票价格变化符合布朗运动,从而有
,因此我们得到:
利用公式 可得:
因此 为:
,可以计算 的方差。首先利用二项分布计算 (3)
1.简单搜索方法
2.简单搜索方法的改进
3.折半方法
4.牛顿迭代法(Newton method)
牛顿迭代法(Newton's method)又称为牛顿-拉夫逊方法(Newton-Raphson method),它
是牛顿在 17 世纪提出的一种在实数域和复数域上近似求解方程的方法。由于多数方程不存
在求根公式,因此求精确根非常困难,甚至不可能,从而寻找方程的近似根就显得特别重要。
四、运行结果分析
>> coupon=[5 5 5 5 5] coupon =
55555 >> [irr n]=newtonirr(coupon,96,1e-4) irr =
0.0595 n=
3
6
实验 1.3 二叉树模型与期权定价
1.1 实验目的 掌握二叉树模型求解期权的思想和方法,能够利用 matlab 软件编写相应的计算程序。
3
1.2 内涵收益率的计算
内涵报酬率(IRR),又称内含报酬率、内部报酬率,是指能够使未来现金流入量现值等 于未来现金流出量现值的折现率,或者说是使投资方案净现值为 0 的折现率。 内涵报酬率 是一个相对数指标,和现值指数在一定程度上反映一个投资项目投资效率高低,所以这类评 价指标通常是用于独立方案决策,也就是备选方案之间是相互独立的。
1.简单收益率 标注为 t 时刻的价格, 标注为 时刻的价格。因此,定义 t-1 到 t 期简单收益
率应为:
稍加变形,我们可得其另一表达形式:
根据定义,2 期简单收益率就是 t 期价格和 t-2 期价格的变动率,可以写为:
因此我们可以得到多期的收益率的一般形式,即:
2.对数收益率 除了简单收益率外,金融研究中另一使用频率很高的收益率是对数收益率,它以复利的 方式衡量 t 期价格与 t-2 期价格的变动率。1 期的对数收益率定义为:
二、算法思路 1.首先设置初值点,对于收益率而言,合理的取值范围是大于 0。为了保证计算的可靠性, 覆盖极端情况,初值取足够小,并用科学计数法表示, =1e-8。 2.我们已经有了现值程序 MPV(coupon,r),对于牛顿迭代法而言,还缺少计算一阶导程序 GPV(coupon,r)。就债券现值而言,一阶导的公式推导如下:
if(yret(i,1)~=flag) yret1(k,:)=yret(i-1,:);
k=k+1; flag=yret(i,1); end end yret1(k,:)=yret(n,:); yearret=dayret2(yret1(:,2));
yearret=[yearret,yret1(2:end,1)]; end
用牛顿迭代法解非线性方程 f(x)=0,是求方程根的重要方法之一,它通过泰勒展开巧妙地把
非线性方程线性化,其最大优点是在方程 f(x) = 0 的单根附近具有平方收敛。
一、基本原理:
把 f(x)在点 x0 的某邻域内展开成泰勒级数
,取其线性
部分(即泰勒展开的前两项), 并令其等于 0。
泰勒展开式(Taylor Expansion):
1.2 基本原理
1979 年,罗斯、考科斯和马克·鲁宾斯坦(Mark Rubinstein)在《金融经济学杂志》上发表 论文“期权定价:一种简单的方法”,该文提出了一种简单的对离散时间的期权的定价方法, 被称为 Cox-Ross-Rubinstein 二项式期权定价模型。
1.2.1 二项式模型的基本原理 模型假设股价波动只有向上和向下两个变动方向,在期权的存续期内,股价向上(或向下) 波动的概率和幅度都不变。然后将考察的存续期分为若干阶段,利用上面股价变动的特点, 可以计算出每一节点的股票价格,直至期权执行日股票的可能价格,根据期权执行价格,我 们可以计算出不同的股票价格状态下期权的执行价值。然后通过折现就可以获得当期期权的 价格。 例如在图 1 中,我们把考察的存续期分为两个阶段,得到两层结构的二叉树。 是股票 的初始价格,经过一次价格变化,如果股价上涨,我们得到子节点 ;如果价格下跌,我 们得到另一个子节点 。以 和 为初始价格,再经过一次价格变化,我们得到第二层的 最终价格 、 和 。
(1) 对式(1)稍做变换,我们得到:
1
这说明式中的 恰是 t 期与 t-2 期之间的连续复利增长率。 与 1 期的对数收益率相似,2 期的对数收益率定义为:
由于
,因此:
1.3 实验内容
1)编写计算日算术收益率和日对数收益率的 matlab 程序。 2)编写股票组合的收益率程序 3)编写计算年收益率和周收益率的 matlab 程序。 4)利用上面编写的程序,对上证综合指数和深圳成份指数做统计分析。
对于二叉树模型,还有一个条件,即股票的上涨和下跌之积满足
。
把式
(2)等式代入上式可得:
(4)
利用
,可以把上式转换为 的二次函数:
利用 的泰勒 1 阶展开式,
,待入上式可得关于 的一元二次方程:
的解应为:
任然利用 的泰勒 1 阶展开式,
中
,ቤተ መጻሕፍቲ ባይዱ
, ,上式可转化为:
,根号
9
由于 是下跌的幅度,因此我们应该取小的那个值
2
function [ret]=wkret(data) data(:,3)=fix((data(:,1)+2)./7); sn=size(data,1); flag=data(1,3); data(:,4)=0; for i=2:sn
if (data(i,3)~=flag) data(i-1,4)=1; flag=data(i,3); end
3.循环迭代。设置 r1 和 r0 两个变量,这里的技巧在于,每次循环开始,首先把 r1 的值赋给 r0,然后 r1 计算新值,这样 r0 中始终就为上一个 r1 的值。即:
While(………) R0=R1; R1=…..; END
4.设置循环终止条件,即
变化越来越小,满足精度条件 TOL。
5.最后得到符合精度条件的结果 ,irr=r1。
函数的输入参数: Irr:
Iter:
未来收益现金流 市场价格 精度设置
内涵收益率 迭代次数
function [irr iter]=newtonirr(coupon,mv,tol) t0=1e-8; h=-(mpv(coupon,t0)-mv)/mgrad(coupon,t0); t1=t0+h; iter=0; while(abs(t1-t0)>tol) t0=t1; h=-(mpv(coupon,t0)-mv)/mgrad(coupon,t0); t1=t0+h; iter=iter+1; end irr=t1; end
,而 则为
。
通过上面的理论推导,我们获得了风险中性条件下,上涨下跌的变化幅度 和 。以及 对应的概率 和 ,归纳如下:
(5)
2.美式期权的二叉树期权定价 不同于欧式期权必须到期才能执行期权,美式期权的买方可以在到期日或之前任一交易 日提出执行。正是存在提前执行,美式期权定价时无法由 BS 公式求得精确值。而二叉树模 型由于能够模拟股价运行的可能路径,因此成为美式期权定价的一种有效手段。 首先,我们利用二叉树模型求得每一个可能的股价状态。 然后,考虑如果期权能够提前执行,那么每二叉树每一个节点的期权价格就应该比较提 前执行和不提前执行两种情况的获益情况,因此每一节点的期权价值公式为:
function [sret2]=dayret2(x) n=length(x); sret2=zeros(n-1,2); x1=x(2:n,1); x2=x(1:(n-1),1); sret2(:,1)=(x1(:,1)-x2(:,1))./x2(:,1); sret2(:,2)=log(x1(:,1))-log(x2(:,1)); end
图 1:二叉树模型中股价变化路径图
假设计算的是欧式看涨期权的理论价值,并且知道看涨期权执行价格 ,结合股价的二
叉树模型,我们可以利用公式
求出期末各个节点的期权价值。然后利用价
7
格上涨和下跌的概率 和 ,通过公式
,从期末的期权价
值开始,折现每一期的期权价值,最后逆推获得期初的期权价格 ,其过程如图 2。
三、程序实现
1.计算一阶导的程序:gpv=mgrad(coupon,r) 函数的输入参数:
coupon(向量): 未来收益现金流 r(数值): 收益率
函数的输入参数: gpv: 一阶导数值
5
function gpv=mgrad(coupon,r) t=size(coupon,2); cpv=0; for i=1:t
end pos=find(data(:,4)==1); new=data(pos,[1,2]); n=size(new,1); ret=log(new(2:n,2))-log(new(1:(n-1),2)); ret(:,2)=new(2:n,1); end
function [yearret]=yret(x) n=size(x,1); yret=zeros(n,2); yret(:,1)=year(x(:,1)); yret(:,2)=x(:,2); m=yret(n,1)-yret(1,1)+1; yret1=zeros(m,2); flag=yret(1,1); k=1; for i=1:n
我们令
,然后推导可得迭代公式:
由此我们得到迭代公式:
2.几何意义 在上面的式子中,
为切线的斜率,即
,就求得增量 。由于函数 单调递减,
正。
就推进到下一个搜索点 。然后求
。重复上面的迭代公式,我们就能无限逼近
,而
为
,用 乘以
为负值,增量部分
为
位置的切线,与 x 轴相交,我们得到 的点。
4
图 1.牛顿迭代法的几何意义
cpv=cpv+i*coupon(i)/(1+r)^i; end gpv=-(1/(1+r))*(t*100/(1+r)^t+cpv); end
2.牛顿搜索法:[irr iter]=newtonirr(coupon,mv,tol)
函数的输入参数: coupon(向量): MV(数值): TOL(数值):
(6)
利用二叉树模型,从到期日开始倒推每一期不同股价状态下期权的价格,当回溯到当期 时,美式期权的理论价值就获得了。主要过程如图 3 所示:
图 3:二叉树模型中美式期权的逆向求解
10
理论上讲,间隔时间 越短,最后获得的结果精度就越高,在实践中,N 的取值往往要 大于 30,才能获得比较理想的结果。
图 2:二叉树模型中期权的逆向求解
由于二项式期权定价模型,假定了给定时间间隔内,证券的价格运动只有两个可能的方 向:上涨或者下跌,模型的结构非常简单,而二项式分布渐近趋向于正态分布,当我们把给 定的时间段细分为更小的时间单位,拟合的精度就不断提高,这些特点使得二项式期权定价 模型可以用于处理更为复杂的期权。因此与 B-S 期权公式、蒙特卡洛模拟一起成为三大主 要定价手段之一。
1.1 金融资产收益率的计算
1.实验目的 1)掌握使用 matlab 计算金融序列的算数收益率和对数收益率。 2)掌握使用 matlab 计算金融数据日收益率、周收益率、月收益率、季度收益率和年收益率 的求法。 2.实验原理
在金融研究中,处理的主要对象就是各类资产的收益率。因此我们有必要了解收益率的 各类计算方法。
function [sret]=dayret(x) n=size(x,1); sret=zeros(n-1,2); for i=2:n sret((i-1),1)=(x(i,1)-x((i-1),1))/x((i-1),1); sret((i-1),2)=log(x(i,1))-log(x((i-1),1)); end end
而二叉树模型中股票的价格变化服从二项分布,股票价格变化只有向上或者向下两种状 态,根据二项式分布的特征,股票价格的数学期望满足:
联立两式,可得:
在求得 和 的前提下,我们可以求得 :
8
(2)
因股票价格变化符合布朗运动,从而有
,因此我们得到:
利用公式 可得:
因此 为:
,可以计算 的方差。首先利用二项分布计算 (3)
1.简单搜索方法
2.简单搜索方法的改进
3.折半方法
4.牛顿迭代法(Newton method)
牛顿迭代法(Newton's method)又称为牛顿-拉夫逊方法(Newton-Raphson method),它
是牛顿在 17 世纪提出的一种在实数域和复数域上近似求解方程的方法。由于多数方程不存
在求根公式,因此求精确根非常困难,甚至不可能,从而寻找方程的近似根就显得特别重要。