深入淺出 Python 量化交易實戰
段小手
- 出版商: 清華大學
- 出版日期: 2021-12-01
- 售價: $594
- 貴賓價: 9.5 折 $564
- 語言: 簡體中文
- ISBN: 7302587485
- ISBN-13: 9787302587484
-
相關分類:
Python、程式語言、Machine Learning、程式交易 Trading
立即出貨 (庫存 < 3)
買這商品的人也買了...
-
$505Python 量化交易:策略、技巧與實戰
-
$520$406 -
$1,000$790 -
$419$398 -
$980$774 -
$580$458 -
$348$331 -
$534$507 -
$659$626 -
$536商品期貨量化交易實戰 (以 Python 為工具)
-
$880$748 -
$690$538 -
$720$562 -
$720$475 -
$660$515 -
$660$436 -
$680$537 -
$680$537 -
$600$396 -
$760$380 -
$414$393 -
$660$515 -
$600$570 -
$354$336 -
$780$616
相關主題
商品描述
本書主要以國內A股市場為例,借助第三方量化交易平臺,講述了KNN、線性模型、決策樹、支持向量機、樸素貝葉斯等常見機器學習算法在交易策略中的應用,同時展示瞭如何對策略進行回測,以便讓讀者能夠有效評估自己的策略。 另外,本書還講解了自然語言處理(NLP)技術在量化交易領域的發展趨勢,並使用時下熱門的深度學習技術,向讀者介紹了多層感知機、捲積神經網絡,以及長短期記憶網絡在量化交易方面的前瞻性應用。 本書沒有從Python基礎語法講起,對於傳統交易策略也只是一帶而過,直接將讀者帶入機器學習的世界。本書適合對Python語言有一定瞭解且對量化交易感興趣的讀者閱讀。
目錄大綱
VII
目 錄
第1章 小瓦的故事—從零開始
1.1 何以解憂,“小富”也行 ···············1
1.1.1 那些年,那些交易 ···························2
1.1.2 自動化交易和高頻交易 ·····················2
1.1.3 因子投資悄然興起 ···························3
1.2 機器學習崛起 ······························4
1.2.1 量化投資風生水起 ···························4
1.2.2 沒有數據是不行的 ···························5
1.2.3 交易策略和阿爾法因子 ·····················5
1.3 要想富,先配庫 ···························6
1.3.1 Anaconda的下載和安裝 ·····················6
1.3.2 Jupyter Notebook的基本使用方法 ········8
1.3.3 用真實股票數據練練手 ···················11
1.4 小結 ········································15
第2章 小瓦的策略靠譜嗎—回測與經典策略
2.1 對小瓦的策略進行簡單回測 ··········16
2.1.1 下載數據並創建交易信號 ················16
2.1.2 對交易策略進行簡單回測 ················18
2.1.3 關於回測,你還需要知道的 ·············20
2.2 經典策略之移動平均策略 ·············21
2.2.1 單一移動平均指標 ·························21
2.2.2 雙移動平均策略的實現 ···················23
2.2.3 對雙移動平均策略進行回測 ·············26
2.3 經典策略之海龜策略 ···················28
2.3.1 使用海龜策略生成交易信號 ·············28
2.3.2 根據交易信號和倉位進行下單 ··········29
2.3.3 對海龜策略進行回測 ······················31
2.4 小結 ········································34
第3章 AI來了—機器學習在交易中的簡單應用
3.1 機器學習的基本概念 ···················35
3.1.1 有監督學習和無監督學習 ················35
深入淺出Python量化交易實戰
VIII
3.1.2 分類和回歸···································37
3.1.3 模型性能的評估·····························37
3.2 機器學習工具的基本使用方法 ·······37
3.2.1 KNN算法的基本原理 ·····················38
3.2.2 KNN算法用於分類 ························38
3.2.3 KNN算法用於回歸 ························43
3.3 基於機器學習的簡單交易策略 ·······47
3.3.1 獲取股票數據································47
3.3.2 創建交易條件································49
3.3.3 使用分類算法制定交易策略 ·············50
3.4 小結 ········································54
第4章 多來點數據—借助量化交易平臺
4.1 數據不夠,平臺來湊 ···················55
4.1.1 選擇量化交易平臺 ·························56
4.1.2 量化交易平臺的研究環境 ················57
4.1.3 在研究環境中運行代碼 ···················58
4.2 借助財務數據篩選股票 ················59
4.2.1 獲取股票的概況·····························60
4.2.2 獲取股票的財務數據 ······················62
4.2.3 通過財務指標進行選股 ···················64
4.3 誰是幕後“大佬” ······················65
4.3.1 找到最大的股東·····························66
4.3.2 大股東們增持了還是減持了 ·············67
4.3.3 資金凈流入還是凈流出 ···················69
4.4 小結 ········································71
第5章 因子來了—基本原理和用法
5.1 “瓦氏因子”瞭解一下 ················72
5.1.1 獲取主力資金流向數據 ···················73
5.1.2 簡易特徵工程································74
5.1.3 “瓦氏因子”的計算 ······················75
5.1.4 用添加“瓦氏因子”的數據訓練模型 ······76
5.1.5 “因子”都能乾啥 ·························77
5.2 股票不知道怎麽選?因子來幫忙 ····78
5.2.1 確定股票池···································78
5.2.2 獲取滬深兩市的全部指數 ················79
5.2.3 獲取股票的市值因子 ······················80
5.2.4 獲取股票的現金流因子 ···················81
5.2.5 獲取股票的凈利率因子 ···················82
5.2.6 獲取股票的凈利潤增長率因子 ··········83
5.3 把諸多因子“打個包” ················84
5.3.1 將4個因子存入一個DataFrame ········84
5.3.2 使用PCA提取主成分 ·····················85
5.3.3 找到主成分數值最高的股票 ·············86
5.4 小結 ········································87
目錄
IX
第6章 因子好用嗎—有些事需要你知道
6.1 針對投資組合獲取因子值 ·············88
6.1.1 建立投資組合並設定日期 ················88
6.1.2 獲取一個情緒因子 ·························90
6.1.3 獲取全部的因子分析結果 ················91
6.2 因子收益分析 ····························92
6.2.1 因子各分位統計·····························92
6.2.2 因子加權多空組合累計收益 ·············94
6.2.3 做多最大分位做空最小分位收益 ·······96
6.2.4 分位數累計收益對比 ······················97
6.3 因子IC分析 ·····························98
6.3.1 因子IC分析概況 ···························99
6.3.2 因子IC時間序列圖 ························99
6.3.3 因子IC正態分佈Q-Q圖和月度均值 ·····101
6.4 因子換手率、因子自相關性和因子預
測能力分析 ······························102
6.4.1 因子換手率分析····························103
6.4.2 因子自相關性分析 ························104
6.4.3 因子預測能力分析 ························106
6.5 小結 ·······································107
第7章 當因子遇上線性模型
7.1 什麽是線性模型 ························108
7.1.1 準備用於演示的數據 ·····················108
7.1.2 來試試最簡單的線性回歸 ···············110
7.1.3 使用正則化的線性模型 ··················113
7.2 用線性模型搞搞交易策略 ············115
7.2.1 準備因子·····································115
7.2.2 訓練模型·····································117
7.2.3 基於模型的預測進行選股 ···············118
7.3 能不能賺到錢 ···························119
7.3.1 平臺的策略回測功能 ·····················120
7.3.2 把研究成果寫成策略 ·····················121
7.3.3 回測···········································124
7.4 小結 ·······································126
第8章 因子遇到決策樹與隨機森林
8.1 什麽是決策樹和隨機森林 ············127
8.1.1 線性模型不適用的數據樣本 ············127
8.1.2 決策樹的用法和原理 ·····················129
8.1.3 隨機森林的用法和原理 ··················130
8.2 哪些因子重要,決策樹能告訴你 ·····132
8.2.1 多來點因子··································132
8.2.2 設定目標並訓練模型 ·····················135
8.2.3 哪些因子重要·······························137
8.3 用重要因子和隨機森林來制訂
策略 ·······································138
深入淺出Python量化交易實戰
8.3.1 回測函數的初始化 ························138
8.3.2 盤前的準備工作····························139
8.3.3 策略中的機器學習部分 ··················141
8.3.4 定義買入股票和賣出股票的列表 ······142
8.3.5 定義買入操作和賣出操作 ···············144
8.3.6 對策略進行回測····························145
8.4 小結 ·······································146
第9章 因子遇到支持向量機
9.1 什麽是支持向量機 ·····················147
9.1.1 支持向量機的基本原理 ··················147
9.1.2 線性內核有時“很著急” ···············149
9.1.3 RBF內核“閃亮登場” ··················150
9.2 動態因子選擇策略 ·····················152
9.2.1 設置回測環境·······························152
9.2.2 開盤前準備··································153
9.2.3 機器學習的部分····························155
9.2.4 買入和賣出的操作 ························157
9.3 策略的回測詳情 ························158
9.3.1 策略收益概述·······························159
9.3.2 策略交易詳情·······························159
9.3.3 持倉和收益詳情····························161
9.4 使用策略進行模擬交易 ···············162
9.4.1 模擬交易·····································163
9.4.2 查看模擬交易詳情 ························164
9.4.3 模擬交易的持倉與下單 ··················165
9.5 小結 ·······································166
第10章 初識自然語言處理技術
10.1我們的想法是否靠譜 ··················167
10.1.1 思考幾個問題 ·····························167
10.1.2 參考一下“大佬”們的做法 ···········168
10.1.3 說了那麽多,什麽是NLP ··············169
10.2 獲取文本數據並簡單清洗 ··········170
10.2.1 獲取新聞聯播文本數據 ·················170
10.2.2 對文本數據進行簡單清洗 ··············172
10.3 中文分詞,“結巴”來幫忙 ·······173
10.3.1 使用“結巴”進行分詞 ·················174
10.3.2 使用“結巴”進行列表分詞 ···········174
10.3.3 建立停用詞表 ·····························175
10.3.4 去掉文本中的停用詞 ····················176
10.3.5 使用“結巴”提取關鍵詞 ··············178
10.4 小結 ·····································180
第11章 新聞文本向量化和話題建模
11.1 讓機器“讀懂”新聞 ················181
11.1.1 準備文本數據 ·····························181
目錄
11.1.2 使用CountVectorizer將文本轉化為
向量 ··········································183
11.1.3 使用TfidfVectorizer將文本轉化為
向量 ··········································185
11.2 讓機器告訴我們新聞說了啥 ·······186
11.2.1 什麽是話題建模 ··························186
11.2.2 什麽是LDA模型 ························187
11.3 話題建模實戰 ·························188
11.3.1 加載數據並進行分詞 ····················188
11.3.2 將分詞結果合並保存 ····················190
11.3.3 使用LDA進行話題建模 ···············191
11.3.4 對模型進行改進 ··························192
11.4 小結 ·····································194
第12章 股評數據情感分析
12.1 機器懂我們的情感嗎 ················195
12.1.1 瞭解分好類的語料 ·······················196
12.1.2 將文件上傳到量化交易平臺 ···········197
12.2 用語料製作數據集 ···················198
12.2.1 將正面情緒語料存儲為列表 ···········198
12.2.2 將負面情緒語料存儲為列表 ···········200
12.2.3 給數據“打上標簽” ····················201
12.2.4 合並正負面情緒語料 ····················202
12.3 隆重推出“樸素貝葉斯” ··········203
12.3.1 “樸素貝葉斯”又是什麽 ··············204
12.3.2 為貝葉斯模型準備數據 ·················205
12.3.3 開始訓練貝葉斯模型並評估其性能 ·····206
12.4 小結 ·····································208
第13章 咱也“潮”一把—深度學習來了
13.1 開始研究前的準備 ···················209
13.1.1 翻翻工具箱,看看有什麽 ··············210
13.1.2 為神經網絡準備數據 ····················211
13.2 使用Keras對文本進行預處理 ·····213
13.2.1 使用Tokenizer提取特徵 ················213
13.2.2 將文本轉化為序列 ·······················214
13.2.3 填充序列與轉化矩陣 ····················216
13.3 使用Keras構建簡單神經網絡 ·····217
13.3.1 先動手“擼”一個多層感知機 ········217
13.3.2 念叨一下多層感知機的原理 ···········218
13.3.3 再來說說激活函數 ·······················220
13.3.4 Dropout層又是乾嗎的 ··················221
13.3.5 訓練一下,看看效果如何 ··············222
13.4 小結 ·····································224
深入淺出Python量化交易實戰
第14章 再進一步—CNN和LSTM
14.1 先動手“擼”一個捲積神經
網絡 ·····································225
14.1.1 準備好庫和數據集 ·······················225
14.1.2 處理數據與搭建模型 ····················227
14.2 捲積神經網絡模型詳解 ·············229
14.2.1 嵌入層是乾啥用的 ·······················230
14.2.2 捲積層是乾啥用的 ·······················231
14.2.3 最大池化層是乾啥用的 ·················233
14.2.4 訓練模型看看效果 ·······················234
14.3 長短期記憶網絡 ······················236
14.3.1 搭建一個簡單的長短期記憶網絡 ·····236
14.3.2 關於長短期記憶網絡 ····················237
14.3.3 訓練模型及評估 ··························238
14.3.4 保存模型並在回測中調用 ··············240
14.4 小結 ·····································241
第15章 寫在最後—小瓦的徵程
15.1 可以一夜暴富了嗎 ···················242
15.1.1 使用第三方量化平臺是個好主
意嗎 ··········································243
15.1.2 機器學習到底有沒有用 ·················243
15.1.3 要“弔死”在A股“這棵樹”
上嗎 ··········································244
15.2 將來要做什麽 ·························245
15.2.1 學習一些數據庫知識 ····················245
15.2.2 多看看不同的投資標的 ·················247
15.2.3 打開國際化的視野 ·······················249
15.3 小結 ·····································252