描述
开 本: 16开纸 张: 胶版纸包 装: 平装-胶订是否套装: 否国际标准书号ISBN: 9787512425231
本书注重理论与实践相结合,通过实际案例和编程实现让读者理解理论在实践中的应用;同时还充分强调“案例的实用性、程序的可模仿性”,且在案例程序中附有详细的注释。例如,投资组合管理、KMV 模型计算、期权定价模型与数值方法、风险价值VaR的计算等案例程序,读者可以直接使用或根据需要在源代码基础上进行修改使用。
本书共23章,前两章分别对金融市场的基本概况与MATLAB的基础知识进行概述;接下来20章为金融数量分析常用的案例(含完整、稳健的程序),包括MATLAB数据交互、现金流分析、投资组合管理、随机模拟、期权定价模型与数值方法、固定收益工具分析及久期与凸度计算、风险管理及KMV 模型计算、期货或股票的技术指标计算与回测等;*后一章,总结了一些MATLAB金融编程技巧。
本书既可作为高等院校金融数学、金融工程专业的实践教材,也可作为理工科、经济金融学科和数量分析方面的研究生,以及与经济金融相关的研究人员和从业人员的参考用书。
第1章 金融市场与金融产品…………… 1
1.1 金融市场………………………… 1
1.1.1 货币市场…………………… 2
1.1.2 资本市场…………………… 2
1.1.3 商品市场…………………… 3
1.2 金融机构………………………… 3
1.2.1 存款性金融机构…………… 4
1.2.2 非存款性金融机构………… 4
1.2.3 家庭或个人………………… 5
1.3 基础金融工具…………………… 6
1.3.1 原生金融工具……………… 6
1.3.2 衍生金融工具……………… 6
1.3.3 金融工具的基本特征……… 6
1.4 金融产品………………………… 7
1.5 金融产品风险…………………… 8
第2章 MATLAB基础知识概述……… 10
2.1 MATLAB的发展历程和影响…………………………………… 10
2.2 基本操作………………………… 11
2.2.1 操作界面…………………… 11
2.2.2 Help帮助文档…………… 12
2.2.3 系统变量…………………… 13
2.3 多项式运算……………………… 17
2.3.1 多项式表达方式…………… 17
2.3.2 多项式求解………………… 17
2.3.3 多项式乘法(卷积)………… 18
2.4 多项式的曲线拟合……………… 18
2.4.1 函数拟合…………………… 18
2.4.2 曲线拟合工具CFTOOL……………………………… 20
2.4.3 多项式插值………………… 20
2.5 微积分计算……………………… 22
2.5.1 数值积分计算……………… 22
2.5.2 符号积分计算……………… 23
2.5.3 数值微分运算……………… 23
2.5.4 符号微分运算……………… 25
2.6 矩阵计算………………………… 26
2.6.1 线性方程组的求解………… 26
2.6.2 矩阵的特征值和特征向量……………………………… 26
2.6.3 矩阵求逆…………………… 27
2.7 M 函数编程规则……………… 27
2.8 绘图函数………………………… 32
2.8.1 简易函数绘图……………… 32
2.8.2 二维图形的绘制…………… 34
2.8.3 三维图形的绘制…………… 35
2.8.4 等高线图形的绘制………… 37
2.8.5 二维伪彩图的绘制………… 38
2.8.6 矢量场图的绘制…………… 39
2.8.7 图形的填色………………… 40
第3章 MATLAB与Excel的数据交互与数据处理案例………………… 42
3.1 数据交互函数…………………… 42
3.1.1 获取文件信息函数xlsfinfo……………………………… 42
3.1.2 读取数据函数xlsread …… 43
3.1.3 写入数据函数xlswrite…… 45
3.1.4 可视化交互界面函数uiimport……………………………… 46
3.2 Excel Link宏………………… 48
3.2.1 加载Excel Link宏……… 48
3.2.2 使用Excel Link宏……… 48
3.3 数据交互实例…………………… 51
3.3.1 基金相关性的计算………… 51
3.3.2 多个文件的读取和写入…… 53
3.4 数据的平滑处理………………… 54
3.4.1 smooth函数……………… 54
3.4.2 smoothts函数…………… 57
3.4.3 medfilt1函数……………… 60
3.5 数据的标准化…………………… 61
3.5.1 数据的标准化变换………… 62
3.5.2 数据的极差变换…………… 64
第4章 MATLAB与数据库的数据交互………………………………… 66
4.1 数据源配置……………………… 66
4.2 MATLAB连接数据库………… 68
4.2.1 Database工具箱简介…… 68
4.2.2 Database工具箱函数…… 68
4.2.3 数据库的数据读取………… 69
4.2.4 数据库的数据写入………… 73
4.3 网络数据读取…………………… 76
4.3.1 Sina财经实时数据……… 76
4.3.2 Tencent财经历史数据…… 78
第5章 贷款按揭与保险产品——现金流分析案例……………………… 81
5.1 货币时间价值计算……………… 81
5.1.1 单利终值与现值…………… 81
5.1.2 复利终值与现值…………… 82
5.1.3 连续复利计算……………… 82
5.2 固定现金流计算………………… 83
5.2.1 固定现金流现值计算函数pvfix ……………………… 83
5.2.2 固定现金流终值计算函数fvfix ……………………… 84
5.3 变化现金流计算………………… 85
5.4 年金现金流计算………………… 86
5.5 商业按揭贷款分析……………… 88
5.5.1 按揭贷款还款方式………… 88
5.5.2 等额还款模型与计算……… 89
5.5.3 等额本金还款……………… 91
5.5.4 还款方式比较……………… 94
5.5.5 提前还款违约金估算……… 94
5.6 商业养老保险分析……………… 95
5.6.1 商业养老保险案例………… 95
5.6.2 产品结构分析……………… 96
5.6.3 现金流模型………………… 96
5.6.4 保险支出现值函数………… 97
5.6.5 保险收入现值函数………… 97
5.6.6 案例数值分析……………… 99
5.6.7 案例分析结果…………… 100
第6章 随机模拟——概率分布与随机数…………………………… 101
6.1 概率分布 ……………………… 101
6.1.1 概率分布的定义………… 101
6.1.2 几种常用的概率分布…… 101
6.1.3 密度函数、分布函数和逆概率分布函数值的计算……… 104
6.2 随机数与蒙特卡罗模拟……… 107
6.2.1 随机数的生成…………… 107
6.2.2 蒙特卡罗模拟…………… 110
6.3 随机价格序列………………… 113
6.3.1 收益率服从正态分布的价格序列………………… 113
6.3.2 具有相关性的随机序列… 115
6.4 带约束的随机序列…………… 117
第7章 CFTOOL数据拟合——GDP与用电量增速分析……………… 120
7.1 案例背景——GDP与用电量的关系…………………………… 120
7.2 数据拟合方法………………… 122
7.3 MATLAB CFTOOL的使用………………………………… 122
7.3.1 CFTOOL函数的调用方式…………………………… 123
7.3.2 导入数据………………… 123
7.3.3 数据的平滑处理………… 124
7.3.4 数据筛选………………… 125
7.3.5 数据拟合………………… 1263
7.3.6 绘图控制………………… 129
7.3.7 拟合后处理……………… 130
7.4 加权重拟合…………………… 131
第8章 策略模拟——组合保险策略分析…………………………… 134
8.1 固定比例组合保险策略……… 134
8.1.1 策略模型………………… 134
8.1.2 模型参数………………… 135
8.2 时间不变性组合保险策略…… 136
8.2.1 策略模型………………… 136
8.2.2 模型参数………………… 136
8.3 策略数值模拟………………… 136
8.3.1 模拟情景假设…………… 136
8.3.2 固定比例组合保险策略模拟…………………………… 137
8.3.3 时间不变性组合保险策略模拟……………………… 140
8.4 策略选择与参数优化………… 144
8.4.1 模拟情景假设…………… 144
8.4.2 模拟方案与模拟参数…… 144
8.4.3 模拟程序与结果………… 145
第9章 KMV 模型求解——方程与方程组的数值解……………… 153
9.1 方程与方程组………………… 153
9.1.1 方 程…………………… 153
9.1.2 方程组…………………… 153
9.2 方程与方程组的求解………… 154
9.2.1 fzero函数………………… 154
9.2.2 fsolve函数……………… 155
9.2.3 含参数方程组的求解…… 157
9.3 KMV模型方程组的求解…… 159
9.3.1 KMV模型简介………… 159
9.3.2 KMV模型计算方法…… 160
9.3.3 KMV模型计算程序…… 161
第10章 期权定价模型与数值方法… 165
10.1 期权基础概念………………… 165
10.1.1 期权及其相关概念……… 165
10.1.2 买入期权、卖出期权平价组合…………………………… 166
10.1.3 期权防范风险的应用…… 166
10.2 期权定价方法的理论基础…… 167
10.2.1 布朗运动………………… 168
10.2.2 伊藤引理………………… 169
10.2.3 Black
Scholes微分方程…………………………… 171
10.2.4 Black
Scholes方程求解…………………………… 173
10.2.5 影响期权价格的因素分析…………………………… 175
10.3 B S公式隐含波动率计算… 178
10.3.1 隐含波动率概念………… 178
10.3.2 隐含波动率计算方法…… 179
10.3.3 隐含波动率计算程序…… 180
10.4 期权二叉树模型……………… 184
10.4.1 二叉树模型的基本理论…………………………… 184
10.4.2 二叉树模型的计算……… 185
10.5 期权定价的蒙特卡罗方法…… 187
10.5.1 模拟基本思路…………… 187
10.5.2 模拟技术实现…………… 187
10.5.3 模拟技术改进…………… 188
10.5.4 欧式期权蒙特卡罗模拟…………………………… 190
10.5.5 障碍期权蒙特卡罗模拟…………………………… 193
10.5.6 亚式期权蒙特卡罗模拟…………………………… 196
第11章 股票挂钩结构分析………… 200
11.1 股票挂钩产品的基本结构…… 200
11.1.1 高息票据与保本票据…… 200
11.1.2 产品构成要素说明……… 201
11.1.3 产品的设计方法………… 202
11.2 股票挂钩产品案例分析……… 204
11.2.1 产品定价分析…………… 2044
11.2.2 产品案例要素说明……… 204
11.2.3 保本票据定价与收益…… 205
11.2.4 高息票据定价与收益…… 209
11.3 分级型结构产品分析………… 210
11.3.1 分级型结构产品的组成…………………………… 210
11.3.2 分级型结构产品的结构比例……………………… 211
11.3.3 分级型结构产品的收益分配……………………… 211
11.3.4 分级型结构产品的流通方式……………………… 212
11.3.5 分级型结构产品的风险控制……………………… 212
11.4 鲨鱼鳍期权期望收益测算…… 213
11.4.1 鲨鱼鳍期权简介………… 213
11.4.2 鲨鱼鳍期权收益率曲线…………………………… 213
11.4.3 期望收益测算(历史模拟法)…………………………… 214
11.4.4 结果与分析……………… 215
第12章 马科维茨均值方差模型…… 218
12.1 模型理论……………………… 218
12.2 收益与风险计算函数………… 219
12.3 有效前沿计算函数…………… 220
12.4 约束条件下有效前沿………… 224
12.5 模型年化参数计算…………… 226
第13章 基金评价与投资组合绩效… 228
13.1 资产定价(CAPM)模型……… 228
13.2 组合绩效指标………………… 229
13.2.1 Beta与Alpha的计算… 230
13.2.2 夏普比率………………… 234
13.2.3 信息比率………………… 235
13.2.4 跟踪误差………………… 236
13.2.5 回撤………………… 237
13.3 业绩归因分析………………… 240
13.3.1 大类资产配置效应、行业配置效应和个股选择效应……240
13.3.2 基金选股与择时能力分析…………………………… 241
第14章 风险价值VaR计算………… 242
14.1 VaR模型…………………… 242
14.1.1 VaR模型的含义……… 242
14.1.2 VaR的主要性质……… 242
14.1.3 VaR模型的优点与缺点…………………………… 243
14.2 VaR的计算方法…………… 244
14.3 数据读取……………………… 244
14.3.1 数据提取………………… 245
14.3.2 数据可视化与标准化…… 246
14.3.3 数据简单处理与分析…… 247
14.4 数据处理……………………… 252
14.5 历史模拟法程序……………… 254
14.6 参数模型法程序……………… 256
14.7 蒙特卡罗模拟程序…………… 257
14.7.1 基于随机收益率序列的蒙特卡罗风险价值计算……
257
14.7.2 基于几何布朗运动的蒙特卡罗模拟………………… 260
第15章 跟踪误差小化———非线性小二乘法MATLAB编程… 262
15.1 理论与案例…………………… 262
15.1.1 非线性小二乘法……… 262
15.1.2 跟踪误差小化背景…… 262
15.2 模型建立……………………… 263
15.2.1 实际案例………………… 263
15.2.2 数学模型………………… 264
15.3 MATLAB实现……………… 265
15.3.1 lsqnonlin函数………… 265
15.3.2 建立目标函数…………… 266
15.3.3 模型求解………………… 269
15.4 扩展问题……………………… 272
第16章 分形技术———移动平均Hurst指数计算…………………… 273
16.1 Hurst指数简介……………… 273
16.2 R/S方法计算Hurst指数… 274
16.3 移动窗口Hurst指数计算程序………………………………… 274
16.3.1 时间序列分段…………… 274
16.3.2 Hurst指数计算………… 276
16.3.3 移动窗口Hurst指数计算…………………………… 278
第17章 固定收益证券的久期与凸度计算……………………………… 281
17.1 基本概念……………………… 281
17.2 价格与收益率的计算………… 284
17.2.1 计算公式………………… 284
17.2.2 债券定价计算…………… 285
17.2.3 债券收益率计算………… 288
17.3 久期与凸度的计算…………… 291
17.3.1 债券久期的计算………… 291
17.3.2 债券凸度的计算………… 294
17.4 债券组合久期免疫策略……… 297
第18章 利率期限结构与利率模型… 301
18.1 利率理论与投资策略………… 301
18.1.1 利率的期限结构理论…… 301
18.1.2 利用利率结构投资策略…………………………… 301
18.2 利率期限结构………………… 303
18.2.1 建立利率期限结构的方法…………………………… 303
18.2.2 利率期限结构的计算…… 304
18.2.3 利率期限结构的平滑…… 309
18.3 利用利率期限结构计算远期利率………………………………… 310
18.4 利率模型……………………… 313
18.4.1 利率模型分类…………… 313
18.4.2 Ho Lee模型………… 314
18.4.3 BDT二叉树的构建…… 318
18.4.4 HJM 模型的构建……… 321
第19章 线性优化理论与方法……… 323
19.1 线性规划理论………………… 323
19.1.1 线性规划的求解方法…… 323
19.1.2 线性模型的标准形式…… 324
19.2 线性优化MATLAB求解…… 324
19.2.1 linprog函数…………… 324
19.2.2 线性规划模型的表示…… 325
19.2.3 内点法求解……………… 326
19.2.4 单纯形法求解…………… 326
19.3 含参数线性规划……………… 327
第20章 非线性优化理论与方法…… 329
20.1 理论背景……………………… 329
20.1.1 非线性问题……………… 329
20.1.2 非线性优化……………… 329
20.2 理论模型……………………… 330
20.2.1 无约束非线性优化……… 330
20.2.2 约束非线性优化………… 331
20.3 MATLAB实现……………… 331
20.3.1 fminunc函数…………… 331
20.3.2 fminsearch函数………… 335
20.3.3 fmincon函数…………… 337
20.4 扩展问题……………………… 341
20.4.1 大规模优化问题………… 341
20.4.2 含参数优化问题………… 343
第21章 资产收益率分布的拟合与检验……………………………… 345
21.1 案例描述……………………… 345
21.2 数据的描述性统计…………… 346
21.2.1 描述性统计量…………… 346
21.2.2 统计图…………………… 350
21.3 分布的检验…………………… 353
21.3.1 chi2gof函数…………… 353
21.3.2 jbtest函数……………… 355
21.3.3 kstest函数……………… 357
21.3.4 kstest2函数…………… 358
21.3.5 lillietest函数…………… 361
21.3.6 方法结论分析…………… 363
21.4 投资组合分布图比较………… 363
第22章 技术分析———指标计算与回测……………………………… 367
22.1 理论简介……………………… 367
22.2 行情数据的K线图………… 367
22.2.1 数据读取………………… 367
22.2.2 蜡烛图(K线) ………… 368
22.3 技术指标计算………………… 373
22.3.1 移动平均线……………… 373
22.3.2 布林带…………………… 374
22.3.3 平滑异同移动平均线…… 376
22.3.4 其他技术指标…………… 377
22.4 动态技术指标………………… 378
22.5 指标回测分析………………… 381
22.5.1 读取数据………………… 381
22.5.2 计算交易信号和持仓信号…………………………… 381
22.5.3 模拟交易………………… 382
22.5.4 交易结果评价…………… 383
22.5.5 回测结果可视化………… 384
第23章 编程实用技巧……………… 388
23.1 变量的初始化………………… 388
23.2 集合的交并函数……………… 390
23.3 坐标轴时间标记……………… 393
23.4 坐标轴过原点实现…………… 395
23.5 定时触发程序运行…………… 397
23.6 发送邮件……………………… 397
参考文献………………………………… 399
1. 写作背景
金融数量分析是充满变革与创新的世界,从20世纪50年代的马科维茨投资组合模型,到70年代的B S期权定价公式,再到90年代的抵押贷款债券(SDO)和信用违约互换(SDS)定价模型等,这些模型在当时无不是创新的产物。在金融数量分析的学习与研究中,往往会遇到没有现成求解工具的模型,需要我们利用基本的数学原理或者数值计算软件,根据实际情况建立金融数量模型,对模型进行求解、验证等。在这个过程中,不仅需要数学原理,而且可能需要更多的数值处理技巧。因为只有在数学原理与数值计算技术有效结合的前提下,才能更有效地求解金融数学模型。
无论是过去的长期资本管理公司(Long Term Capital Management),还是现在的文艺复兴科技有限公司(Renaissance Institutional Equities Fund),都是数量技术力量的体现。虽然CDS、CDO 引发了金融危机,但金融数量分析以数学与计算机相结合为基础不会改变。近几年,国内金融机构已经将金融数量化作为重要的发展战略,金融机构大量地招收懂数学和编程的复合型人才,而只懂金融理论的岗位需求越来越少。近几年金融数量分析在中国发展迅速,各种程序化交易策略正被应用在实盘交易中,像2015年的Alpha策略、2016年的多因子策略都大放异彩。
金融数量分析需要数值计算工具,而MATLAB强大的数值计算功能与丰富的工具箱为金融数量分析提供了有效“武器”。目前,MATLAB在世界各大金融机构得到了广泛应用,使用MATLAB 的金融机构有世界货币基金组织、联邦储备委员会、摩根斯坦利、高盛等。MATLAB中大量现成的函数是金融数量分析研究的利器。
2. 编写宗旨及特点
针对目前市场上有很多关于MATLAB的图书,但其基本上都是按教科书的模式编写的,且书中的案例也相对简单这一现状,作者编写了本书。本书的主要特点: 选用的案例来源于作者的实际工作,案例的结构为“背景 理论 案例分析 代码”。
背景: 案例产生的环境、背景概述有助于读者加深对案例本质的理解。案例背景的相关数据都来源于现实的金融市场。
理论: 解决案例所涉及的理论知识与数值算法。MATLAB作为解决问题的工具毕竟不是全能的,只有了解了工具内在的理论与逻辑才能更有效地使用它。
案例分析: 使用数学原理(统计、优化、数值等)对案例进行分析,找出解决问题的技术路线,帮助读者从解决问题的角度进行思考。
代码: MATLAB程序是根据案例分析得到的算法或思路进行编写的。程序中内含编程的技巧与方法,代码中作者给出了详细的注释,其目的是帮助读者理解并熟练使用代码以解决实际问题。
3. 致 谢
本书是作者近些年使用MATLAB编程的汇总与提炼。本书得到了作者的领导、同事、朋友的帮助,同时还有热心的读者为本书提供了非常好的修改建议,借本书出版之际,向他们表示真诚的感谢。此外特别感谢天津科技大学的谢中华、刘寅立、张立东、孟祥波等老师们的热情帮助。
同时感谢北京航空航天大学出版社长期一贯的支持与合作,以及各位编辑们的辛勤工作。
还要特别感谢我的家人,编写此书占用了大量本应该陪同她们的时间,感谢家人对我工作与事业的支持!
4. 其 他
书中所有程序的源代码可在北京航空航天大学出版社网站(http://www.buaapress.com.cn/mzs/welcome/index)“下载专区”免费下载。同时,北京航空航天大学出版社联合MATLAB中文论坛(http://www.iLovematlab.cn/)为本书设立了在线交流版块(https://ilovematlab.cn/forum-159-1.html),在阅读本书的过程中有任何疑问,都可以在交流版块向作者提问!
由于作者水平有限,书中不当之处,敬请读者批评指正。本书网络支持:www.ariszheng.com,作者邮箱:[email protected],编辑邮箱:[email protected]。
作 者
2017年11月于北京
评论
还没有评论。