本書(shū)包括:
? 近50萬(wàn)字的圖文課件;
? 數十套結合課件的Python教學(xué)代碼;
? 全套zwPython開(kāi)源平臺;
? 業(yè)內首套面向初學(xué)者的開(kāi)源量化系統zwQuant;
? 國內較大的開(kāi)源金融數據包zwDat,包括tick數據。
無(wú)須任何編程、交易經(jīng)驗,也不需要具備超強的數據分析能力,只要會(huì )使用Excel就可以輕松學(xué)會(huì )本書(shū)講解的知識點(diǎn)。讀完本書(shū)內容和配套的教學(xué)代碼,就能夠編寫(xiě)簡(jiǎn)單的量化策略函數。
本書(shū)是國內較早關(guān)于Python大數據與量化交易的原創(chuàng )圖書(shū),配合zwPython開(kāi)發(fā)平臺和zwQuant開(kāi)源量化軟件學(xué)習,是一套完整的大數據分析、量化交易的學(xué)習教材,可直接用于實(shí)盤(pán)交易。本書(shū)有三大特色:一,以實(shí)盤(pán)個(gè)案分析為主,全程配有Python代碼;二,包含大量的圖文案例和Python源碼,無(wú)須專(zhuān)業(yè)編程基礎,懂Excel即可開(kāi)始學(xué)習;三,配有專(zhuān)業(yè)的zwPython集成開(kāi)發(fā)平臺、zwQuant量化軟件和zwDat數據包。
本書(shū)內容源自筆者的原版教學(xué)課件,雖然限于篇幅和載體,省略了視頻和部分環(huán)節,但核心內容都有保留,配套的近百套Python教學(xué)程序沒(méi)有進(jìn)行任何刪減??紤]到廣大入門(mén)讀者的需求,筆者在各個(gè)核心函數環(huán)節增添了函數流程圖。
何海群,網(wǎng)名:字王,CHRD前海智庫CTO,《中華大字庫》發(fā)明人,出版書(shū)籍20余部,在人工智能、數據分析等方面具有20年一線(xiàn)專(zhuān)業(yè)經(jīng)驗;zwPython開(kāi)發(fā)平臺、zwQuant量化軟件設計師,中國“Python創(chuàng )客”項目和“Python產(chǎn)業(yè)聯(lián)盟”發(fā)起人,國內Python量化課程《Python量化實(shí)盤(pán)?魔鬼訓練營(yíng)》創(chuàng )始人,也是極寬量化開(kāi)源團隊的創(chuàng )始人。其研究成果有:“小數據”理論、快數據模型、黑天鵝算法、人工智能“足彩圖靈法則”等;其論文《人工智能與中文字型設計》是中文字庫行業(yè)三大基礎建模理論之一。論文《人工智能與中文字型設計》是中文字庫行業(yè)三大基礎建模理論之一。
第1章 從故事開(kāi)始學(xué)量化 1
1.1 億萬(wàn)富翁的“神奇公式” 2
1.1.1 案例1-1:億萬(wàn)富翁的“神奇公式” 2
1.1.2 案例分析:Python圖表 5
1.1.3 matplotlib繪圖模塊庫 7
1.1.4 案例分析:style繪圖風(fēng)格 10
1.1.5 案例分析:colormap顏色表 12
1.1.6 案例分析:顏色表關(guān)鍵詞 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 量化交易不是高頻交易、自動(dòng)交易 37
1.3.3 小資、小白、韭菜 38
1.3.4 專(zhuān)業(yè)與業(yè)余 38
1.4 用戶(hù)運行環(huán)境配置 42
1.4.1 程序目錄結構 43
1.4.2 金融股票數據包 44
1.5 Python實(shí)戰操作技巧 46
1.5.1 模塊檢測 46
1.5.2 Spyder編輯器界面設置 47
1.5.3 代碼配色技巧 48
1.5.4 圖像顯示配置 50
1.5.5 Python2、Python 3雙版本雙開(kāi)模式 51
1.5.6 單版本雙開(kāi)、多開(kāi)模式 52
1.5.7 實(shí)戰勝于一切 54
1.6 量化、中醫與西醫 54
第2章 常用量化技術(shù)指標與框架 56
2.1 案例2-1:SMA均線(xiàn)策略 56
2.1.1 案例要點(diǎn)與事件編程 58
2.1.2 量化程序結構 61
2.1.3 main程序主入口 61
2.1.4 KISS法則 63
2.2 Python量化系統框架 64
2.2.1 量化行業(yè)關(guān)鍵詞 64
2.2.2 國外主流Python量化網(wǎng)站 65
2.2.3 我國主流Python量化網(wǎng)站 67
2.2.4 主流Python量化框架 70
2.3 常用量化軟件包 78
2.3.1 常用量化軟件包簡(jiǎn)介 79
2.3.2 案例2-2:模塊庫列表 80
2.4 常用量化技術(shù)指標 82
2.4.1 TA-Lib金融軟件包 83
2.4.2 案例2-3:MA均線(xiàn)函數調用 84
2.4.3 TA-Lib函數調用 86
2.4.4 量化分析常用指標 88
2.5 經(jīng)典量化策略 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 動(dòng)量交易策略 96
2.6.2 均值回歸策略 97
2.6.3 其他常用量化策略 98
2.7 起點(diǎn)與終點(diǎn) 100
第3章 金融數據采集整理 101
3.1 常用數據源API與模塊庫 102
3.1.1 大數據綜合API 102
3.1.2 專(zhuān)業(yè)財經(jīng)數據API 103
3.1.3 專(zhuān)業(yè)數據模塊庫 104
3.2 案例3-1:zwDatX數據類(lèi) 104
3.3 美股數據源模塊庫 108
3.4 開(kāi)源文檔庫Read the Docs 109
3.5 案例3-2:下載美股數據 110
3.6 財經(jīng)數據源模塊庫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實(shí)盤(pán)分析 156
3.10.4 案例3-12:數據歸一化 158
3.11 為有源頭活水來(lái) 160
第4章 PAT案例匯編 162
4.1 投資組合與回報率 163
4.1.1 案例4-1:下載多組美股數據 163
4.1.2 案例4-2:投資組合收益計算 165
4.2 SMA均線(xiàn)策略 168
4.2.1 SMA簡(jiǎn)單移動(dòng)平均線(xiàn) 168
4.2.2 案例4-3:原版SMA均線(xiàn)策略 169
4.2.3 案例4-4:增強版SMA均線(xiàn)策略 173
4.2.4 案例4-5:A股版SMA均線(xiàn)策略 174
4.3 均線(xiàn)交叉策略 175
4.3.1 案例4-6:均線(xiàn)交叉策略 176
4.3.2 案例4-7:A股版均線(xiàn)交叉策略 178
4.4 VWAP動(dòng)量策略 181
4.4.1 案例4-8:VWAP動(dòng)量策略 182
4.4.2 案例4-9:A股版VWAP動(dòng)量策略 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 發(fā)布前言 196
5.2 功能簡(jiǎn)介 197
5.2.1 目錄結構 197
5.2.2 安裝與更新 198
5.2.3 模塊說(shuō)明 199
5.2.4 zwSys模塊:系統變量與類(lèi)定義 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 量化系統的價(jià)格體系 230
5.7.7 數據預處理 231
5.7.8 繪圖模板 234
5.8 新的起點(diǎn) 236
第6章 模塊詳解與實(shí)盤(pán)數據 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 零點(diǎn)策略 260
6.3.1 mul多個(gè)時(shí)間點(diǎn)的交易&數據 263
6.3.2 案例6-2:多個(gè)時(shí)間點(diǎn)交易 264
6.4 不同數據源與格式修改 270
6.4.1 案例6-3:數據源修改 272
6.4.2 數據源格式修改 274
6.5 金融數據包與實(shí)盤(pán)數據更新 275
6.5.1 大盤(pán)指數文件升級 276
6.5.2 實(shí)盤(pán)數據更新 277
6.5.3 案例6-4:A股實(shí)盤(pán)數據更新 277
6.5.4 案例6-5:大盤(pán)指數更新 279
6.6 穩定第一 281
第7章 量化策略庫 282
7.1 量化策略庫簡(jiǎn)介 282
7.1.1 量化系統的三代目 283
7.1.2 通用數據預處理函數 283
7.2 SMA均線(xiàn)策略 286
7.2.1 案例7-1:SMA均線(xiàn)策略 286
7.2.2 實(shí)盤(pán)下單時(shí)機與推薦 289
7.2.3 案例7-2:實(shí)盤(pán)SMA均線(xiàn)策略 290
7.3 CMA均線(xiàn)交叉策略 294
7.3.1 案例7-3:均線(xiàn)交叉策略 294
7.3.2 對標測試誤差分析 296
7.3.3 案例7-4:CMA均線(xiàn)交叉策略修改版 299
7.3.4 人工優(yōu)化參數 300
7.4 VWAP策略 301
7.4.1 案例7-5:VWAP策略 301
7.4.2 案例7-6:實(shí)盤(pán)VWAP策略 303
7.5 BBands布林帶策略 304
7.5.1 案例7-7:BBands布林帶策略 305
7.5.2 案例7-8:實(shí)盤(pán)BBands布林帶策略 306
7.6 大道至簡(jiǎn)1 1 307
第8章 海龜策略與自定義擴展 309
8.1 策略庫 309
8.1.1 自定義策略 310
8.1.2 海龜投資策略 310
8.2 tur海龜策略v1:從零開(kāi)始 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 參數優(yōu)化 324
8.10.3 案例8-6:參數優(yōu)化 324
8.11 tur海龜策略v9:加入策略庫 325
8.12 案例8-7:入庫 326
8.13 庖丁解牛 328
第9章 TA-Lib函數庫與策略開(kāi)發(fā) 329
9.1 TA-Lib技術(shù)指標 329
9.1.1 TA-Lib官網(wǎng) 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 預留參數優(yōu)化接口 356
9.4.4 案例9-5:A股版RSI策略 357
9.5 基石、策略與靈感 358
第10章 擴展與未來(lái) 360
10.1 回顧案例2-1:SMA均線(xiàn)策略 360
案例10-1:SMA均線(xiàn)策略擴展 363
10.2 大盤(pán)指數資源 365
10.2.1 大盤(pán)指數文件升級 366
10.2.2 大盤(pán)指數內存數據庫 367
10.2.3 擴展zwQuantX類(lèi)變量 368
10.2.4 大盤(pán)指數讀取函數 368
10.2.5 案例10-2:讀取指數 369
10.2.6 大盤(pán)數據切割 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均線(xiàn)擴展策略 384
10.5 其他擴展課題 386
10.5.1 復權數據沖突 386
10.5.2 波動(dòng)率指標DVIX 386
10.5.3 修改回溯主函數zwBackTest 387
10.5.4 案例10-8:波動(dòng)率 390
10.5.5 空頭交易 392
10.5.6 虛擬空頭交易 392
10.5.7 修改檢查函數 393
10.5.8 案例10-9:空頭數據 396
10.6 終點(diǎn)與起點(diǎn) 397
附錄A zwPython開(kāi)發(fā)平臺用戶(hù)手冊 398
附錄B Python量化學(xué)習路線(xiàn)圖 423