(区域包邮)Python 3爬虫、数据清洗与可视化实战 +Python金融衍生品大数据分析:建模、模

(区域包邮)Python 3爬虫、数据清洗与可视化实战 +Python金融衍生品大数据分析:建模、模 pdf epub mobi txt 电子书 下载 2025

[德] Yves Hilpisch 著
图书标签:
  • Python爬虫
  • 数据清洗
  • 数据可视化
  • 金融大数据
  • Python
  • 金融衍生品
  • 建模
  • 实战
  • 区域包邮
  • 编程
想要找书就要到 静思书屋
立刻按 ctrl+D收藏本页
你会得到大惊喜!!
店铺: 京文联发专营店
出版社: 电子工业出版社
ISBN:9787121313363
商品编码:26989503031

具体描述

9787121313363 Python金融衍生品大数据分析:建模、模拟、校准与对冲 99.00

9787121333590 Python 3爬虫、数据清洗与可视化实战   49.00

Python金融衍生品大数据分析:建模、模拟、校准与对冲

目 录

第 1 章 快速导览 1

1.1 基于市场的估价 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

1.2 本书的结构 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

1.3 为什么选择 Python . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

1.4 深入阅读 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

第 1 部分 市场 6

第 2 章 什么是基于市场的定价 6

2.1 期权及其价值 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

2.2 普通金融工具与奇异金融工具 . . . . . . . . . . . . . . . . . . . . . . . . . . 10

2.3 影响股权衍生工具的风险 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

2.3.1 市场风险 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

2.3.2 其他风险 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

2.4 对冲 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

2.5 基于市场的定价过程 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

第 3 章 市场典型事实 15

3.1 简介 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

3.2 波动率、相关性 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

3.3 基本案例:正态收益率 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

3.4 指数和股票 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

3.4.1 典型事实 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

3.4.2 DAX 指数收益率 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

3.5 期权市场 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

3.5.1 买卖价差 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

3.5.2 隐含波动率曲面 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

3.6 短期利率 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

3.7 结论 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

3.8 Python 脚本 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

3.8.1 GBM 分析 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

3.8.2 DAX 分析 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

3.8.3 BSM 隐含波动率 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

3.8.4 EURO STOXX 50 隐含波动率 . . . . . . . . . . . . . . . . . . . . . 38

3.8.5 EURIBOR 分析 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

第 2 部分 理论定价 42

第 4 章 风险中性定价 42

4.1 简介 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

4.2 离散时间不确定性 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

4.3 离散市场模型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47

4.3.1 基本元素 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47

4.3.2 基础定义 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47

4.4 离散时间模型的主要结果 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49

4.5 连续时间模型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53

4.6 总结 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58

4.7 证明 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59

4.7.1 引理 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59

4.7.2 命题 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59

4.7.3 定理 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60

第 5 章 完全市场模型 62

5.1 简介 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62

5.2 Black-Scholes-Merton 模型 . . . . . . . . . . . . . . . . . . . . . . . . . . . 62

5.2.1 市场模型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62

5.2.2 基本 PDE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63

5.2.3 欧式期权 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64

5.3 BSM 模型的 Greeks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67

5.4 Cox-Ross-Rubinstein 模型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71

5.5 总结 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74

5.6 证明及 Python 脚本 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74

5.6.1 伊藤引理 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74

5.6.2 BSM 期权定价的脚本 . . . . . . . . . . . . . . . . . . . . . . . . . . 74

5.6.3 BSM 看涨期权 Greeks 脚本 . . . . . . . . . . . . . . . . . . . . . . . 78

5.6.4 CRR 期权定价脚本 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81

第 6 章 基于傅里叶的期权定价 84

6.1 概述 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84

6.2 定价问题 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85

6.3 傅里叶变换 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85

6.4 基于傅里叶的期权定价 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87

6.4.1 Lewis(2001) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87

6.4.2 Carr-Madan(1999) . . . . . . . . . . . . . . . . . . . . . . . . . . 89

6.5 数值计算 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91

6.5.1 傅里叶级数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91

6.5.2 快速傅里叶变换 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94

6.6 应用 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94

6.6.1 Black-Scholes-Merton(1973)模型 . . . . . . . . . . . . . . . . . . . 94

6.6.2 Merton(1976)模型 . . . . . . . . . . . . . . . . . . . . . . . . . . . 97

6.6.3 离散市场模型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97

