《Python金融实战》PDF下载

  • 购买积分:12 如何计算积分?
  • 作  者:(美)严玉星著
  • 出 版 社:北京:人民邮电出版社
  • 出版年份:2017
  • ISBN:9787115457073
  • 页数:320 页
图书介绍:本书是一本关于使用Python进行金融数据分析的权威指南。书中通过易学易懂的示例介绍了关于金融学的相关理论和建模方法,同时也介绍了如何通过Python进行数据分析。通过阅读本书,读者将掌握金融相关的必备知识以及数据处理的技术要点。

第1章 Python简介及安装 1

1.1 Python简介 1

1.2 如何安装Python 3

1.3 Python的不同版本 3

1.4 运行Python的3种方式 4

1.4.1 用GUI启动Python 4

1.4.2 从Python命令行启动Python 5

1.4.3 从DOS窗口启动Python 6

1.5 如何退出Python 7

1.6 错误提示 7

1.7 Python语言是区分大小写的 8

1.8 变量的初始化 8

1.9 寻找在线帮助 9

1.10 查找学习手册和教程 10

1.11 如何找出Python的版本 12

1.12 小结 12

练习题 12

第2章 用Python完成普通计算器的功能 14

2.1 变量的赋值及显示 15

2.2 错误提示 15

2.3 不能调用没有赋值的变量 16

2.4 选择有意义的变量名 16

2.5 使用dir()来查找变量和函数 17

2.6 删除或取消变量 17

2.7 基本数学运算:加、减、乘、除 18

2.8 幂函数、取整和余数函数 19

2.9 一个真正的幂函数 20

2.10 选择合适的数值精度 21

2.11 找出某个内置函数的详细信息 22

2.12 列出所有内置函数 22

2.13 导入数学模块 23

2.14 π、e、对数和指数函数 24

2.15 import math与from math import*的区别 24

2.16 一些常用的函数 25

2.16.1 print()函数 25

2.16.2 type()函数 26

2.16.3 下划线 26

2.16.4 结合两个字符串 26

2.16.5 将小写字符变成大写字符的函数:upper() 27

2.17 元组数据类型 28

2.18 小结 29

练习题 30

第3章 用Python编写一个金融计算器 32

3.1 编写不需要保存的Python函数 33

3.2 函数的输入参数及它们的预设值 33

3.3 缩进格式在Python编程中至关重要 34

3.4 检查自己编写的函数是否存在 35

3.5 在Python编辑器里定义函数 35

3.6 利用import()在Python编辑器里激活自己编写的函数 36

3.7 使用Python编辑器调试程序 37

3.8 调用pv_f()函数的两种方法 37

3.9 生成自制的模块 38

3.10 两种注释方法 39

3.10.1 第1种注释方法 39

3.10.2 第2种注释方法 39

3.11 查找有关pv_f()函数的信息 40

3.12 条件函数:if() 41

3.13 计算年金 41

3.14 利率换算 42

3.15 连续复利利率 44

3.16 数据类型:列表 45

3.17 净现值和净现值法则 45

3.18 投资回收期和投资回收期法则 47

3.19 内部收益率和内部收益率法则 47

3.20 显示在某个目录下的指定文件 49

3.21 用Python编写一个专业金融计算器 49

3.22 将我们的目录加到Python的路径上 50

3.23 小结 52

练习 题 52

第4章 编写Python程序计算看涨期权价格 56

4.1 用空壳法编写一个程序 57

4.2 用注释法编写一个程序 59

4.3 使用和调试他人编写的程序 61

4.4 小结 61

练习题 61

第5章 模块简介 64

5.1 什么是模块 64

5.2 导入模块 65

5.2.1 为导入的模块取个简称 66

5.2.2 显示模块里的所有函数 66

5.2.3 比较import math和from math import* 67

5.2.4 删除已经导入的模块 67

5.2.5 导入几个指定的函数 68

5.2.6 找出所有的内置模块 69

5.2.7 找出所有可用的模块 69

5.2.8 找到一个已安装的模块的目录位置 71

5.2.9 有关模块的更多信息 72

5.2.10 查找某个未安装的模块 72

5.3 模块之间的相互依赖性 73

5.4 小结 74

练习题 75

第6章 NumPy和SciPy模块简介 76

6.1 安装NumPy和SciPy模块 77

6.2 从Anaconda启动Python 77

6.2.1 使用NumPy的示例 78

6.2.2 使用SciPy的示例 79

6.3 显示NumPy和SciPy包含的所有函数 82

6.4 关于某个函数的详细信息 83

6.5 理解列表数据类型 83

6.6 使用全一矩阵、全零矩阵和单位矩阵 84

6.7 执行数组操作 84

6.8 数组的加、减、乘、除 85

