零起點Python大數據與量化交易

零起點Python大數據與量化交易

《零起點Python大數據與量化交易》 一書作者何海群,電子工業出版社2017年2月出版

內容提要

《零起點Python大數據與量化交易》是國內較早關於Python大數據與量化交易的原創圖書,配合zwPython開發平台和zwQuant開源量化軟體學習,是一套完整的大數據分析、量化交易的學習教材,可直接用於實盤交易。《零起點Python大數據與量化交易》有三大特色:第一,以實盤個案分析為主,全程配有Python代碼;第二,包含大量的圖文案例和Python源碼,無須專業編程基礎,懂Excel即可開始學習;第三,配有專業的zwPython集成開發平台、zwQuant量化軟體和zwDat數據包。

《零起點Python大數據與量化交易》內容源自筆者的原版教學課件,雖然限於篇幅和載體,省略了視頻和部分環節,但核心內容都有保留,配套的近百套Python教學程式沒有進行任何刪減。考慮到廣大入門讀者的需求,筆者在各個核心函式環節增添了函式流程圖。

目錄

第1章 從故事開始學量化 1

1.1 億萬富翁的“神奇公式” 2

1.1.1 案例1-1:億萬富翁的“神奇公式” 2

1.1.2 案例分析:Python圖表 5

1.1.3 matplotlib繪圖模組庫 7

1.1.4 案例分析:style繪圖風格 10

1.1.5 案例分析:colormap顏色表 12

1.1.6 案例分析:顏色表關鍵字 14

1.1.7 深入淺出 17

1.2 股市“一月效應” 18

1.2.1 案例1-2:股市“一月效應” 18

1.2.2 案例分析:“一月效應”計算 19

1.2.3 案例分析:“一月效應”圖表分析 24

1.2.4 案例分析:顏色表效果圖 26

1.2.5 “一月效應”全文註解版Python源碼 27

1.2.6 大數據·宏分析 34

1.3 量化交易流程與概念 36

1.3.1 數據分析I2O流程 36

1.3.2 量化交易不是高頻交易、自動交易 37

1.3.3 小資、小白、韭菜 38

1.3.4 專業與業餘 38

1.4 用戶運行環境配置 42

1.4.1 程式目錄結構 43

1.4.2 金融股票數據包 44

1.5 Python實戰操作技巧 46

1.5.1 模組檢測 46

1.5.2 Spyder編輯器界面設定 47

1.5.3 代碼配色技巧 48

1.5.4 圖像顯示配置 50

1.5.5 Python2、Python 3雙版本雙開模式 51

1.5.6 單版本雙開、多開模式 52

1.5.7 實戰勝於一切 54

1.6 量化、中醫與西醫 54

第2章 常用量化技術指標與框架 56

2.1 案例2-1:SMA均線策略 56

2.1.1 案例要點與事件編程 58

2.1.2 量化程式結構 61

2.1.3 main程式主入口 61

2.1.4 KISS法則 63

2.2 Python量化系統框架 64

2.2.1 量化行業關鍵字 64

2.2.2 國外主流Python量化網站 65

2.2.3 我國主流Python量化網站 67

2.2.4 主流Python量化框架 70

2.3 常用量化軟體包 78

2.3.1 常用量化軟體包簡介 79

2.3.2 案例2-2:模組庫列表 80

2.4 常用量化技術指標 82

2.4.1 TA-Lib金融軟體包 83

2.4.2 案例2-3:MA均線函式調用 84

2.4.3 TA-Lib函式調用 86

2.4.4 量化分析常用指標 88

2.5 經典量化策略 90

2.5.1 阿爾法(Alpha)策略 90

2.5.2 Beta策略 92

2.5.3 海龜交易法則 93

2.5.4 ETF套利策略 95

2.6 常用量化策略 95

2.6.1 動量交易策略 96

2.6.2 均值回歸策略 97

2.6.3 其他常用量化策略 98

2.7 起點與終點 100

第3章 金融數據採集整理 101

3.1 常用數據源API與模組庫 102

3.1.1 大數據綜合API 102

3.1.2 專業財經數據API 103

3.1.3 專業數據模組庫 104

3.2 案例3-1:zwDatX數據類 104

3.3 美股數據源模組庫 108

3.4 開源文檔庫Read the Docs 109

3.5 案例3-2:下載美股數據 110

3.6 財經數據源模組庫TuShare 113

