第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 数据拟合 126
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 产品定价分析 204
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