6.7 总结 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101

6.8 Python 脚本 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101

6.8.1 使用傅里叶方法的 BSM 看涨期权定价 . . . . . . . . . . . . . . . . . 101

6.8.2 傅里叶级数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106

6.8.3 单位根 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108

6.8.4 卷积 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108

6.8.5 参数模块 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109

6.8.6 卷积计算看涨期权价值 . . . . . . . . . . . . . . . . . . . . . . . . . . 110

6.8.7 卷积期权定价 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111

6.8.8 DFT 期权定价 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111

6.8.9 DFT 速度检验 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112

第 7 章 利用模拟的美式期权定价 114

7.1 概述 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114

7.2 金融模型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114

7.3 美式期权定价 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115

7.3.1 问题形式 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115

7.3.2 定价算法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117

7.4 数值结果 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118

7.4.1 美式看跌期权 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118

7.4.2 美式空头秃鹰式价差 . . . . . . . . . . . . . . . . . . . . . . . . . . . 122

7.5 总结 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122

7.6 Python 脚本 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123

7.6.1 二项定价 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123

7.6.2 LSM 蒙特卡罗定价 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125

7.6.3 原始算法和对偶算法 . . . . . . . . . . . . . . . . . . . . . . . . . . . 126

第 3 部分 基于市场的定价 132

第 8 章 基于市场定价的第一个例子 132

8.1 概述 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132

8.2 市场模型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132

8.3 定价 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133

8.4 校准 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133

8.5 模拟 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134

8.6 总结 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140

8.7 Python 脚本 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140

8.7.1 数值积分定价 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140

8.7.2 FFT 定价 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142

8.7.3 根据三种到期日的期权报价校准模型 . . . . . . . . . . . . . . . . . . 145

8.7.4 根据到期时间较短的期权报价校准模型 . . . . . . . . . . . . . . . . . 147

8.7.5 MCS 定价 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150

第 9 章 一般市场模型 154

9.1 概述 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154

9.2 框架 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154

9.3 框架的特征 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156

9.4 零息债券定价 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157

9.5 欧式期权定价 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158

9.5.1 PDE 方法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158

9.5.2 变换方法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160

9.5.3 蒙特卡罗模拟 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161

9.6 总结 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162

9.7 证明和 Python 脚本 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162

9.7.1 伊藤引理 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162

9.7.2 债券定价的 Python 脚本 . . . . . . . . . . . . . . . . . . . . . . . . . 163

9.7.3 欧式看涨期权定价的 Python 脚本 . . . . . . . . . . . . . . . . . . . 164

第 10 章 蒙特卡罗模拟 171

10.1 概述 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171

10.2 零息债券定价 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171

10.3 欧式期权定价 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175

10.4 美式期权定价 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180

10.4.1 数值结果 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182

10.4.2 高准确性与低速度 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185

10.5 总结 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187

10.6 Python 脚本 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188

10.6.1 一般零息债券定价 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188

10.6.2 CIR85 模拟和定价 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190

10.6.3 通过蒙特卡罗模拟对欧式期权自动定价 . . . . . . . . . . . . . . . . . 193

10.6.4 通过蒙特卡罗模拟对美式看跌期权自动定价 . . . . . . . . . . . . . . 194

第 11 章 模型校准 202

11.1 概述 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202

11.2 一般考量 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202

11.2.1 为什么校准 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202

11.2.2 模型的不同部分分别是什么角色 . . . . . . . . . . . . . . . . . . . . 204

11.2.3 什么是目标函数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205

11.2.4 什么是市场数据 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207

11.2.5 什么是最优化算法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208

11.3 短期利率部分的校准 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208

11.3.1 理论基础 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208

11.3.2 根据 Euribor 校准模型 . . . . . . . . . . . . . . . . . . . . . . . . . . 209

11.4 股权部分的校准 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212

11.4.1 傅里叶变换方法定价 . . . . . . . . . . . . . . . . . . . . . . . . . . . 212

11.4.2 根据 EURO STOXX 50 期权的报价进行校准 . . . . . . . . . . . . . 213

11.4.3 H93 模型校准 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214

11.4.4 跳跃部分校准 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214

11.4.5 BCC97 模型的完全校准 . . . . . . . . . . . . . . . . . . . . . . . . . 217

11.4.6 根据隐含波动率校准 . . . . . . . . . . . . . . . . . . . . . . . . . . . 218