3.6.1 滬深股票列表 115

3.6.2 案例3-3:下載股票代碼數據 116

3.6.3 CSV檔案處理 119

3.7 歷史數據 121

3.7.1 歷史行情 121

3.7.2 案例3-4:下載近期股票數據 124

3.7.3 歷史復權數據 130

3.7.4 案例3-5:下載歷史復權數據 131

3.8 其他交易數據 134

3.9 zwDat超大股票數據源與數據更新 143

3.9.1 案例3-6:A股基本概況數據下載 144

3.9.2 案例3-7:A股交易數據下載 146

3.9.3 案例3-8:A股指數行情數據下載 150

3.9.4 案例3-9:美股交易數據下載 151

3.10 數據歸一化處理 153

3.10.1 中美股票數據格式差異 153

3.10.2 案例3-10:數據格式轉化 154

3.10.3 案例3-11:A股策略PAT實盤分析 156

3.10.4 案例3-12:數據歸一化 158

3.11 為有源頭活水來 160

第4章 PAT案例彙編 162

4.1 投資組合與回報率 163

4.1.1 案例4-1:下載多組美股數據 163

4.1.2 案例4-2:投資組合收益計算 165

4.2 SMA均線策略 168

4.2.1 SMA簡單移動平均線 168

4.2.2 案例4-3:原版SMA均線策略 169

4.2.3 案例4-4:增強版SMA均線策略 173

4.2.4 案例4-5:A股版SMA均線策略 174

4.3 均線交叉策略 175

4.3.1 案例4-6:均線交叉策略 176

4.3.2 案例4-7:A股版均線交叉策略 178

4.4 VWAP動量策略 181

4.4.1 案例4-8:VWAP動量策略 182

4.4.2 案例4-9:A股版VWAP動量策略 183

4.5 布林帶策略 183

4.5.1 案例4-10:布林帶策略 185

4.5.2 案例4-11:A股版布林帶策略 186

4.6 RSI2策略 188

4.6.1 案例4-12:RSI2策略 190

4.6.2 案例4-13:A股版RSI2策略 190

4.7 案例與傳承 194

第5章 zwQuant整體架構 196

5.1 發布前言 196

5.2 功能簡介 197

5.2.1 目錄結構 197

5.2.2 安裝與更新 198

5.2.3 模組說明 199

5.2.4 zwSys模組:系統變數與類定義 200

5.2.5 zwTools模組:常用(非量化)工具函式 201

5.2.6 zwQTBox:常用“量化”工具函式集 201

5.2.7 zwQTDraw.py:量化繪圖工具函式 203

5.2.8 zwBacktest:回溯測試工具函式 203

5.2.9 zwStrategy:策略工具函式 203

5.2.10 zw_TA-Lib:金融函式模組 204

5.3 示例程式 207

5.4 常用量化分析參數 208

5.5 回溯案例:對標測試 209

5.5.1 對標測試1:投資回報參數 209

5.5.2 對標測試2:VWAP策略 211

5.6 回報參數計算 214

5.7 主體框架 220

5.7.1 stkLib記憶體資料庫 220

5.7.2 Bars數據包 221

5.7.3 案例:記憶體資料庫&數據包 222

5.7.4 qxLib、xtrdLib 227

5.7.5 案例5-1:qxLib數據 228

5.7.6 量化系統的價格體系 230

5.7.7 數據預處理 231

5.7.8 繪圖模板 234

5.8 新的起點 236

第6章 模組詳解與實盤數據 237

6.1 回溯流程 238

6.1.1 案例6-1:投資回報率 238

6.1.2 代碼構成 242

6.1.3 運行總流程 243

6.2 運行流程詳解 244

6.2.1 設定股票數據源 244

6.2.2 設定策略參數 247

6.2.3 dataPre數據預處理 249

6.2.4 綁定策略函式 253

6.2.5 回溯測試:zwBackTest 253

6.2.6 輸出回溯結果數據、圖表 258

6.3 零點策略 260

6.3.1 mul多個時間點的交易&數據 263

6.3.2 案例6-2:多個時間點交易 264

6.4 不同數據源與格式修改 270

6.4.1 案例6-3:數據源修改 272

6.4.2 數據源格式修改 274

6.5 金融數據包與實盤數據更新 275

6.5.1 大盤指數檔案升級 276

6.5.2 實盤數據更新 277

