本書系統地介紹Python在金融數據分析中的應用,分為三篇。第一篇為Python基礎篇(第1章、第2章),詳細講解Python基礎知識及數據分析相關庫(包括NumPy、pandas和Matplotlib),幫助讀者打下堅實的編程基礎。第二篇為金融數據分析與挖掘篇(第3章~第6章),深入介紹金融數據的獲取及預處理、描述性分析與可視化,以及有監督學習和無監督學習等數據建模技術,培養讀者在金融數據分析領域的專業技能。第三篇為綜合應用篇(第7章~第10章),通過上市公司股票數據獲取與可視化分析、滬深300指數預測、基于K均值聚類的上市公司財務數據分析以及不同投資組合下的收益率與波動率分析等具體案例,將理論知識與金融實踐相結合,提升讀者的實踐能力和綜合決策能力。本書不僅提供豐富的案例數據和代碼,還在第二篇各章末提供本章實訓和實戰演練,旨在通過實踐,加深讀者對金融數據分析的理解。
本書配有PPT課件、教學大綱、電子教案、源代碼、數據文件、課后習題答案、實戰演練參考答案等教學資源,讀者可在人郵教育社區免費下載使用。
本書適合作為高等院校金融、經濟、統計、計算機等相關專業的教材,也適合作為金融專業人士和對金融數據分析感興趣的讀者的參考用書。
1.本書從Python基礎知識、基本數據分析技能,擴展到基礎案例和綜合案例,最后通過實訓幫助讀者強化訓練,完成Python相關知識的學習。
2.案例豐富、實用,應用性強。第3~6每章后設有【本章實戰】和【實戰演練】,第7~10章介紹利用Python進行金融數據挖掘分析的基礎案例和綜合應用案例共4個,且每章都有案例報告示范。
3.配套資源豐富。本書配有微課,且提供配套的PPT課件、教學大綱、電子教案、源代碼、數據文件、課后習題答案、實戰演練參考答案等資源。
張俊麗,教授,西安交通大學博士生,陜西師范大學碩士,西安歐亞學院數據科學與大數據專業負責人,全國青年統計學家協會理事,陜西省數學建模優秀指導教師,國家工信部認證高級大數據分析師。發表論文20余篇,主編教材3部,主持省部級課題10余項,主持政府以及企業咨詢課題10余項,研究方向為數據分析與商業價值實現。
第 一篇 Python基礎篇
第 1章 Python基礎知識 2
【學習導讀】 2
【學習目標】 2
【思維導圖】 3
1.1 Python概述與環境搭建 3
1.1.1 Python概述 3
1.1.2 Anaconda概述 5
1.1.3 Jupyter Notebook概述 6
1.1.4 Python庫的安裝 9
1.2 Python的數據類型 10
1.2.1 整型 10
1.2.2 浮點型 10
1.2.3 復數 11
1.2.4 字符串 11
1.3 Python的數據結構 12
1.3.1 元組 12
1.3.2 列表 13
1.3.3 字典 13
1.4 Python的運算符 14
1.5 Python的函數 16
1.5.1 內置函數 16
1.5.2 自定義函數 16
1.6 Python的基本結構 17
1.6.1 順序結構 17
1.6.2 選擇分支結構 17
1.6.3 循環結構 18
1.7 Python在金融數據中的應用 20
【課后習題】 22
第 2章 數據分析相關庫 23
【學習導讀】 23
【學習目標】 23
【思維導圖】 24
2.1 數組運算NumPy 24
2.1.1 NumPy概述 24
2.1.2 數組的創建 25
2.1.3 數組的常用屬性 26
2.1.4 數組的形狀改變 27
2.1.5 數組的索引與切片 28
2.1.6 數組的運算 30
2.2 數據處理pandas 32
2.2.1 pandas概述 32
2.2.2 Series的創建 33
2.2.3 Series的索引及切片 34
2.2.4 DataFrame的創建 35
2.2.5 DataFrame的寫入與讀取 37
2.2.6 DataFrame的索引 38
2.2.7 DataFrame的增刪改查 40
2.2.8 DataFrame的合并 41
2.3 數據繪圖Matplotlib 43
2.3.1 Matplotlib繪圖基礎 43
2.3.2 Matplotlib圖形繪制 45
【課后習題】 47
第二篇 金融數據分析與挖掘篇
第3章
金融數據獲取及預處理 49
【學習導讀】 49
【學習目標】 49
【思維導圖】 50
3.1 金融數據獲取 50
3.1.1 第三方數據接口 50
3.1.2 網絡爬蟲 52
3.2 數據清洗 55
3.2.1 缺失值處理 56
3.2.2 重復值處理 58
3.2.3 異常值處理 59
3.3 數據變換 59
3.3.1 數據類型轉換 59
3.3.2 數值型特征歸一化 62
3.3.3 類別型特征編碼 64
3.3.4 日期變量提取 65
【課后習題】 66
【本章實訓】A股銀行行業歷史行情數據獲取及預處理 66
【實戰演練】新浪財經歷史分紅數據的獲取與預處理 70
第4章 金融數據描述性分析與可視化 71
【學習導讀】 71
【學習目標】 71
【思維導圖】 72
4.1 統計量和描述性分析 72
4.1.1 定性變量的描述性分析 72
4.1.2 定量變量的描述性分析 74
4.2 雙變量的描述性分析 77
4.2.1 定性變量與定性變量 77
4.2.2 定量變量與定量變量 78
4.2.3 定性變量與定量變量 81
4.3 金融技術分析工具 83
4.3.1 K線圖 83
4.3.2 移動平均線 84
4.3.3 mplfinance繪圖 85
【課后習題】 88
【本章實訓】貴州茅臺股票價格走勢分析與可視化 88
【實戰演練】比亞迪股票價格走勢分析與可視化 92
第5章 數據建模:有監督學習 93
【學習導讀】 93
【學習目標】 93
【思維導圖】 94
5.1 有監督學習 94
5.1.1 有監督學習簡介 94
5.1.2 性能度量 96
5.2 線性回歸 99
5.2.1 一元線性回歸 99
5.2.2 多元線性回歸 100
5.2.3 線性回歸算法案例實踐 102
5.3 邏輯回歸 104
5.3.1 邏輯回歸模型 105
5.3.2 邏輯回歸模型案例實踐 107
5.4 決策樹 110
5.4.1 決策樹原理 112
5.4.2 決策樹算法案例實踐 114
5.5 隨機森林 116
5.5.1 隨機森林算法思想 117
5.5.2 隨機森林算法案例實踐 117
【課后習題】 119
【本章實訓】貸款利率預測 120
【實戰演練】上市公司營收預測 122
第6章 數據建模:無監督學習 123
【學習導讀】 123
【學習目標】 123
【思維導圖】 124
6.1 無監督學習概述 124
6.2 主成分分析 125
6.2.1 主成分分析算法思想 125
6.2.2 主成分分析案例實踐 126
6.3 因子分析 128
6.3.1 因子分析基本概念 128
6.3.2 因子分析案例實踐 130
6.4 K均值聚類 131
6.4.1 K均值聚類的基本原理 132
6.4.2 K均值聚類案例實踐 132
【課后習題】 135
【本章實訓】HKD_CNY數據的聚類分析 136
【實戰演練】美元期貨指數聚類分析 140
第三篇 綜合應用篇
第7章 上市公司股票數據獲取與可視化分析 142
7.1 上市公司及股票概述 143
7.2 個股股票數據獲取及可視化 143
7.2.1 個股股票數據獲取 143
7.2.2 數據預處理 144
7.2.3 描述性分析與可視化 146
7.3 多只股票數據獲取及可視化 149
7.3.1 多只股票數據獲取與預處理 149
7.3.2 多只股票的描述性分析與可視化 151
7.4 案例報告——金融行業上市公司股票數據可視化分析 153
7.4.1 背景介紹 153
7.4.2 數據說明 153
7.4.3 描述性分析及可視化 154
7.4.4 總結與建議 159
第8章 滬深300指數預測 160
8.1 滬深300指數概述 161
8.2 數據說明與預處理 161
8.2.1 數據說明 161
8.2.2 數據預處理 162
8.3 滬深300指數分析 163
8.3.1 滬深300指數描述性分析 163
8.3.2 滬深300指數可視化分析 163
8.4 滬深300指數走勢預測 165
8.4.1 數據準備 165
8.4.2 模型訓練及性能評價 166
8.4.3 模型預測結果 166
8.5 案例報告——基于數據挖掘的滬深300指數走勢預測 166
8.5.1 背景介紹 167
8.5.2 數據說明 167
8.5.3 滬深300指數分析 167
8.5.4 模型訓練與結果分析 171
8.5.5 總結與建議 172
第9章 基于K均值聚類的上市公司財務數據分析 173
9.1 上市公司財務概述 174
9.2 數據說明與預處理 174
9.2.1 數據說明 174
9.2.2 數據預處理 174
9.3 財務數據的描述性分析與可視化 175
9.3.1 財務數據的基本統計特征 175
9.3.2 財務數據的核密度估計 175
9.3.3 財務數據的相關性分析 176
9.4 基于財務指標的K均值聚類與評價 177
9.4.1 K值確定 177
9.4.2 K均值聚類與效果評價 178
9.4.3 模型結果展示 178
9.5 案例報告——基于K均值聚類的上市公司盈利能力分析 179
9.5.1 背景介紹 179
9.5.2 數據說明 180
9.5.3 上市公司財務指標的描述性分析 180
9.5.4 上市公司財務指標的聚類分析 182
9.5.5 總結與建議 183
第 10章 不同投資組合下的收益率與波動率分析 184
10.1 投資組合概述 185
10.2 數據預處理和描述性分析 185
10.2.1 股票價格走勢 185
10.2.2 股票的日對數收益率 186
10.2.3 股票的年化對數收益率和年化波動率 186
10.2.4 投資組合的相關性分析 187
10.3 投資組合的收益率分析 188
10.3.1 給定權重的投資組合 188
10.3.2 等權重的投資組合 189
10.3.3 市值加權的投資組合 190
10.4 探索股票的最優投資組合 191
10.4.1 蒙特卡羅模擬在投資組合優化中的應用 191
10.4.2 基于風險最小化的投資組合構建方法 192
10.4.3 基于夏普比率的最優投資組合構建方法 194
10.5 案例報告——基于Python的投資組合收益率與波動率數據分析 195
10.5.1 背景介紹 195
10.5.2 數據說明 196
10.5.3 股價的描述性分析 196
10.5.4 不同的投資組合對比 197
10.5.5 總結與建議 199
參考文獻 200