logo资料库

EXCEL及VBA高级建模.pdf

第1页 / 共269页
第2页 / 共269页
第3页 / 共269页
第4页 / 共269页
第5页 / 共269页
第6页 / 共269页
第7页 / 共269页
第8页 / 共269页
资料共269页,剩余部分请下载后查看
前言
致谢
第1章 介绍
1.1 金融学概览
1.2 收益分布假设
1.3 数学和统计方法
1.4 数值方法
1.5 Excel 解决方案
1.6 本书主题
1.7 有关Excel工作簿
1.8 意见和建议
第2章 高级Excel函数和过程
2.1 访问Excel函数
2.2 数学类函数
2.3 统计类函数
2.3.1 使用频率函数Frequency
2.3.2 使用分位数函数Quartile
2.3.3 使用正态函数Norm
2.4 查找类函数
2.5 其他类型函数
2.6 审核工具
2.7 模拟运算表(Data Tables)
2.7.1 建立单变量模拟运算表
2.7.2 建立双变量模拟运算表
2.8 XY图
2.9 访问数据分析和规划求解
2.10 使用区域名称
2.11 回归分析
2.12 单变量求解
2.13 矩阵代数以及相关函数
2.13.1 矩阵介绍
2.13.2 矩阵转置
2.13.3 矩阵相加
2.13.4 矩阵相乘
2.13.5 矩阵求逆
2.13.6 线性方程组求解
2.13.7 Excel矩阵函数小结
小结
第3章 VBA介绍
3.1 掌握VBA的好处
3.2 VBA的面向对象观点
3.3 编写VBA宏
3.3.1 简单VBA子程序
3.3.2 交互函数MsgBox
3.3.3 编写环境
3.3.4 输入代码并运行宏
3.3.5 录制按键和编辑代码
3.4 编程要素
3.4.1 变量和数据类型
3.4.2 VBA数组变量
3.4.3 控制结构
3.4.4 控制重复过程
3.4.5 在代码中使用Excel和VBA函数
3.4.6 编程的一般观点
3.5 宏与电子表格之间的通信
3.6 子程序实例
3.6.1 图表
3.6.2 正态概率散点图
3.6.3 用规划求解产生有效边界
小结
附录3A Visual Basic编辑器
附录3B 用‘相对引用’模式来录制按键
第4章 编写VBA用户定义函数
4.1 简单销售佣金函数
4.2 在工作表中创建Commission(Sales)函数
4.3 多参数期权定价函数
4.4 在VBA中操作数组
4.5 数组变量的期望和方差函数
4.6 数组变量的组合方差函数
4.7 输出数组形式的函数
4.8 在用户定义函数中调用Excel和VBA函数
4.8.1 在用户定义函数中使用VBA函数
4.8.2 加载宏
4.9 编写VBA函数的优缺点
小结
附录4A 演示函数如何处理数组
附录4B 二叉树期权定价函数
编写函数练习
第5章 股票的有关简介
第6章 投资组合最优化
6.1 组合的均值和方差
6.2组合的风险-收益表示
6.3用规划求解得到有效点
6.4求有效边界(黄和利曾伯格的方法)
6.5有约束边界组合
6.6无风险资产和风险资产的结合
6.7问题一 一种无风险资产和一种风险资产的组合
6.8问题二 存在两种风险资产的组合
6.9问题三 一种无风险资产和一个风险投资组合
6.10 Module1中的用户定义函数
6.11 Module1中用于解决三类常见组合问题的函数
6.12模块M中的宏功能
小结
第7章 资产定价
7.1单因素模型
7.2估计β系数
7.3资本资产定价模型(CAPM)
7.4方差-协方差矩阵
7.5风险值(VaR)
7.6水平财富
7.7正态和对数正态分布矩之间的关系
7.8 Module1中的用户定义函数
小结
第8章 投资组合业绩评价
8.1传统业绩评价方法
8.2 主动—被动管理
8.3风格分析(Style Analysis)
8.4简单风格分析
8.5 滚动时段风格分析
8.6风格权重的置信区间
8.7 Module1中的用户定义函数
小结
第9章 股票期权介绍
9.1 布莱克-舒尔斯公式的起源
9.2 布莱克-舒尔斯公式
9.3 对冲投资组合(Hedge Portfolios)
9.4 风险中性定价
9.5 风险中性定价的单期二叉树模型
9.6期权平价关系(Put-Call Parity)
9.7 红利(Dividends)
9.8 美式期权的特征
9.9 数值方法
9.10 波动率和非正态股票收益
小结
第10章 二叉树
10.1 二叉树介绍
10.2 简化的二叉树
10.3 JR二叉树
10.4 CRR树
10.5 二项分布近似与布莱克-舒尔斯公式
10.6 CRR二叉树的收敛性
10.7 LR树
10.8 CRR树与LR树的比较
10.9 美式期权和CRR美式二叉树
10.10 Module0和Module1中的用户定义函数
小结
第11章 布莱克-舒尔斯公式
11.1 布莱克-舒尔斯公式
11.2 在Excel中运用布莱克-舒尔斯公式
11.3 外汇(Currencies)和商品(Commodities)期权
11.4 计算期权的‘希腊’参数
11.5 对冲组合
11.6 布莱克-舒尔斯公式的正式推导
11.7 Module1中的用户定义函数
小结
第12章 欧式期权定价的其它数值方法
12.1 蒙特卡罗模拟介绍
12.2 对偶变量(Antithetic Variables)模拟
12.3 准随机抽样(Quasi-Random Sampling)模拟
12.4 模拟方法比较
12.5 蒙特卡罗 模拟中的希腊参数计算
12.6 数值积分
12.7 Module1中的用户定义函数
小结
第13章 非正态分布和隐含波动率
13.1 非正态分布假设下的布莱克-舒尔斯 公式
13.2 隐含波动率(Implied Volatility)
13.3 调整偏度(Skewness)和峰度(Kurtosis)
13.4 波动率曲线(The Volatility Smile)
13.5 Module1中的用户定义函数
小结
第14章 债券期权定价介绍
14.1 利率期限结构
14.2 附息债券的现金流和到期收益率
14.3 二叉树
14.4 布莱克的债券期权定价公式
14.5 久期和凸性
14.6 符号
 小结
