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
評分
評分
評分
評分
評分
評分
評分
評分
本站所有內容均為互聯網搜尋引擎提供的公開搜索信息,本站不存儲任何數據與內容,任何內容與數據均與本站無關,如有需要請聯繫相關搜索引擎包括但不限於百度,google,bing,sogou 等
© 2025 book.cndgn.com All Rights Reserved. 新城书站 版權所有