11.5 总结 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220

11.6 COX-INGERSOLL-ROSS 模型的 PYTHON 脚本 . . . . . . . . . . . . . . . 222

11.6.1 CIR85 模型校准 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222

11.6.2 H93 随机波动率模型校准 . . . . . . . . . . . . . . . . . . . . . . . . 225

11.6.3 隐含波动率的比较 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228

11.6.4 模型跳跃扩散部分的校准 . . . . . . . . . . . . . . . . . . . . . . . . 230

11.6.5 BCC97 完全模型的校准 . . . . . . . . . . . . . . . . . . . . . . . . . 233

11.6.6 根据隐含波动率校准 BCC97 模型 . . . . . . . . . . . . . . . . . . . 236

第 12 章 一般模型框架下的模拟与定价 240

12.1 概述 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240

12.2 模拟 BCC97 模型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240

12.3 股权期权定价 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242

12.3.1 欧式期权 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242

12.3.2 美式期权 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244

12.4 总结 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245

12.5 Python 脚本 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245

12.5.1 模拟 BCC97 模型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245

12.5.2 MCS 法对欧式看涨期权定价 . . . . . . . . . . . . . . . . . . . . . . 251

12.5.3 MCS 法对美式看涨期权定价 . . . . . . . . . . . . . . . . . . . . . . 252

第 13 章 动态对冲 256

13.1 概述 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256

13.2 BSM 模型对冲研究 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257

13.3 BCC97 模型对冲研究 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262

13.4 总结 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265

13.5 Python 脚本 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265

13.5.1 BSM 的 LSM Delta 对冲(单一路径) . . . . . . . . . . . . . . . . . 265

13.5.2 BSM 的 LSM Delta 对冲(多条路径) . . . . . . . . . . . . . . . . . 269

13.5.3 BCC97 中美式看跌期权的 LSM 算法 . . . . . . . . . . . . . . . . . . 271

13.5.4 BCC97 的 LSM Delta 对冲(单一路径) . . . . . . . . . . . . . . . 277

第 14 章 摘要 280

附录 A 果壳里的 Python 281

A.1 Python 基础 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281

A.1.1 安装 Python 包 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281

A.1.2 Python 第一步 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282

A.1.3 数组操作 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286

A.1.4 随机数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289

A.1.5 绘图 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289

A.2 欧式期权定价 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291

A.2.1 Black-Scholes-Merton 方法 . . . . . . . . . . . . . . . . . . . . . . . 292

A.2.2 Cox-Ross-Rubinstein 方法 . . . . . . . . . . . . . . . . . . . . . . . . 294

A.2.3 蒙特卡罗方法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299

A.3 金融选题 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301

A.3.1 近似 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301

A.3.2 最优化 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303

A.3.3 数值积分 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 304

A.4 Python 进阶 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305

A.4.1 类和对象 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305

A.4.2 基本的输入输出 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 308

A.4.3 与电子表格交互 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 309

A.5 快速金融工程 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311


Python 3爬虫、数据清洗与可视化实战 

第1 章 Python 基础 ..................................................................................... 1

1.1 安装Python 环境.............................................................................................................. 1

1.1.1 Python 3.6.2 安装与配置 .......................................................................................... 1

1.1.2 使用IDE 工具——PyCharm .................................................................................... 4

1.1.3 使用IDE 工具——Anaconda ................................................................................... 4

1.2 Python 操作入门 .............................................................................................................. 6

1.2.1 编写第一个Python 代码 .......................................................................................... 6

1.2.2 Python 基本操作 ....................................................................................................... 9

1.2.3 变量 .......................................................................................................................... 10

1.3 Python 数据类型 ............................................................................................................ 10

1.3.1 数字 .......................................................................................................................... 10

1.3.2 字符串 .......................................................................................................................11

1.3.3 列表 .......................................................................................................................... 13

1.3.4 元组 .......................................................................................................................... 14

1.3.5 集合 .......................................................................................................................... 15

1.3.6 字典 .......................................................................................................................... 15

1.4 Python 语句与函数 ......................................................................................................... 16

1.4.1 条件语句 .................................................................................................................. 16

1.4.2 循环语句 .................................................................................................................. 16

1.4.3 函数 .......................................................................................................................... 17

第2 章 写一个简单的爬虫 .......................................................................... 18

2.1 关于爬虫的合法性 ......................................................................................................... 18

