本書是一本利用Python技術,結合人工智能、神經網絡和機器學習、遺傳算法等互聯網技術進行相應行業模型開發的技術圖書。本書第1~4 章主要講解了利用Python軟件分析模型開發的入門知識,包括開發工具的使用、測試技術難點等內容;第5~7 章主要講解了利用人工智能中的神經網絡技術進行技術研發,利用數據挖掘技術完善行業技術模型的數據加載與分析等內容;第8~9 章主要講解了利用大數據進行技術配置和風險控制等內容;第10~11 章主要講解了利用機器學習與遺傳算法進行相應模型開發等內容。全書內容專業,案例豐富翔實,是作者多年來利用開發軟件和人工智能結合進行相關領域軟件開發與探索的最佳結晶。本書不僅適合想利用Python進行軟件開發的用戶,也適合有一定經驗但想深入掌握人工智能、機器學習技術進行行業應用的用戶使用,還可以作為機構培訓的優秀教材。
韓燾,北京建設大學畢業,2012-2017年在寧夏恒御有限公司參與軟件開發工作;2018-2019年在北京某有限公司任技術總監,由于對Java與Python語言的熟練使用,主導并設計開發了公司的數據風控模型等。個人愛好新技術,并相信人工智能中的深度學習、神經網絡技術能提升工作效率,自行開發各種小程序應用于工作中。
第 1 章 量化投資入門 1
1.1 量化投資及定義 1
1.2 量化投資與傳統投資的比較 2
1.2.1 兩種投資策略簡介 2
1.2.2 量化投資相對于傳統投資的主要優勢 2
1.3 量化投資的國外發展現狀及國內投資市場未來展望 4
1.3.1 量化金融和理論的建立過程 4
1.3.2 國外量化投資基金的發展歷史 5
1.3.3 國內量化投資基金的發展歷史 8
1.3.4 國內投資市場未來展望 8
1.4 突發匯率、加息、商譽的應對方法 9
1.4.1 突發匯率變化和加息的應對方法 10
1.4.2 面對商譽減值的應對方法 12
第 2 章 量化投資策略的設計思路 17
2.1 量化投資策略的研發流程 18
2.2 量化投資策略的可行性研究 20
2.3 量化平臺常用語言—Python 22
2.3.1 Python 簡介 22
2.3.2 量化基礎語法及數據結構 23
2.3.3 量化中函數的定義及使用方法 40
2.3.4 面向對象編程 OOP 的定義及使用方法 43
2.3.5 itertools 的使用方法 48
2.4 量化投資工具—Matplotlib 51
2.4.1 Matplotlib 基礎知識 52
2.4.2 Matplotlib 可視化工具基礎 56
2.4.3 Matplotlib 子畫布及 loc 的使用 58
2.5 Matplotlib 繪制 K 線圖的方法 61
2.5.1 安裝財經數據接口包(Tushare)和繪圖包(mpl_finance) 61
2.5.2 繪制 K 線圖示例 62
第 3 章 量化投資策略回測 65
3.1 選擇回測平臺的技巧 65
3.1.1 根據個人特點選擇回測平臺 66
3.1.2 回測平臺的使用方法與技巧 66
3.2 調用金融數據庫中的數據 68
3.2.1 歷史數據庫的調取 68
3.2.2 數據庫的分析方法與技巧 72
3.3 回測與實際業績預期偏差的調試方法 74
3.4 設置回測參數 75
3.4.1 start 和 end 回測起止時間 75
3.4.2 universe 證券池 76
3.4.3 benchmark 參考基準 78
3.4.4 freq 和 refresh_rate 策略運行頻率 78
3.5 賬戶設置 83
3.5.1 accounts 賬戶配置 83
3.5.2 AccountConfig 賬戶配置 85
3.6 策略基本方法 88
3.7 策略運行環境 89
3.7.1 now 90
3.7.2 current_date 90
3.7.3 previous_date 91
3.7.4 current_minute 91
3.7.5 current_price 92
3.7.6 get_account 93
3.7.7 get_universe 93
3.7.8 transfer_cash 95
3.8 獲取和調用數據 96
3.8.1 history 96
3.8.2 get_symbol_history 103
3.8.3 get_attribute_history 105
3.8.4 DataAPI 107
3.9 賬戶相關屬性 107
3.9.1 下單函數 107
3.9.2 獲取賬戶信息 115
3.10 策略結果展示 120
3.11 批量回測 122
第 4 章 量化投資擇時策略與選股策略的推進方法 125
4.1 多因子選股策略 125
4.1.1 多因子模型基本方法 125
4.1.2 單因子分析流程 126
4.1.3 多因子(對沖)策略邏輯 134
4.1.4 多因子(裸多)策略邏輯 139
4.2 多因子選股技巧 141
4.2.1 定義股票池 141
4.2.2 指標選股 143
4.2.3 指標排序 145
4.2.4 查看選股 146
4.2.5 交易配置 147
4.2.6 策略回測 147
4.3 擇時—均線趨勢策略 148
4.3.1 格蘭維爾移動平均線八大法則 149
4.3.2 雙均線交易系統 150
4.4 擇時—移動平均線模型 151
4.4.1 MA 模型的性質 151
4.4.2 MA 的階次判定 153
4.4.3 建模和預測 154
4.5 擇時—自回歸策略 155
4.5.1 AR(p)模型的特征根及平穩性檢驗 156
4.5.2 AR(p)模型的定階 158
4.6 擇時—均線混合策略 163
4.6.1 識別 ARMA 模型階次 164
4.6.2 ARIMA 模型 167
第 5 章 量化對沖策略 174
5.1 宏觀對沖策略 174
5.1.1 美林時鐘 175
5.1.2 宏觀對沖策略特征 178
5.2 微觀對沖策略:股票投資中的 Alpha 策略和配對交易 178
5.2.1 配對交易策略 178
5.2.2 配對交易策略之協整策略 185
5.2.3 市場中性 Alpha 策略簡介 202
5.2.4 AlphaHorizon 單因子分析模塊 203
5.3 數據加載 204
5.3.1 uqer 數據獲取函數 204
5.3.2 通過 uqer 獲取數據 209
5.3.3 因子數據簡單處理 211
5.4 AlphaHorizon 因子分析—數據格式化 213
5.5 收益分析 214
5.5.1 因子選股的分位數組合超額收益 214
5.5.2 等權做多多頭分位、做空空頭分位收益率分析策略 217
5.5.3 等權做多多頭分位累計凈值計算 220
5.5.4 多頭分位組合實際凈值走勢圖 221
5.5.5 以因子值加權構建組合 222
5.6 信息系數分析 223
5.6.1 因子信息系數時間序列 223
5.6.2 因子信息系數數據分布特征 224
5.6.3 因子信息系數月度熱點圖 225
5.6.4 因子信息系數衰減分析 226
5.7 換手率、因子自相關性分析 227
5.8 分類行業分析 228
5.9 總結性分析數據 231
5.10 AlphaHorizon 完整分析模板 233
第 6 章 數據挖掘 241
6.1 數據挖掘分類模式 241
6.2 數據挖掘之神經網絡 242
6.2.1 循環神經網絡數據的準備和處理 243
6.2.2 獲取因子的原始數據值和股價漲跌數據 243
6.2.3 對數據進行去極值、中性化、標準化處理 246
6.2.4 利用不同模型對因子進行合成 256
6.2.5 合成因子效果的分析和比較 269
6.2.6 投資組合的構建和回測 270
6.2.7 不同模型的回測指標比較 282
6.3 決策樹 295
6.3.1 決策樹原始數據 295
6.3.2 決策樹基本組成 296
6.3.3 ID3 算法 297
6.3.4 決策樹剪枝 302
6.4 聯機分析處理 303
6.5 數據可視化 304
第 7 章 量化投資中數據挖掘的使用方法 306
7.1 SOM 神經網絡 306
7.2 SOM 神經網絡結構 307
7.3 利用SOM 模型對股票進行分析的方法 308
7.3.1 SOM 模型中的數據處理 308
7.3.2 SOM 模型實驗 309
7.3.3 SOM 模型實驗結果 310
第 8 章 量化投資的資金和風險控制 311
8.1 資產配置的定義及分類 311
8.2 資產配置杠桿的使用 312
8.2.1 宏觀杠桿實例 312
8.2.2 微觀杠桿實例 313
8.3 資產配置策略 314
8.3.1 最小方差組合簡介 314
8.3.2 經典資產配置 B-L 模型 322
8.4 風險平價配置方法的理論與實踐 335
8.4.1 風險平價配置方法的基本理念 335
8.4.2 風險平價配置理論介紹 336
8.5 資產風險的來源 343
8.5.1 市場風險 343
8.5.2 利率風險 344
8.5.3 匯率風險 344
8.5.4 流動性風險 345
8.5.5 信用風險 345
8.5.6 通貨膨脹風險 346
8.5.7 營運風險 346
8.6 風險管理細則風險控制的 4 種基本方法 347
8.6.1 風險回避 347
8.6.2 損失控制 348
8.6.3 風險轉移 348
8.6.4 風險保留 348
8.7 做好主觀止損的技巧 349
8.7.1 沒做好止損—中國石油 349
8.7.2 積極止損—中國外運 350
第 9 章 量化倉位決策 354
9.1 凱利公式基本概念 354
9.1.1 凱利公式的兩個不同版本 355
9.1.2 凱利公式的使用方法 355
9.1.3 用凱利公式解答兩個小例子 356
9.1.4 在實戰中運用凱利公式的難點 356
9.2 凱利公式實驗驗證 357
9.2.1 收益率為正態分布時的凱利公式 357
9.3 等價鞅策略與反等價鞅策略 367
9.3.1 等價鞅策略定義及示例 367
9.3.2 反等價鞅策略定義及示例 368
9.4 購買股指期貨 IF1905 被套心理分析及應對策略 371
9.5 期貨趨勢策略倉位管理方法 372
9.5.1 期貨交易策略 373
9.5.2 倉位管理的八大方法 373
9.6 海龜交易法操作商品期貨策略 375
9.6.1 海龜交易步驟回顧 375
9.6.2 需要用到的計算、判斷函數 376
9.6.3 海龜交易回測 378
9.6.4 日線螺紋鋼測試 379
9.6.5 測試不同商品在唐奇安通道 N 上的表現 385
第 10 章 機器學習與遺傳算法 393
10.1 機器學習系統及策略 393
10.1.1 學習策略簡介 394
10.1.2 學習策略分類 394
10.2 演繹推理及歸納推理規則 396
10.2.1 自動推理 396
10.2.2 演繹推理及示例 396
10.2.3 歸納推理及示例 397
10.2.4 自然演繹推理及示例 399
10.3 專家系統體系結構 401
10.3.1 專家系統的定義 401
10.3.2 專家系統的構成 401
10.3.3 專家系統的分類 402
10.3.4 專家系統的特點 403
10.4 遺傳算法基本原理及應用 404
10.4.1 遺傳算法簡介與特點 404
10.4.2 基本遺傳算法多層次框架圖 405
10.4.3 遺傳算法實施步驟 406
10.4.4 遺傳算法應用 406
10.5 使用遺傳算法篩選內嵌因子 407
10.5.1 首先加入 Python 包 407
10.5.2 設定時間回測范圍 409
10.5.3 設置標準化過程 410
10.5.4 訓練,測試集合的選擇 412
10.5.5 評價指標 413
10.5.6 利用遺傳算法改進過程 414
第 11 章 人工智能在量化投資策略中的應用 420
11.1 人工智能選股 Boosting 模型使用方法 420
11.1.1 對數據進行預處理—獲取因子數據和股價漲跌數據 420
11.1.2 對數據進行去極值、中性化、標準化處理 424
11.1.3 模型數據準備 428
11.2 Boosting 模型因子合成 430
11.2.1 模型訓練 431
11.2.2 模型結果分析 437
11.2.3 因子重要度分析 438
11.3 因子測試 440
11.3.1 載入因子文件 440
11.3.2 回測詳情 441
11.3.3 Boosting 模型合成因子分組回測 459