第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章 Python基础知识概述 10
2.1 Python的发展历程和影响 10
2.2 基本操作 11
2.3 多项式运算 11
2.3.1 多项式表达方式 11
2.3.2 多项式求解 12
2.3.3 多项式乘法(卷积) 12
2.4 多项式的曲线拟合 13
2.4.1 函数拟合 13
2.4.2 多项式插值 14
2.5 微积分计算 15
2.5.1 数值积分计算 15
2.5.2 符号积分计算 16
2.5.3 数值微分计算 16
2.6 矩阵计算 18
2.6.1 线性方程组的求解 18
2.6.2 矩阵的特征值和特征向量 18
2.6.3 矩阵求逆 19
2.7 Python函数编程规则 19
2.8 绘图 20
2.8.1 简易图形的绘制 20
2.8.2 二维图形的绘制 21
2.8.3 三维图形的绘制 23
2.8.4 等高线图形的绘制 24
2.8.5 二维伪彩图的绘制 25
2.8.6 矢量场图的绘制 26
2.8.7 多边形图的绘制 27
第3章 Python爬虫 29
3.1 基本参数 29
3.1.1 基本请求形式 29
3.1.2 为URL传递参数 30
3.2 获取网络信息 31
第4章 贷款按揭与保险产品——现金流分析案例 34
4.1 货币时间价值计算 34
4.1.1 单利终值与现值 34
4.1.2 复利终值与现值 35
4.1.3 连续复利计算 35
4.2 固定现金流计算 36
4.2.1 固定现金流现值计算函数pv 36
4.2.2 固定现金流终值计算函数fv 37
4.3 变化现金流计算 38
4.4 年金现金流计算 39
4.5 商业按揭贷款分析 41
4.5.1 按揭贷款还款方式 41
4.5.2 等额还款模型与计算 41
4.5.3 等额本金还款 44
4.5.4 还款方式比较 46
4.5.5 提前还款违约金估算 46
4.6 商业养老保险分析 47
4.6.1 商业养老保险案例 47
4.6.2 产品结构分析 48
4.6.3 现金流模型 48
4.6.4 保险支出现值函数 49
4.6.5 保险收入现值函数 50
4.6.6 案例数值分析 51
4.6.7 案例分析结果 53
第5章 随机模拟——概率分布与随机数 54
5.1 概率分布 54
5.1.1 概率分布的定义 54
5.1.2 几种常用的概率分布 54
5.1.3 密度函数、分布函数和逆概率分布函数值的计算 57
5.2 随机数与蒙特卡罗模拟 58
5.2.1 随机数的生成 58
5.2.2 蒙特卡罗模拟 61
5.3 随机价格序列 64
5.3.1 收益率服从正态分布的价格序列 64
5.3.2 具有相关性的随机序列 66
5.4 带约束的随机序列 68
第6章 策略模拟——组合保险策略分析 72
6.1 固定比例组合保险策略 72
6.1.1 策略模型 72
6.1.2 模型参数 73
6.2 时间不变性组合保险策略 74
6.2.1 策略模型 74
6.2.2 模型参数 74
6.3 策略数值模拟 74
6.3.1 模拟情景假设 74
6.3.2 固定比例组合保险策略模拟 75
6.3.3 时间不变性组合保险策略模拟 78
6.4 策略选择与参数优化 82
6.4.1 模拟情景假设 82
6.4.2 模拟方案与模拟参数 82
6.4.3 模拟程序与结果 83
第7章 KMV模型求解——方程与方程组的数值解 91
7.1 方程与方程组 91
7.1.1 方程 91
7.1.2 方程组 91
7.2 方程与方程组的求解 92
7.2.1 fsolve函数解变量方程 92
7.2.2 fsolve函数解多变量方程组 93
7.2.3 含参数方程组的求解 94
7.3 KMV模型方程组的求解 94
7.3.1 KMV模型简介 94
7.3.2 KMV模型计算方法 95
7.3.3 KMV模型计算程序 96
第8章 期权定价模型与数值方法 101
8.1 期权基础概念 101
8.1.1 期权及其相关概念 101
8.1.2 买入期权、卖出期权平价组合 102
8.1.3 期权防范风险的应用 102
8.2 期权定价方法的理论基础 103
8.2.1 布朗运动 104
8.2.2 伊藤引理 105
8.2.3 Black-Scholes微分方程 107
8.2.4 Black-Scholes方程求解 109
8.2.5 影响期权价格的因素分析 111
8.3 B-S公式隐含波动率计算 115
8.3.1 隐含波动率概念 115
8.3.2 隐含波动率计算方法 116
8.3.3 隐含波动率计算程序 116
8.4 期权二叉树模型 118
8.4.1 二叉树模型的基本理论 118
8.4.2 二叉树模型的计算 119
8.5 期权定价的蒙特卡罗方法 121
8.5.1 模拟基本思路 121
8.5.2 模拟技术实现 121
8.5.3 模拟技术改进 122
8.5.4 欧式期权蒙特卡罗模拟 124
8.5.5 障碍期权蒙特卡罗模拟 127
第9章 股票挂钩结构分析 131
9.1 股票挂钩产品的基本结构 131
9.1.1 高息票据与保本票据 131
9.1.2 产品构成要素说明 132
9.1.3 产品的设计方法 133
9.2 股票挂钩产品案例分析 135
9.2.1 产品定价分析 135
9.2.2 产品案例要素说明 135
9.2.3 保本票据定价与收益 136
9.2.4 高息票据定价与收益 140
9.3 分级型结构产品分析 142
9.3.1 分级型结构产品的组成 142
9.3.2 分级型结构产品的结构比例 142
9.3.3 分级型结构产品的收益分配 143
9.3.4 分级型结构产品的流通方式 143
9.3.5 分级型结构产品的风险控制 144
9.4 鲨鱼鳍期权期望收益测算 144
9.4.1 鲨鱼鳍期权简介 144
9.4.2 鲨鱼鳍期权收益率曲线 144
第10章 马科维茨均值-方差模型 146
10.1 模型理论 146
10.2 收益与风险计算函数 147
10.3 有效前沿计算函数 148
10.4 约束条件下的有效前沿 151
10.5 模型年化参数计算 153
第11章 跟踪误差最小化——非线性最小二乘法Python编程 154
11.1 理论与案例 154
11.1.1 非线性最小二乘法 154
11.1.2 跟踪误差最小化背景 154
11.2 模型的建立 155
11.2.1 实际案例 155
11.2.2 数学模型 156
11.3 Python实现 157
11.3.1 least_squares函数 157
11.3.2 建立目标函数 158
11.3.3 模型的求解 160
11.4 扩展问题 162
第12章 分形技术——移动平均Hurst指数计算 163
12.1 Hurst指数简介 163
12.2 R/S方法计算Hurst指数 164
12.3 移动窗口Hurst指数计算程序 164
12.3.1 时间序列分段 164
12.3.2 Hurst指数计算 166
12.3.3 移动窗口Hurst指数计算 168
第13章 固定收益证券的久期与凸度计算 171
13.1 基本概念 171
13.2 QuantLib基础 174
13.3 价格与收益率的计算 176
13.3.1 计算公式 176
13.3.2 债券定价的计算 177
13.3.3 债券收益率的计算 179
13.4 久期与凸度的计算 180
13.4.1 债券久期的计算 180
13.4.2 债券凸度的计算 182
13.5 债券组合久期免疫策略 183
第14章 利率期限结构与利率模型 188
14.1 利率理论与投资策略 188
14.1.1 利率的期限结构理论 188
14.1.2 利用利率结构投资策略 188
14.2 利率期限结构 190
14.2.1 建立利率期限结构的方法 190
14.2.2 利率期限结构的计算 191
14.2.3 利率期限结构的平滑 194
14.3 利用利率期限结构计算远期利率 194
14.4 利率模型 197
14.4.1 利率模型分类 197
14.4.2 Ho-Lee模型 197
14.4.3 BDT二叉树的构建 201
第15章 线性优化理论与方法 204
15.1 线性规划理论 204
15.1.1 线性规划的求解方法 204
15.1.2 线性模型的标准形式 205
15.2 线性优化Python求解 205
15.2.1 linprog函数 205
15.2.2 线性规划目标函数 205
15.2.3 内点法求解 206
15.2.4 单纯形法求解 206
15.3 含参数线性规划 207
第16章 非线性优化理论与方法 208
16.1 理论背景 208
16.1.1 非线性问题 208
16.1.2 非线性优化 208
16.2 理论模型 209
16.2.1 无约束非线性优化 209
16.2.2 约束非线性优化 210
16.3 Python实现 211
第17章 资产收益率分布的拟合与检验 214
17.1 案例描述 214
17.2 数据的描述性统计 215
17.2.1 描述性统计量 215
17.2.2 统计图 218
17.3 分布的检验 221
17.3.1 normaltest函数 221
17.3.2 jarque_bera函数 222
17.3.3 kstest函数 223
17.3.4 ks_2samp函数 223
17.3.5 最终结论 225
17.4 投资组合分布图比较 225
17.5 常用统计量 228
第18章 技术分析——指标计算与回测 230
18.1 理论简介 230
18.2 行情数据的K线图 230
18.2.1 数据的读取 230
18.2.2 蜡烛图(K线) 231
18.3 技术指标的计算 233
18.3.1 移动平均线 233
18.3.2 布林带 235
18.3.3 平滑异同移动平均线 236
18.3.4 其他技术指标 237
18.4 动态技术指标 238
第19章 编程实用技巧 241
19.1 变量的初始化 241
19.2 集合交并函数 243
19.3 定时触发程序运行 245
19.4 发送邮件 246
参考文献 248