2.2 了解网页 ......................................................................................................................... 20

2.2.1 认识网页结构 .......................................................................................................... 21

2.2.2 写一个简单的HTML ............................................................................................. 21

2.3 使用requests 库请求网站 .............................................................................................. 23

Python 3 爬虫、数据清洗与可视化实战


2.3.1 安装requests 库 ....................................................................................................... 23

2.3.2 爬虫的基本原理 ...................................................................................................... 25

2.3.3 使用GET 方式抓取数据 ........................................................................................ 26

2.3.4 使用POST 方式抓取数据 ...................................................................................... 27

2.4 使用Beautiful Soup 解析网页 ....................................................................................... 30

2.5 清洗和组织数据 ............................................................................................................. 34

2.6 爬虫攻防战 ..................................................................................................................... 35

第3 章 用API 爬取天气预报数据 ............................................................... 38

3.1 注册免费API 和阅读技术文档 ..................................................................................... 38

3.2 获取API 数据 ................................................................................................................ 40

3.3 存储数据到MongoDB ................................................................................................... 45

3.3.1 下载并安装MongoDB ............................................................................................ 45

3.3.2 在PyCharm 中安装Mongo Plugin ......................................................................... 46

3.3.3 将数据存入MongoDB ............................................................................................ 49

3.4 MongoDB 数据库查询 ................................................................................................... 52

第4 章 大型爬虫案例:抓取某电商网站的商品数据 ................................... 55

4.1 观察页面特征和解析数据 ............................................................................................. 55

4.2 工作流程分析 ................................................................................................................. 64

4.3 构建类目树 ..................................................................................................................... 65

4.4 获取产品列表 ................................................................................................................. 68

4.5 代码优化 ......................................................................................................................... 70

4.6 爬虫效率优化 ................................................................................................................. 74

4.7 容错处理 ......................................................................................................................... 77

第5 章 Scrapy 爬虫 ................................................................................... 78

5.1 Scrapy 简介 ..................................................................................................................... 78

5.2 Scrapy 安装 ..................................................................................................................... 79

5.3 案例:用Scrapy 抓取股票行情 .................................................................................... 80

第6 章 Selenium爬虫 ................................................................................ 88

6.1 Selenium 简介 ................................................................................................................. 88

6.2 案例:用Selenium 抓取电商网站数据 ........................................................................ 90


第7 章 数据库连接和查询 ........................................................................ 100

7.1 使用PyMySQL ............................................................................................................ 100

7.1.1 连接数据库 ............................................................................................................ 100

7.1.2 案例:某电商网站女装行业TOP100 销量数据 ................................................. 102

7.2 使用SQLAlchemy ........................................................................................................ 104

7.2.1 SQLAlchemy 基本介绍 ......................................................................................... 104

7.2.2 SQLAlchemy 基本语法 ......................................................................................... 105

7.3 MongoDB ...................................................................................................................... 107

7.3.1 MongoDB 基本语法 .............................................................................................. 107

7.3.2 案例:在某电商网站搜索“连衣裙”的商品数据 ............................................ 107

第8 章 NumPy ......................................................................................... 109

8.1 NumPy 简介 .................................................................................................................. 109

8.2 一维数组 ........................................................................................................................110

8.2.1 数组与列表的异同 .................................................................................................110

8.2.2 数组的创建 ............................................................................................................. 111

8.3 多维数组 ........................................................................................................................ 111

8.3.1 多维数组的高效性能 .............................................................................................112

8.3.2 多维数组的索引与切片 .........................................................................................113

8.3.3 多维数组的属性 .....................................................................................................113

8.4 数组的运算 ....................................................................................................................115

第9 章 pandas 数据清洗 .......................................................................... 117

9.1 数据读写、选择、整理和描述 ....................................................................................117

9.1.1 从CSV 中读取数据 ...............................................................................................119

9.1.2 向CSV 写入数据 .................................................................................................. 120

9.1.3 数据选择 ................................................................................................................ 120

9.1.4 数据整理 ................................................................................................................ 122

9.1.5 数据描述 ................................................................................................................ 123

9.2 数据分组、分割、合并和变形 ................................................................................... 124

9.2.1 数据分组 ................................................................................................................ 124

9.2.2 数据分割 ................................................................................................................ 127

9.2.3 数据合并 ................................................................................................................ 128

9.2.4 数据变形 ................................................................................................................ 134