6.5.3 案例6-4:A股實盤數據更新 277

6.5.4 案例6-5:大盤指數更新 279

6.6 穩定第一 281

第7章 量化策略庫 282

7.1 量化策略庫簡介 282

7.1.1 量化系統的三代目 283

7.1.2 通用數據預處理函式 283

7.2 SMA均線策略 286

7.2.1 案例7-1:SMA均線策略 286

7.2.2 實盤下單時機與推薦 289

7.2.3 案例7-2:實盤SMA均線策略 290

7.3 CMA均線交叉策略 294

7.3.1 案例7-3:均線交叉策略 294

7.3.2 對標測試誤差分析 296

7.3.3 案例7-4:CMA均線交叉策略修改版 299

7.3.4 人工最佳化參數 300

7.4 VWAP策略 301

7.4.1 案例7-5:VWAP策略 301

7.4.2 案例7-6:實盤VWAP策略 303

7.5 BBands布林帶策略 304

7.5.1 案例7-7:BBands布林帶策略 305

7.5.2 案例7-8:實盤BBands布林帶策略 306

7.6 大道至簡1+1 307

第8章 海龜策略與自定義擴展 309

8.1 策略庫 309

8.1.1 自定義策略 310

8.1.2 海龜投資策略 310

8.2 tur海龜策略v1:從零開始 311

8.3 案例8-1:海龜策略框架 311

8.4 tur海龜策略v2:策略初始化 312

8.5 案例8-2:策略初始化 312

8.6 tur海龜策略v3:數據預處理 313

8.7 案例8-3:數據預處理 314

8.8 tur海龜策略v4:策略分析 317

8.9 案例8-4:策略分析 317

8.10 tur海龜策略v5:數據圖表輸出 320

8.10.1 案例8-5:圖表輸出 320

8.10.2 參數最佳化 324

8.10.3 案例8-6:參數最佳化 324

8.11 tur海龜策略v9:加入策略庫 325

8.12 案例8-7:入庫 326

8.13 庖丁解牛 328

第9章 TA-Lib函式館與策略開發 329

9.1 TA-Lib技術指標 329

9.1.1 TA-Lib官網 329

9.1.2 矩陣版TA-Lib金融函式模組 330

9.2 MACD策略 331

9.2.1 MACD策略1 331

9.2.2 案例9-1:MACD_v1 335

9.2.3 MACD策略2 336

9.2.4 案例9-2:MACD_v2 338

9.3 KDJ策略 340

9.3.1 KDJ策略1 340

9.3.2 案例9-3:KDJ01 343

9.3.3 KDJ策略2 346

9.3.4 案例9-4:KDJ02 347

9.4 RSI策略 350

9.4.1 RSI取值的大小 351

9.4.2 RSI策略 351

9.4.3 預留參數最佳化接口 356

9.4.4 案例9-5:A股版RSI策略 357

9.5 基石、策略與靈感 358

第10章 擴展與未來 360

10.1 回顧案例2-1:SMA均線策略 360

案例10-1:SMA均線策略擴展 363

10.2 大盤指數資源 365

10.2.1 大盤指數檔案升級 366

10.2.2 大盤指數記憶體資料庫 367

10.2.3 擴展zwQuantX類變數 368

10.2.4 大盤指數讀取函式 368

10.2.5 案例10-2:讀取指數 369

10.2.6 大盤數據切割 370

10.2.7 案例10-3:inxCut數據切割 372

10.3 系統整合 373

10.3.1 案例10-4:整合設定 375

10.3.2 案例10-5:修改指數代碼 376

10.3.3 修改sta_dataPre0xtim函式 377

10.3.4 案例10-6:整合數據切割 380

10.3.5 修改繪圖函式 381

10.4 擴展完成 384

案例10-7:SMA均線擴展策略 384

10.5 其他擴展課題 386

10.5.1 復權數據衝突 386

10.5.2 波動率指標DVIX 386

10.5.3 修改回溯主函式zwBackTest 387

10.5.4 案例10-8:波動率 390

10.5.5 空頭交易 392

10.5.6 虛擬空頭交易 392

10.5.7 修改檢查函式 393

10.5.8 案例10-9:空頭數據 396

10.6 終點與起點 397

附錄AzwPython開發平台用戶手冊 398

附錄BPython量化學習路線圖 423

相關詞條

熱門詞條

聯絡我們