6.8.1 进行加减运算 85

6.8.2 执行矩阵乘法运算 85

6.8.3 执行逐项相乘的乘法运算 86

6.9 x.sum()函数 87

6.10 遍历数组的循环语句 87

6.11 使用与模块相关的帮助 87

6.12 SciPy的一系列子函数包 88

6.13 累积标准正态分布 89

6.14 与数组相关的逻辑关系 90

6.15 SciPy的统计子模块(stats) 90

6.16 SciPy模块的插值方法 91

6.17 使用SciPy求解线性方程 92

6.18 利用种子(seed)生成可重复的随机数 93

6.19 在导入的模块里查找函数 94

6.20 优化算法简介 95

6.21 线性回归和资本资产定价模型(CAPM) 95

6.22 从文本文件(.txt)输入数据:loadtxt()和getfromtxt()函数 96

6.23 独立安装NumPy模块 97

6.24 数据类型简介 97

6.25 小结 98

练习题 98

第7章 用matplotlib模块绘制与金融相关的图形 101

7.1 通过ActivePython安装matplotlib模块 102

7.2 通过Anaconda安装matplotlib模块 103

7.3 matplotlib模块简介 103

7.4 了解简单利率和复利利率 106

7.5 为图形添加文字 107

7.6 杜邦等式的图示 109

7.7 净现值图示曲线 110

7.7.1 有效地使用颜色 113

7.7.2 使用不同形状 114

7.8 图形演示分散投资的效果 115

7.9 股票的数目和投资组合风险 117

7.10 从雅虎财经网站下载历史价格数据 119

7.10.1 用直方图显示收益率分布 120

7.10.2 比较单只股票的收益和市场收益 122

7.11 了解现金的时间价值 124

7.12 用烛台图展示IBM的每日收盘价 125

7.13 用图形展示价格变化 126

7.14 同时展示收盘价和交易量 129

7.14.1 在图形上添加数学公式 130

7.14.2 在图形上添加简单的图像 131

7.14.3 保存图形文件 132

7.15 比较个股的表现 132

7.16 比较多只股票的收益率与波动率 133

7.17 查找学习手册、示例和有关视频 135

7.18 独立安装matplotlib模块 136

7.19 小结 136

练习题 136

第8章 时间序列的统计分析 139

8.1 安装pandas和statsmodels模块 140

8.1.1 在Anaconda命令提示符下启动Python 140

8.1.2 使用DOS窗口启动Python 141

8.1.3 使用Spyder启动Python 142

8.2 Pandas和statsmodels模块简介 143

8.2.1 如何使用Pandas模块 143

8.2.2 statsmodels模块示例 144

8.3 开源数据 145

8.4 用Python代码输入数据 147

8.4.1 从剪贴板输入数据 147

8.4.2 从雅虎财经网站下载历史价格数据 147

8.4.3 从txt文件输入数据 148

8.4.4 从Excel文件输入数据 149

8.4.5 从csv文件输入数据 150

8.4.6 从网页下载数据 150

8.4.7 从MATLAB数据文件输入数据 152

8.5 几个重要的函数 152

8.5.1 使用pd.Series()生成一维时间序列 152

8.5.2 使用日期变量 153

8.5.3 使用DataFrame数据类型 154

8.6 计算回报率 156

8.6.1 从日回报率计算月回报率 157

8.6.2 从日回报率计算年回报率 159

8.7 按日期合并数据集 160

8.8 构建n只股票的投资组合 161

8.9 T-检验和F-检验 162

8.9.1 检验方差是否相等 163

8.9.2 测试“一月效应” 164

8.10 金融研究和实战的应用举例 165

8.10.1 基于52周最高价和最低价的交易策略 165

8.10.2 用Roll(1984)模型来估算买卖价差 166

8.10.3 用Amihud(2002)模型来估算反流动性指标 167

8.10.4 Pastor和Stambaugh(2003)流动性指标 168

8.10.5 Fama-French三因子模型 171

8.10.6 Fama-MacBeth回归模型 173

8.10.7 滚动式估算市场风险系数 174

8.10.8 在险价值简介 177

8.11 构建有效组合边界 178

8.11.1 估计方差-协方差矩阵 178

8.11.2 优化-最小化 181

8.11.3 构建一个最优投资组合 181

8.11.4 构建n只股票的有效组合边界 183

8.12 插值法简介 186

8.13 输出数据到外部文件 187

8.13.1 输出数据到一个文本文件 187

8.13.2 输出数据到一个二进制文件 188

8.13.3 从二进制文件读取数据 188

8.14 用Python分析高频数据并计算买卖价差 188

8.15 更多关于使用Spyder的信息 194

8.16 一个有用的数据集 195

8.17 小结 196

练习题 197