9.2.5 案例:旅游数据的分析与变形 ............................................................................ 136

Python 3 爬虫、数据清洗与可视化实战


9.3 缺失值、异常值和重复值处理 ................................................................................... 140

9.3.1 缺失值处理 ............................................................................................................ 140

9.3.2 检测和过滤异常值 ................................................................................................ 144

9.3.3 移除重复数据 ........................................................................................................ 147

9.3.4 案例:旅游数据的值检查与处理 ........................................................................ 149

9.4 时序数据处理 ............................................................................................................... 152

9.4.1 日期/时间数据转换 ............................................................................................... 152

9.4.2 时序数据基础操作 ................................................................................................ 153

9.4.3 案例:天气数据分析与处理 ................................................................................ 155

9.5 数据类型转换 ............................................................................................................... 158

9.6 正则表达式 ................................................................................................................... 160

9.6.1 元字符与限定符 .................................................................................................... 161

9.6.2 案例:用正则表达式提取网页文本信息 ............................................................ 162

第10 章 综合应用实例 ............................................................................. 164

10.1 按性价比给用户推荐旅游产品 ................................................................................. 164

10.1.1 数据采集 .............................................................................................................. 165

10.1.2 数据清洗、建模 .................................................................................................. 169

10.2 通过热力图分析为用户提供出行建议 ..................................................................... 172

10.2.1 某旅游网站热门景点爬虫代码(qunaer_sights.py) ....................................... 175

10.2.2 提取CSV 文件中经纬度和销量信息 ................................................................ 178

10.2.3 创建景点门票销量热力地图HTML 文件 ......................................................... 179

第11 章 数据可视化 ................................................................................. 182

11.1 matplotlib .................................................................................................................... 183

11.1.1 画出各省份平均价格、各省份平均成交量柱状图 .......................................... 183

11.1.2 画出各省份平均成交量折线图、柱状图、箱形图和饼图 .............................. 184

11.1.3 画出价格与成交量的散点图 .............................................................................. 185

11.2 pyecharts ...................................................................................................................... 186

11.2.1 Echarts 简介 ......................................................................................................... 186

11.2.2 pyecharts 简介 ..................................................................................................... 187

11.2.3 初识pyecharts,玫瑰相送 .................................................................................. 187

11.2.4 pyecharts 基本语法 .............................................................................................. 188

11.2.5 基于商业分析的pyecharts 图表绘制 ................................................................. 190

11.2.6 使用pyecharts 绘制其他图表 ............................................................................. 199

11.2.7 pyecharts 和Jupyter ............................................................................................. 203


