Python 股票量化交易從入門到實踐

Python 股票量化交易從入門到實踐

作者: 袁霄
出版社: 人民郵電
出版在: 2020-07-01
ISBN-13: 9787115536075
ISBN-10: 7115536074
裝訂格式: 平裝
總頁數: 342 頁




內容描述


量化交易是一種新興的系統化的金融投資方法,它是以計算機強大的運算能力為基礎,
運用數據建模、統計學分析、程序設計等工具從歷史數據中得到良好的交易策略,
是計算機科學在金融領域的具體應用。
Python語言憑藉其簡潔、高效的特性,以及其在大數據分析方面的強大性能,
在量化交易領域得到了良好的應用。
本書以A股市場為交易標的物,引導讀者從理解量化交易開始,
逐步掌握行情數據的獲取和管理、技術指標的可視化,
並在熟練編程的基礎上,構建出個性化的交易策略體系。
本書適合對股票的量化交易感興趣的讀者閱讀,通過閱讀本書,
讀者不僅能夠瞭解Python數據分析和數據可視化的核心技能,
更能夠將Python作為常用工具,為股票技術指標分析和量化交易提供助力。


目錄大綱


第1章理解Python股票量化交易1
1.1多角度分析量化交易1
1.1.1量化交易的本質2
1.1.2量化交易的發展4
1.1.3量化交易的優勢7
1. 1.4量化交易的過程8
1.2多角度分析股票價格9
1.2.1從股票的起源看本質9
1.2.2如何衡量股票溢價11
1.2.3股票收益的組成12
1 .2.4股價波動的原因13
1.3為什麼選擇Python語言14
1.3.1概述編程語言的發展14
1.3.2面向過程和麵向對象15
1.3.3 Python的起源及優勢16
1.4本章總結17
第2章量化語言Python的關鍵應用18
2.1快速部署Python開發環境18
2.1.1 Python環境安裝18
2.1.2第三方庫安裝21
2.1.3開發工具安裝22
2.2開啟Python的第一個程序26
2.2.1如何建立標準py文件26
2.2.2區分模塊、包、庫28
2.2.3 import發揮擴展優勢29
2.2 .4調試助手print( )函數30
2.3何為Python動態類型特性31
2.3.1變量的種類31
2.3.2動態類型的特性35
2.3.3內存管理與回收38
2.3.4深入探究PyObject 39
2.4如何正確地創建函數41
2.4 .1用def關鍵字定義函數41
2.4.2參數傳遞的形式41
2.4.3匿名函數lambda 44
2.5初識Python面向對象45
2.5.1父類、子類和實例46
2.5.2元類和類及object和type 47
2.5.3經典類和新式類的區別49
2.6如何用面向對象思維編程49
2.6.1如何正確地構建類50
2. 6.2類的實例化全過程51
2.6.3如何引用類的屬性52
2.6.4如何引用類的方法54
2.6.5類的繼承機制應用55
2.6.6類的組合機制應用57
2.7深入理解for-in循環57
2.7.1 for-in循環的原理57
2.7.2 for-in循環的使用技巧59
2.7.3生成器的原理和作用62
2.8巧用裝飾器測試代碼效率63
2.9多進程和多線程的提速方案67
2.9.1多進程和多線程68
2.9.2 Python的GIL原理68
2.9.3多任務的解決方案69
2.10未雨綢繆的異常處理機制72
2.10.1分析try-except常規機制72
2.10.2擴展try-except使用技巧74
2.11本章總結75
第3章第三方庫NumPy快速入門76
3.1初識N維數組對象76
3.2 N維數組對象的特性78
3.2.1矢量運算的特性78
3.2.2廣播運算的特性79
3.2.3用條件表達式選取元素82
3.3高效處理性能的對比83
3.4用常用數組處理函數84
3.4.1創建數組的函數85
3.4.2元素級處理函數87
3.4.3線性代數相關函數88
3.5本章總結91
第4章第三方庫Pandas快速入門92
4.1 Series和DataFrame概覽93
4.2 Series的生成和訪問93
4.2.1 Series的生成方法94
4.2.2 Series的訪問方法96
4.3 DataFrame的生成和訪問97
4.3.1 DataFrame的生成方法97
4.3.2 DataFrame的索引訪問99
4.3.3 DataFrame的元素訪問100
4.3.4元素標籤和位置的轉換103
4.3.5用條件表達式訪問元素105
4.4時間序列的生成和轉換106
4.4.1用datetime生成時間序列106
4.4.2用Pandas生成時間序列109
4.4.3時間序列的降採樣112
4.4.4時間序列的升採樣114
4.5 DataFrame的規整化處理117
4.5.1模擬生成股票行情數據117
4. 5.2 DataFrame概覽120
4.5.3 DataFrame的可視化122
4.5.4 DataFrame缺失值處理123
4.5.5 DataFrame精度的轉換125
4.5.6 DataFrame合併處理125
4.6 DataFrame的高效遍歷128
4.6.1循環遍歷的幾種方式129
4.6.2循環遍歷的性能對比130
4.7 DataFrame的存儲和加載131
4.7.1將DataFrame存儲至CSV 132
4.7.2將CSV加載為DataFrame 134
4.8本章總結135
第5章第三方庫Matplotlib快速入門136
5.1兩種繪圖方式的區分136
5.1.1函數式繪圖137
5.1.2對象式繪圖141
5.2常用圖表類型的繪製143
5.2.1折線圖的繪製143
5.2.2標註點的繪製144
5.2.3參考線/區域的繪製147
5.2.4雙y軸圖表的繪製148
5.2.5條形圖的繪製149
5.2.6直方圖的繪製151
5.2.7 K線圖的繪製152
5.3圖形對象屬性參數的調節155
5.4多子圖對象的創建和佈局158
5.4.1創建多子圖對象的方法158
5.4.2佈局多子圖對象的方法161
5.5注意事項163
5.5.1 tight_layout( )出錯問題163
5.5.2中文顯示亂碼問題164
5.6本章總結164
第6章統計概率理論快速入門165
6.1統計概率的基礎知識165
6.1.1隨機事件與概率的關係165
6.1. 2離散和連續隨機變量166
6.1.3典型的隨機變量分佈168
6.2深入理解伯努利分佈170
6.2.1伯努利分佈的隨機數170
6.2.2伯努利分佈的概率170
6.2.3伯努利分佈的市場模型172
6.3深入理解正態分佈179
6.3.1正態分佈的隨機數179
6.3.2生成概率密度函數181
6.3.3正態分佈與隨機漫步183
6.4本章總結188
第7章股票行情數據的獲取和管理189
7.1如何獲取股票行情數據189
7. 1.1用Panads獲取股票數據190
7.1.2用Tushare獲取股票數據192
7.1.3用Baostock獲取股票數據196
7.2規整化處理股票數據格式199
7.2.1行索引時間格式規整化200
7.2.2列索引名稱格式規整化202
7.3定制股票行情數據獲取接口203
7.4註冊JSON格式自選股票池204
7.4.1將股票池另存為JSON文件205
7. 4.2加載JSON文件以獲取股票池209
7.5用多任務為股票數據的獲取提速209
7.6用數據庫管理本地行情數據212
7.6.1 Python操作SQLite的API 212
7.6.2 Pandas操作SQLite的API 216
7.6.3建立SQLite股票行情數據庫217
7.6.4基於SQLite股票行情數據分析219
7.7本章總結221
第8章股票技術指標的可視化分析222
8.1定制可視化接口222
8.1.1可視化代碼結構分析224
8.1.2可視化接口框架實現225
8.1.3可視化圖表類型實現228
8.1.4可視化接口使用說明229
8.2基礎技術指標的可視化231
8.2.1原生量價指標可視化232
8.2.2移動平均線SMA可視化235
8.2.3震盪類指標KDJ可視化237
8.2.4趨勢類指標MACD可視化239
8.3衍生技術指標的可視化242
8.3.1均線交叉信號可視化243
8.3.2股價跳空缺口可視化246
8.3.3量價指標週期重採樣251
8.3.4黃金分割與支撐/阻力線256
8.4使用TA-Lib庫計算技術指標261
8.4.1常用技術指標的計算方法261
8.4.2常見K線形態的識別方法265
8.4.3 TA-Lib庫的計算速率優勢268
8.5自定義顯示界面框架開發268
8 .5.1行情界面需求分析269
8.5.2行情界面框架實現269
8.5.3如何顯示行情界面272
8.6本章總結275
第9章構建股票量化交易策略體系276
9.1建立多維度的度量體系276
9.1.1交易盈虧區間可視化277
9.1.2交易概覽信息的統計281
9.1.3度量策略資金的絕對收益283
9.1.4度量策略與基準的相對收益286
9.1.5度量策略的最大風險回撤288
9.1.6回測界面的自定義設計293
9.2經典擇時策略進階之股票量化交易304
9.2.1唐奇安通道突破策略的思想305
9.2.2唐奇安通道突破策略的實現306
9.2.3唐奇安通道突破策略的回測310
9.3融入ATR跟踪止盈/止損策略311
9.3.1 ATR技術指標的實現312
9.3.2止盈/止損策略的實現313
9.3.3 ATR止盈/止損策略回測315
9.4蒙特卡洛法最優化策略參數316
9.4.1枚舉法與蒙特卡洛法的區別317
9.4.2蒙特卡洛參數最優化的實現322
9.5基於凱利公式量化倉位管理324
9.5.1凱利公式的原理分析324
9.5.2凱利公式的效果展示326
9.5.3凱利公式在股票中的應用327
9.6用經典選股策略完善股票量化體系329
9.6.1線性回歸的原理和實現329
9.6.2用走勢線性回歸建立選股模型332
9.6.3走勢線性回歸的衍生分析法335
9.7謹防回測階段的陷阱338
9.7.1避免使用未來函數338
9.7.2設置滑點以避免偷價339
9.7.3避免無手續費的策略340
9.7.4避免參數的過度優化341
9.8本章總結342


作者介紹


袁霄
資深Python數據分析師兼高級項目管理師,精通C/C++/Python語言、
Web前後端技術、人工智能算法、大數據分析、證券分析等多領域知識,
致力於推動金融量化交易的普及和發展。
作為CSDN、掘金小冊、慕課網等平台的優秀作者,
已發布多個股票量化交易相關的課程,日常運營微信公眾號
“元宵大師帶你用Python量化交易”。




相關書籍

經濟學.INFOGRAPHICS 視覺資訊大繪解

作者 Thomas Ramge Jan Schwochow 劉于怡 譯

2020-07-01

數位行銷的八堂黃金入門課, 2/e

作者 數位新知

2020-07-01

黃金投資 -- 設計寶典 (舊名: 全民黃金戰爭)

作者 Dave C 任以能 袁偉

2020-07-01