第15章 利率模型
15.1 Vasicek利率期限结构模型
15.2 Vasicek模型对零息票债券欧式期权定价
15.3 Vasicek模型对附息债券欧式期权定价
15.4 CIR利率期限结构模型
15.5 CIR模型对零息票债券欧式期权定价
15.6 CIR模型附息债券欧式期权定价
15.7 Module 1中的用户定义函数
小结
第16章 拟合利率期限结构
16.1 对数正态分布利率树
16.2 正态利率二叉树
16.3 BDT树
16.4 用BDT树为债券期权定价
16.5 Module 1中的用户定义函数
小结
附录 其它VBA函数
预测
ARIMA模型
样条
特征值和特征向量
目 录 前言 ............................................................................................ 6 致谢 ............................................................................................ 7 第 1 章 介绍 .............................................................................. 8 1.1 金融学概览........................................................................................................................8 1.2 收益分布假设....................................................................................................................9 1.3 数学和统计方法................................................................................................................9 1.4 数值方法............................................................................................................................9 1.5 Excel 解决方案..................................................................................................................9 1.6 本书主题..........................................................................................................................10 1.7 有关Excel工作簿.............................................................................................................11 1.8 意见和建议......................................................................................................................11 第 2 章 高级Excel函数和过程............................................... 12 2.1 访问Excel函数.................................................................................................................12 2.2 数学类函数......................................................................................................................13 2.3 统计类函数......................................................................................................................14 2.3.1 使用频率函数Frequency......................................................................................15 2.3.2 使用分位数函数Quartile......................................................................................18 2.3.3 使用正态函数Norm .............................................................................................19 2.4 查找类函数......................................................................................................................20 2.5 其他类型函数..................................................................................................................22 2.6 审核工具..........................................................................................................................22 2.7 模拟运算表(Data Tables)...........................................................................................24 2.7.1 建立单变量模拟运算表.......................................................................................24 2.7.2 建立双变量模拟运算表.......................................................................................26 2.8 XY图.................................................................................................................................28 2.9 访问数据分析和规划求解..............................................................................................32 2.10 使用区域名称................................................................................................................33 2.11 回归分析........................................................................................................................35 2.12 单变量求解....................................................................................................................38 2.13 矩阵代数以及相关函数................................................................................................40 2.13.1 矩阵介绍.............................................................................................................40 2.13.2 矩阵转置.............................................................................................................40 2.13.3 矩阵相加.............................................................................................................41 2.13.4 矩阵相乘.............................................................................................................41 2.13.5 矩阵求逆.............................................................................................................42 2.13.6 线性方程组求解.................................................................................................44
2.13.7 Excel矩阵函数小结.............................................................................................44 小结.........................................................................................................................................45 第 3 章 VBA介绍.................................................................... 46 3.1 掌握VBA的好处 .............................................................................................................46 3.2 VBA的面向对象观点 ......................................................................................................47 3.3 编写VBA宏 .....................................................................................................................48 3.3.1 简单VBA子程序 ..................................................................................................48 3.3.2 交互函数MsgBox.................................................................................................49 3.3.3 编写环境...............................................................................................................50 3.3.4 输入代码并运行宏...............................................................................................51 3.3.5 录制按键和编辑代码...........................................................................................51 3.4 编程要素..........................................................................................................................53 3.4.1 变量和数据类型...................................................................................................53 3.4.2 VBA数组变量 .......................................................................................................54 3.4.3 控制结构...............................................................................................................56 3.4.4 控制重复过程.......................................................................................................57 3.4.5 在代码中使用Excel和VBA函数 .........................................................................58 3.4.6 编程的一般观点...................................................................................................58 3.5 宏与电子表格之间的通信..............................................................................................59 3.6 子程序实例......................................................................................................................62 3.6.1 图表.......................................................................................................................62 3.6.2 正态概率散点图...................................................................................................65 3.6.3 用规划求解产生有效边界...................................................................................67 小结.........................................................................................................................................71 附录 3A Visual Basic编辑器 ..................................................................................................72 附录 3B 用‘相对引用’模式来录制按键 .........................................................................75 第 4 章 编写VBA用户定义函数............................................ 78 4.1 简单销售佣金函数..........................................................................................................78 4.2 在工作表中创建Commission(Sales)函数.......................................................................79 4.3 多参数期权定价函数......................................................................................................80 4.4 在VBA中操作数组 .........................................................................................................83 4.5 数组变量的期望和方差函数..........................................................................................84 4.6 数组变量的组合方差函数..............................................................................................86 4.7 输出数组形式的函数......................................................................................................89 4.8 在用户定义函数中调用Excel和VBA函数 ....................................................................91 4.8.1 在用户定义函数中使用VBA函数 ......................................................................91 4.8.2 加载宏...................................................................................................................91 4.9 编写VBA函数的优缺点 .................................................................................................92 小结.........................................................................................................................................92 附录 4A 演示函数如何处理数组 .........................................................................................93 附录 4B 二叉树期权定价函数 .............................................................................................94 编写函数练习.......................................................................................................................100
第 5 章 股票的有关简介 ...................................................... 105 第 6 章 投资组合最优化 ...................................................... 106 6.1 组合的均值和方差........................................................................................................106 6.2 组合的风险-收益表示.................................................................................................108 6.3 用规划求解得到有效点.................................................................................................109 6.4 求有效边界(黄和利曾伯格的方法).........................................................................113 6.5 有约束边界组合.............................................................................................................115 6.6 无风险资产和风险资产的结合.....................................................................................117 6.7 问题一 一种无风险资产和一种风险资产的组合.......................................................118 6.8 问题二 存在两种风险资产的组合...............................................................................120 6.9 问题三 一种无风险资产和一个风险投资组合...........................................................122 6.10 Module1 中的用户定义函数 .......................................................................................125 6.11 Module1 中用于解决三类常见组合问题的函数........................................................126 6.12 模块M中的宏功能 .......................................................................................................128 小结.......................................................................................................................................129 第 7 章 资产定价 .................................................................. 131 7.1 单因素模型.....................................................................................................................131 7.2 估计β系数.....................................................................................................................132 7.3 资本资产定价模型(CAPM) .....................................................................................135 7.4 方差-协方差矩阵.........................................................................................................136 7.5 风险值(VaR)..............................................................................................................138 7.6 水平财富.........................................................................................................................140 7.7 正态和对数正态分布矩之间的关系.............................................................................142 7.8 Module1 中的用户定义函数 .........................................................................................143 小结.......................................................................................................................................145 第 8 章 投资组合业绩评价 .................................................. 146 8.1 传统业绩评价方法.........................................................................................................146 8.2 主动—被动管理............................................................................................................148 8.3 风格分析(Style Analysis)..........................................................................................152 8.4 简单风格分析.................................................................................................................153 8.5 滚动时段风格分析........................................................................................................154 8.6 风格权重的置信区间.....................................................................................................156 8.7 Module1 中的用户定义函数 .........................................................................................159 小结.......................................................................................................................................161 第 9 章 股票期权介绍.......................................................... 163 9.1 布莱克-舒尔斯公式的起源 ..........................................................................................163 9.2 布莱克-舒尔斯公式 ......................................................................................................164 9.3 对冲投资组合(Hedge Portfolios).............................................................................165 9.4 风险中性定价................................................................................................................167
9.5 风险中性定价的单期二叉树模型................................................................................168 9.6 期权平价关系(Put-Call Parity).................................................................................169 9.7 红利(Dividends) .......................................................................................................169 9.8 美式期权的特征............................................................................................................170 9.9 数值方法........................................................................................................................170 9.10 波动率和非正态股票收益..........................................................................................170 小结.......................................................................................................................................171 第 10 章 二叉树.................................................................... 173 10.1 二叉树介绍..................................................................................................................173 10.2 简化的二叉树..............................................................................................................174 10.3 JR二叉树 ......................................................................................................................175 10.4 CRR树...........................................................................................................................179 10.5 二项分布近似与布莱克-舒尔斯公式.........................................................................181 10.6 CRR二叉树的收敛性...................................................................................................182 10.7 LR树 .............................................................................................................................183 10.8 CRR树与LR树的比较..................................................................................................185 10.9 美式期权和CRR美式二叉树......................................................................................187 10.10 Module0 和Module1 中的用户定义函数..................................................................190 小结.......................................................................................................................................191 第 11 章 布莱克-舒尔斯公式............................................... 193 11.1 布莱克-舒尔斯公式.....................................................................................................193 11.2 在Excel中运用布莱克-舒尔斯公式............................................................................194 11.3 外汇(Currencies)和商品(Commodities)期权 ...................................................195 11.4 计算期权的‘希腊’参数..........................................................................................197 11.5 对冲组合......................................................................................................................199 11.6 布莱克-舒尔斯公式的正式推导.................................................................................201 11.7 Module1 中的用户定义函数 .......................................................................................203 小结.......................................................................................................................................204 第 12 章 欧式期权定价的其它数值方法............................ 207 12.1 蒙特卡罗模拟介绍......................................................................................................207 12.2 对偶变量(Antithetic Variables)模拟 ......................................................................209 12.3 准随机抽样(Quasi-Random Sampling)模拟 .........................................................210 12.4 模拟方法比较..............................................................................................................212 12.5 蒙特卡罗 模拟中的希腊参数计算............................................................................213 12.6 数值积分......................................................................................................................214 12.7 Module1 中的用户定义函数 .......................................................................................215 小结.......................................................................................................................................218 第 13 章 非正态分布和隐含波动率.................................... 219 13.1 非正态分布假设下的布莱克-舒尔斯 公式...............................................................219 13.2 隐含波动率(Implied Volatility)..............................................................................221
13.3 调整偏度(Skewness)和峰度(Kurtosis).............................................................222 13.4 波动率曲线(The Volatility Smile)..........................................................................225 13.5 Module1 中的用户定义函数 .......................................................................................228 小结.......................................................................................................................................230 第 14 章 债券期权定价介绍 ................................................ 232 14.1 利率期限结构..............................................................................................................233 14.2 附息债券的现金流和到期收益率..............................................................................234 14.3 二叉树..........................................................................................................................235 14.4 布莱克的债券期权定价公式......................................................................................237 14.5 久期和凸性..................................................................................................................238 14.6 符号..............................................................................................................................239 小结.......................................................................................................................................240 第 15 章 利率模型 ................................................................ 242 15.1 Vasicek利率期限结构模型 ..........................................................................................242 15.2 Vasicek模型对零息票债券欧式期权定价...................................................................245 15.3 Vasicek模型对附息债券欧式期权定价.......................................................................247 15.4 CIR利率期限结构模型 ................................................................................................248 15.5 CIR模型对零息票债券欧式期权定价 ........................................................................249 15.6 CIR模型附息债券欧式期权定价 ................................................................................249 15.7 Module 1 中的用户定义函数 ......................................................................................250 小结.......................................................................................................................................252 第 16 章 拟合利率期限结构 ................................................ 254 16.1 对数正态分布利率树..................................................................................................254 16.2 正态利率二叉树..........................................................................................................257 16.3 BDT树...........................................................................................................................258 16.4 用BDT树为债券期权定价..........................................................................................260 16.5 Module 1 中的用户定义函数 ......................................................................................262 小结.......................................................................................................................................264 附录 其它VBA函数.............................................................. 266 预测.......................................................................................................................................266 ARIMA模型 .........................................................................................................................267 样条.......................................................................................................................................268 特征值和特征向量...............................................................................................................269
前言 当被问到为什么要攀登珠穆朗玛峰时,登山员通常会说:“因为它在那儿。”而我们写 《高级金融建模》这本书则出于相反的原因。无论是以前还是现在,几乎没有一本书重点突 出和解释 VBA 函数在 Excel 中的应用。另一方面,能够掌握金融领域数值方法精髓的书也 寥寥无几。 有人认为,像 Excel 这样的电子制表软件,不能满足高级技术和数值分析领域(如金融 衍生工具的定价)的需要,现在这种想法已经过时。以前通过专门的软件包和语言进行的计 算,现在可以应用有效的代码和 VBA 函数,在一台普通的电脑上只需一秒就可以完成。通 过使用 Excel 和 VBA 编码,可以使得以前处于黑箱中的计算过程明朗化。 最初,宏的出现拓宽了 Excel 的应用范围,后来这一应用促进了 VBA 语言在 Excel 中 的全面发展,从股票计算、期权计算,最后到债券计算,VBA 广泛应用于金融领域中的各 种计算。在本书中,可以学习到一些新的 Excel 技巧,并可更深入地理解数值方法在金融中 的应用。 本书的基础部分来源于伦敦商学院的 MBA 选修课程讲义《基于计算机的金融建模》。 书中的股票部分是学习《资产组合管理》课程的基础,该课程每年在日内瓦的国际货币银行 中心举办一次。而关于期权和债券的章节则来自城市大学商学院计算机硕士课程《数值方 法》。本书适用于研究生和本科高年级学生。 使用本书时,读者必须采取积极尝试的态度,学会提出问题并解决问题,既要理解书 中的代码和 VBA 用户定义函数,也要勇于在实践中应用它们。由于假设资产收益服从对数 正态分布,并将二叉树作为一种核心数值方法,因此我们的解释可以建立在概率和统计中常 用的结论基础上。全书采用了统一的符号,并且用图片显示了 Excel 和 VBA 的应用过程, 这些都有助于读者更好地理解本书内容。
致谢 本书得益于之前的学术研究者和金融研究机构,他们发展了有关金融理论,并提出了 相应的数值方法,从而形成了本书的基本内容。用牛顿的话来说,“如果我看得更远,那是 因为我站在巨人的肩膀上”。 感谢伦敦商学院和城市大学商学院的同事,特别是 Elroy Dinenis,保罗·马什和 Kiriakos Vlahos。 同时,还感谢萨姆·惠特克对我们的热心鼓励,作为一位编辑,他付出了很大的努力和 耐心。 最后,感谢家人和朋友对我们的耐心,因为本书酝酿了较长一段时间,这期间给他们添 了不少麻烦。
第 1 章 介绍 我们希望《高级金融建模》一书可以证明,能够应用电子制表软件成功地实现大部分 的金融模型。这些模型从二十世纪五十年代早期发展到九十年代末期,覆盖了整个金融领域, 包括股票、股票期权和债券期权。只要辅助使用 VBA 语言,这些模型完全能在 Excel 电子 表格中实现。而用户定义函数提供了一个方便的程序库,使得计算的速度和准确度大大提高。 《高级金融建模》应该看作是这个领域中传统教材的补充读物(它甚至是对传统教材 的纠正)。本书没有列出金融模型的详细推导过程,目的是为了能够涵盖更多的模型和方法, 特别是将重点放在更新的研究成果上。 金融领域发展的重要理论包括:二十世纪五十年代的组合理论,六十年代的资本资产 定价模型(CAPM),以及七十年代的布莱克-舒尔斯公式,这些理论中的解析解现在都能直 接计算。这都得益于最近一二十年来发展的数值算法。通过选择适当的参数,二叉树方法在 股票和债券期权定价的数值算法中扮演着重要的角色。在最近几年,金融领域的研究重点落 在寻找有效的计算方法上,而不是理论本身。 尽管本书覆盖了大部分的金融领域,并且包括了不少复杂的模型,但只需应用 Excel, 以及 Excel 中内嵌的函数和 VBA 程序,就能完美地解决问题。这使得我们可以将常用的假 设(对数正态分布)、数学问题(期望)和数值方法(二叉树)在金融建模领域统一起来。 当然,我们也努力确保本书使用一致和简单的符号,以便表达的更加清晰。 尝试在本书中覆盖大部分的金融研究课题,这对我们来说既是一个挑战也是一个机遇。 机遇就是我们可以纵览金融领域,并将资产定价中的假设、数学问题、数值方法和 Excel 的解法连接起来,总结出一般性规律。在以下的几节中,将简要地描述在股票、期权和债券 计算中,关于金融、数学、数值方法和 Excel 特点方面的一些问题。以下的内容将会在以后 的章节中详细地分析。 1.1 金融学概览 现代金融学作为一门学科与经济学分离,起源于 1952 年马可维茨创立的组合理论。马 可维茨利用效用理论对个人投资者的选择进行建模,并且建立“均值-方差”方法来检验收 益(以资产的平均收益来度量)和风险(以资产收益的方差来度量)之间的关系。这一研究 成果后来导致了夏普,林特恩和特雷纳的资本资产定价模型(CAPM)的发展。CAPM 是一 个均衡模型,它描述了股票的期望收益。模型中引入 beta 作为测量可分散风险的因子,并 证明构建股票组合能够有效地减少个别风险事件带来的总体风险。 另外一个重要的理论就是布莱克和舒尔斯的股票期权定价公式,这个公式是构筑在对 冲组合(无风险)的基础上的。同时,默顿对布莱克-舒尔斯公式进行了扩展,使其适用于 连续股利的情况,并可对商品期货期权和外汇期权定价。公式最初的推导需要解物理学中常 见的扩散方程,但用风险中性方法也可以推导出来。
分享到:
收藏