Python 3 编程实战:从零到精通 本书是一本面向初学者和进阶者的Python 3编程指南,旨在帮助读者快速掌握Python的核心概念和实用技巧,并将其应用于实际问题解决。内容涵盖Python语言基础、数据结构、面向对象编程、文件操作、异常处理、模块化开发,以及一些进阶主题,如生成器、装饰器和元类。通过大量的代码示例和练习题,读者能够循序渐进地提升编程能力,为后续深入学习Python在数据科学、Web开发、自动化等领域的应用奠定坚实基础。 第一部分:Python 基础入门 第一章:Python 简介与开发环境搭建 Python 语言的特点、应用领域和发展历程。 如何选择合适的Python版本,以及官方网站的下载与安装指南。 集成开发环境(IDE)的介绍与推荐,如VS Code、PyCharm等,并指导读者完成基础配置。 第一个Python程序:“Hello, World!”,以及如何运行Python脚本。 Python解释器的工作原理简述。 第二章:Python 变量、数据类型与运算符 变量的声明、赋值与命名规则。 Python 的基本数据类型:整型(`int`)、浮点型(`float`)、布尔型(`bool`)、字符串(`str`)。 复合数据类型:列表(`list`)、元组(`tuple`)、字典(`dict`)、集合(`set`)的初步认识。 不同数据类型的存储方式和特点。 Python 中的运算符:算术运算符、比较运算符、逻辑运算符、赋值运算符、位运算符、成员运算符、身份运算符。 运算符的优先级和结合性。 第三章:Python 控制流语句 条件语句:`if`、`elif`、`else` 的使用,实现程序的分支逻辑。 循环语句:`for` 循环和 `while` 循环,实现程序的重复执行。 `break`、`continue`、`pass` 语句在循环和条件语句中的作用。 `range()` 函数的用法,常与 `for` 循环结合使用。 嵌套的控制流结构。 第四章:Python 数据结构详解 列表(`list`):创建、访问、修改、添加、删除元素,列表切片,列表常用方法(`append()`, `extend()`, `insert()`, `remove()`, `pop()`, `index()`, `count()`, `sort()`, `reverse()`)。 元组(`tuple`):创建、访问、不可变性,元组的应用场景(如函数返回多个值)。 字典(`dict`):键值对存储,创建、访问、修改、添加、删除项,字典常用方法(`keys()`, `values()`, `items()`, `get()`, `update()`, `popitem()`)。 集合(`set`):无序、不重复的元素集合,创建、添加、删除元素,集合运算(并集、交集、差集、对称差集)。 数据结构的性能比较与选择。 第五章:Python 函数 函数定义与调用:`def` 关键字,函数参数(位置参数、关键字参数、默认参数、可变参数 `args` 和 `kwargs`)。 函数返回值:`return` 语句,多返回值。 作用域(局部作用域、全局作用域、 nonlocal)。 匿名函数(lambda 表达式)。 递归函数。 函数的文档字符串(Docstrings)。 第二部分:Python 进阶与实践 第六章:Python 面向对象编程(OOP) 类(Class)和对象(Object)的概念。 类的定义:属性(成员变量)和方法(成员函数)。 对象的创建与使用。 构造方法(`__init__()`)和析构方法(`__del__()`)。 实例方法、类方法(`@classmethod`)和静态方法(`@staticmethod`)。 继承(Inheritance):单继承与多重继承,`super()` 函数。 多态(Polymorphism)。 封装(Encapsulation):访问控制(公有、保护、私有)。 魔术方法(Dunder methods):如 `__str__()`, `__repr__()`, `__len__()` 等。 第七章:Python 文件操作与异常处理 文件I/O:打开、读取、写入、关闭文件。 文件模式(`'r'`, `'w'`, `'a'`, `'b'`, `'t'` 等)。 `with open(...)` 语句,自动管理文件资源。 文本文件和二进制文件的读写。 文件的定位(`seek()`、`tell()`)。 异常(Exception)的概念和分类。 `try...except...else...finally` 块:捕获和处理异常。 自定义异常。 `raise` 语句。 第八章:Python 模块与包 模块(Module)的概念和作用。 导入模块:`import`、`from...import`、`import...as`。 标准库模块的介绍(如 `math`, `os`, `sys`, `datetime`, `random`)。 包(Package)的概念和组织结构。 创建自定义模块和包。 `__name__ == "__main__"` 的用法。 第九章:Python 常用进阶概念 生成器(Generators):使用 `yield` 关键字创建生成器,迭代器协议,生成器表达式。 装饰器(Decorators):理解装饰器的语法糖,编写自定义装饰器,常见装饰器应用(如日志记录、性能测量)。 上下文管理器(Context Managers):使用 `with` 语句,实现 `__enter__()` 和 `__exit__()` 方法。 迭代器(Iterators):理解迭代器协议,`iter()` 和 `next()` 函数。 列表推导式、字典推导式、集合推导式:更简洁高效的数据结构创建方式。 第十章:Python 编程实践与技巧 代码风格指南(PEP 8)。 编写可读性高、易于维护的代码。 调试技巧:使用 `print()` 语句,IDE调试器。 单元测试(Unit Testing)的初步介绍。 版本控制工具(如 Git)的简单介绍。 常见编程错误及解决方法。 通过本书的学习,读者将能够熟练运用Python 3进行编程,理解其核心机制,并具备解决实际问题的基本能力,为未来在更广阔的计算机科学领域发展打下坚实的基础。

用户评价

评分

这本书的价值在于它提供了一种跨学科的思维框架。我过去分别学习过Python数据分析和金融基础知识,但总感觉两者之间有一道无形的墙。这本书巧妙地用衍生品分析作为切入点,将数据处理的逻辑无缝嵌入到金融模型的构建过程中。例如,在讨论波动率建模时,作者是如何从历史价格数据中提取特征,再通过特定的算法(如GARCH模型)进行预测,整个过程逻辑清晰,代码注释详尽。这让我深刻理解到,数据分析不是一个孤立的步骤,而是金融决策链条中不可或缺的一环。它教会了我如何将抽象的金融理论转化为可执行的算法,也教会了我如何用更审慎的态度去对待模型输入的数据质量。这种融会贯通的感觉,是阅读其他任何单一领域的书籍所无法给予的。这本书的深度和广度,足以支持一个小型量化团队在初期搭建起一套基础的分析和回测系统。