第9章 Black-Scholes-Merton期权定价模型 201

9.1 看涨期权和看跌期权的收益和利润/损失函数 202

9.2 欧式期权与美式期权 205

9.3 现金流、不同类型的期权、权利和责任 206

9.4 正态分布、标准正态分布和累积标准正态分布 206

9.5 不分红股票的期权定价模型 209

9.6 用于期权定价的p4f模块 210

9.7 已知分红股票的欧式期权价格 212

9.8 多种交易策略 213

9.8.1 股票多头和看涨期权空头的组合 214

9.8.2 跨式期权组合——具有同样执行价格的看涨期权和看跌期权的组合 215

9.8.3 日历套利组合 216

9.8.4 蝶式看涨期权组合 218

9.9 期权价格和输入参数之间的关系 219

9.10 与期权相关的希腊字母 219

9.11 期权平价关系及其图形表示 221

9.12 二叉树法及其图形表示 223

9.12.1 为欧式期权定价的二叉树法 229

9.12.2 为美式期权定价的二叉树法 229

9.13 套期保值策略 230

9.14 小结 231

练习题 232

第10章 Python的循环语句和隐含波动率的计算 235

10.1 隐含波动率的定义 236

10.2 for循环简介 237

10.2.1 使用for循环计算隐含波动率 237

10.2.2 欧式期权的隐含波动率 238

10.2.3 看跌期权的隐含波动率 239

10.2.4 enumerate()函数简介 240

10.3 用for循环计算内部收益率及多个内部收益率 241

10.4 while循环简介 243

10.4.1 使用键盘命令停止无限循环 244

10.4.2 使用while循环计算隐含波动率 244

10.4.3 多重嵌套的for循环 246

10.5 美式看涨期权的隐含波动率 246

10.6 测试一个程序的运行时间 247

10.7 二分搜索的原理 248

10.8 顺序访问与随机访问 249

10.9 通过循环访问数组的元素 250

10.9.1 利用for循环赋值 251

10.9.2 通过循环访问词典的元素 251

10.10 从CBOE网站下载期权数据 252

10.11 从雅虎财经网页下载期权数据 254

10.11.1 从雅虎财经网页检索不同的到期日期 254

10.11.2 从雅虎财经网页下载当前价格 255

10.12 看跌期权和看涨期权的比率及其短期趋势 255

10.13 小结 258

练习题 258

第11章 蒙特卡罗模拟和期权定价 261

11.1 产生服从标准正态分布的随机数 262

11.1.1 产生服从(高斯)正态分布的随机样本 263

11.1.2 利用种子(seed)生成相同的随机数 263

11.1.3 产生n个服从正态分布的随机数 263

11.1.4 正态分布样本的直方图 264

11.1.5 对数正态分布的图形表示 265

11.1.6 产生服从泊松分布的随机数 266

11.1.7 产生服从均匀分布的随机数 266

11.2 利用蒙特卡罗模拟计算的近似值 267

11.3 从只股票中随机选择m只 268

11.4 可重复和不可重复的随机取样 270

11.5 年收益率的分布 271

11.6 模拟股价变化 273

11.7 图形展示期权到期日的股票价格的分布 275

11.8 寻找有效的投资组合和有效边界 276

11.8.1 寻找基于两只股票的有效组合及相关系数的影响 276

11.8.2 构建n只股票的有效边界 281

11.9 算术平均值与几何平均值 283

11.10 预测长期回报率 284

11.11 用模拟法为看涨期权定价 285

11.12 奇异期权简介 286

11.12.1 利用蒙特卡罗模拟给均价期权定价 286

11.12.2 利用蒙特卡罗模拟给障碍式期权定价 288

11.13 障碍式期权的平价关系及其图形演示 289

11.14 具有浮动执行价格的回望式期权的定价 293

11.15 使用Sobol序列来提高效率 294

11.16 小结 294

练习题 295

第12章 波动率和GARCH模型 296

12.1 传统的风险测度-标准方差 297

12.2 检验正态分布 297

12.3 下偏标准方差 300

12.4 检验两个时间段的波动率是否相等 302

12.5 利用Breusch和Pagan(1979)方法检验异方差 303

12.6 从雅虎财经网页检索期权数据 306

12.7 波动率的微笑曲线和斜度 307

12.8 波动率集聚效应的图形表示 309

12.9 ARCH模型及ARCH(1)随机过程的模拟 310

12.10 GARCH(广义ARCH)模型 312

12.10.1 模拟GARCH随机过程 312

12.10.2 采用改良的garchSim()函数模拟GARCH(p,q)模型 313

12.10.3 由Glosten、Jagannanthan和Runkle(1993)提出的GJR_GARCH模型简介 315

12.11 小结 319

练习题 319