评分

这本书简直是为我量身定做的!我之前学Python的时候,总是在理论和实践之间迷失方向,尤其是在爬虫这一块,各种库的使用和反爬虫机制总是让人头疼不已。然而,这本书的实战性真的太强了,它不是那种枯燥的语法堆砌,而是直接带着你一步步构建真实的爬虫项目。从BeautifulSoup到Scrapy,讲解得深入浅出,即便是初学者也能快速上手。更让我惊喜的是,数据清洗和可视化的部分也做得非常扎实,作者显然对数据处理的痛点有深刻理解,很多技巧都是我在其他地方找不到的“独门秘籍”。比如在处理复杂网页结构时的CSS选择器技巧,以及用Pandas进行高效数据合并与重塑的示例,都让我受益匪浅。这本书的结构安排也很合理,从基础的抓取到最终的数据呈现,形成了一个完整的工作流,让我对整个数据分析的流程有了更清晰的主观认识。我强烈推荐给所有想把Python真正用到数据工作中的朋友们,它绝对能帮你少走很多弯路,提升你的实战能力到一个新的台阶。

评分

从一个完全零基础的角度来看,这本书的引导性令人赞叹。我最初对“大数据分析”这个词感到有些望而生畏,担心内容过于高深晦涩。但作者的叙述方式非常亲民,他仿佛坐在我旁边,一步步带着我敲下每一个字符。尤其是当涉及到复杂的金融工具概念时,作者总是会先用最直白的语言解释背后的经济学含义,然后再展示如何用Python的强大功能去模拟和量化它。这本书的优点还在于它提供了一个非常清晰的学习路径,我能够清晰地看到自己从一个只会写简单循环的初学者,成长为一个可以独立完成数据获取、清洗、分析并得出初步结论的“数据工作者”的全过程。我花了很多时间仔细研读了其中的每一个示例,发现作者在代码的健壮性和效率上都下了很大功夫,这对于指导我未来编写自己的程序具有极大的参考价值。这本书,真正做到了“授人以渔”,而不是简单地提供一堆现成的代码片段。

评分

我必须承认,我是一个对细节极其挑剔的读者,尤其在技术书籍中,我最讨厌的就是那种只停留在表面、代码跑不起来或者结果描述不清的书。然而,这本书在项目实操的严谨性上做得非常出色。在爬虫章节中,作者不仅展示了如何请求网页,更细致地讲解了如何应对动态加载的内容(Ajax)以及如何处理Session和Cookie,这些都是实战中绕不开的坎。数据清洗部分,更是将“脏数据”的各种形态一一击破,从缺失值填充到异常值检测,提供的解决方案既实用又高效,让我感觉自己终于掌握了数据预处理的真正艺术。而且,书中的图表展示部分,利用Matplotlib和Seaborn制作出的可视化效果专业且富有洞察力,真正做到了“数据说话”。我将这本书作为我团队内部数据分析新人的入门教材,因为它提供的不仅仅是知识点,更是一种扎实的、面向生产环境的工程思维。

评分

作为一名对金融市场有浓厚兴趣的业余投资者,我一直在寻找一本能将高深的金融建模与实用的编程技术结合起来的书籍。市面上很多金融分析的书籍要么数学公式过多,要么编程代码过于简单,难以满足我的需求。这本书的出现简直是拨开了眼前的迷雾。它详尽地介绍了如何利用Python进行金融衍生品的建模和分析,特别是对期权定价模型的讲解,既有理论支撑,又有实际代码演示,让我这个非科班出身的人也能理解其精髓。我尤其欣赏作者对“大数据分析”的理解,它不仅仅是处理海量数据,更重要的是如何从这些数据中挖掘出有价值的交易信号。书中的案例非常贴近真实市场环境,让我能够立刻将学到的知识应用到模拟交易中去验证效果。如果说有什么可以改进的地方,也许是某些高级量化策略的细节可以再展开一些,但这已经远超同类书籍的水平了。对于希望用技术武装自己的金融从业者或爱好者来说,这本书无疑是一部难得的宝典。

相关图书

本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度google,bing,sogou

© 2025 book.idnshop.cc All Rights Reserved. 静思书屋 版权所有