本書首先講解人工智能的基礎(chǔ)知識,即什么是人工智能,為什么要學(xué)習(xí)人工智能,什么是智能,智能類型,人工智能的研究與應(yīng)用領(lǐng)域,為什么使用Python 來開發(fā)人工智能,利用量化交易平臺編寫Python 程序,人工智能的發(fā)展歷史;然后講解Python 編程基礎(chǔ)和人工智能的三個重要的包,即Numpy 包、Pandas 包和Matplotlib 包;接著講解5 種機器學(xué)習(xí)算法,即決策樹、隨機森林、支持向量機(SVM)、樸素貝葉斯和人工智能的神經(jīng)網(wǎng)絡(luò);然后講解Python 量化交易策略的編寫、獲取數(shù)據(jù)函數(shù)、Python 基本面量化選股、Python 量化擇時的技術(shù)指標(biāo)函數(shù)、Python 量化交易策略的回測技巧、Python 量化交易策略的機器學(xué)習(xí)方法應(yīng)用;*后講解Python 量化交易策略的因子分析技巧和Python 量化交易策略實例。 在講解過程中既考慮讀者的學(xué)習(xí)習(xí)慣,又通過具體實例剖析講解人工智能在量化交易應(yīng)用中的熱點問題、關(guān)鍵問題及種種難題。 本書適用于各種投資者,如股民、期民、中小散戶、職業(yè)操盤手和專業(yè)金融評論人士,更適用于那些有志于在這個充滿風(fēng)險、充滿寂寞的征程上默默前行的征戰(zhàn)者和屢敗屢戰(zhàn)、愈挫愈勇并*終戰(zhàn)勝失敗、戰(zhàn)勝自我的勇者。
人工智能 量化交易,未來金融市場的趨勢機構(gòu)和大戶的工具,散戶賺錢是偶然,機構(gòu)和大戶賺錢是必然的結(jié)果揭示智能量化交易實戰(zhàn)精髓,新手交易獲利更容易詳解智能量化交易實戰(zhàn)應(yīng)用難題,多位專家合力編著
李曉波,從事金融衍生品市場交易及管理近20年,有著豐富的經(jīng)驗和體會,對國內(nèi)外貴金屬、外匯、郵幣卡、大宗商品及股市等主流交易方式有著深刻的了解,擅長股票、期貨、黃金、白銀、郵幣卡、外匯的培訓(xùn)指導(dǎo),經(jīng);钴S在各大金融講壇,深為投資者喜愛。可為個人投資者及機構(gòu)提供分析、投資咨詢,交易指導(dǎo),理財培訓(xùn)等多方位的專業(yè)服務(wù)。
第1章 人工智能快速入門 / 1
1.1 初識人工智能 / 2
1.1.1 什么是人工智能 / 2
1.1.2 為什么要學(xué)習(xí)人工智能 / 2
1.2 智能概述 / 4
1.2.1 智能類型 / 4
1.2.2 智能的組成 / 6
1.3 人工智能的研究與應(yīng)用領(lǐng)域 / 8
1.3.1 專家系統(tǒng) / 8
1.3.2 自然語言理解 / 9
1.3.3 機器學(xué)習(xí) / 9
1.3.4 機器定理證明 / 10
1.3.5 自動程序設(shè)計 / 11
1.3.6 分布式人工智能 / 12
1.3.7 機器人學(xué) / 13
1.3.8 模式識別 / 14
1.3.9 人機博弈 / 14
1.3.10 計算機視覺 / 15
1.3.11 軟計算 / 15
1.3.12 智能控制 / 16
1.3.13 智能規(guī)劃 / 17
1.4 人工智能的開發(fā)語言 / 18
1.4.1 為什么使用Python來開發(fā)人工智能 / 18
1.4.2 Python的下載和安裝 / 18
1.4.3 Python程序的編寫 / 21
1.4.4 利用量化交易平臺編寫Python程序 / 24
1.5 人工智能的發(fā)展歷史 / 27
1.5.1 計算機時代 / 27
1.5.2 大量程序 / 28
1.5.3 強弱人工智能 / 29
第2章 Python 編程基礎(chǔ) / 31
2.1 Python的基本數(shù)據(jù)類型 / 32
2.1.1 數(shù)值類型 / 32
2.1.2 字符串 / 34
2.2 變量與賦值 / 37
2.2.1 變量命名規(guī)則 / 37
2.2.2 變量的賦值 / 38
2.3 Python的基本運算 / 39
2.3.1 算術(shù)運算 / 39
2.3.2 賦值運算 / 41
2.3.3 位運算 / 42
2.4 Python的選擇結(jié)構(gòu) / 43
2.4.1 關(guān)系運算 / 43
2.4.2 邏輯運算 / 45
2.4.3 if 語句 / 46
2.4.4 嵌套 if 語句 / 48
2.5 Python的循環(huán)結(jié)構(gòu) / 49
2.5.1 while循環(huán) / 50
2.5.2 while 循環(huán)使用else語句 / 51
2.5.3 無限循環(huán) / 51
2.5.4 for循環(huán) / 52
2.5.5 在for循環(huán)中使用range()函數(shù) / 53
2.5.6 break語句 / 54
2.5.7 continue語句 / 55
2.5.8 pass語句 / 56
2.6 Python的特征數(shù)據(jù)類型 / 57
2.6.1 列表 / 57
2.6.2 元組 / 61
2.6.3 字典 / 63
2.6.4 集合 / 64
2.7 Python的函數(shù) / 67
2.7.1 函數(shù)的定義與調(diào)用 / 67
2.7.2 參數(shù)傳遞 / 69
2.7.3 匿名函數(shù) / 71
2.7.4 變量作用域 / 72
2.8 Python的面向?qū)ο?/ 73
2.8.1 面向?qū)ο蟾拍?/ 73
2.8.2 類與實例 / 74
2.8.3 模塊的引用 / 77
2.9 Python的代碼格式 / 78
2.9.1 代碼縮進 / 78
2.9.2 代碼注釋 / 79
2.9.3 空行 / 79
2.9.4 同一行顯示多條語句 / 79
第3章 人工智能的Numpy 包 / 81
3.1 初識Numpy包 / 82
3.2 ndarray數(shù)組基礎(chǔ) / 82
3.2.1 創(chuàng)建Numpy數(shù)組 / 83
3.2.2 Numpy特殊數(shù)組 / 86
3.2.3 Numpy序列數(shù)組 / 90
3.2.4 Numpy數(shù)組索引 / 91
3.2.5 Numpy數(shù)組運算 / 92
3.2.6 Numpy數(shù)組復(fù)制 / 93
3.3 Numpy的矩陣 / 94
3.4 Numpy的線性代數(shù) / 96
3.4.1 兩個數(shù)組的點積 / 96
3.4.2 兩個向量的點積 / 97
3.4.3 一維數(shù)組的向量內(nèi)積 / 97
3.4.4 矩陣的行列式 / 98
3.4.5 矩陣的逆 / 100
3.5 Numpy的文件操作 / 101
第4章 人工智能的Pandas 包 / 105
4.1 Pandas的數(shù)據(jù)結(jié)構(gòu) / 106
4.2 一維數(shù)組系列(Series) / 106
4.2.1 創(chuàng)建一個空的系列(Series) / 106
4.2.2 從ndarray創(chuàng)建一個系列(Series) / 107
4.2.3 從字典創(chuàng)建一個系列(Series) / 109
4.2.4 從有位置的系列(Series)中訪問數(shù)據(jù) / 109
4.2.5 使用標(biāo)簽檢索數(shù)據(jù) / 110
4.3 二維數(shù)組DataFrame / 111
4.3.1 創(chuàng)建DataFrame / 111
4.3.2 數(shù)據(jù)的查看 / 112
4.3.3 數(shù)據(jù)的選擇 / 116
4.3.4 數(shù)據(jù)的處理 / 122
4.4 三維數(shù)組Panel / 124
第5章 人工智能的Matplotlib 包 / 127
5.1 Matplotlib包的優(yōu)點 / 128
5.2 figure()函數(shù)的應(yīng)用 / 128
5.2.1 figure()函數(shù)的各參數(shù)意義 /
128
5.2.2 figure()函數(shù)的實例 / 129
5.3 plot()函數(shù)的應(yīng)用 / 131
5.3.1 plot()函數(shù)的各參數(shù)意義 /
131
5.3.2 plot()函數(shù)的實例 / 132
5.4 subplot()函數(shù)的應(yīng)用 / 133
5.4.1 subplot()的各參數(shù)意義 / 134
5.4.2 subplot()的實例 / 134
5.5 add_axes方法的應(yīng)用 / 135
5.6 legend()函數(shù)的應(yīng)用 / 137
5.7 設(shè)置字體格式 / 139
5.8 設(shè)置線條的寬度和顏色 / 140
5.9 坐標(biāo)軸網(wǎng)格 / 142
5.10 繪制柱狀圖 / 143
5.11 繪制色圖和等高線圖 / 144
5.12 繪制立體三維圖形 / 146
第6章 決策樹和隨機森林 / 151
6.1 決策樹 / 152
6.1.1 什么是決策樹 / 152
6.1.2 決策樹的組成 / 153
6.1.3 決策樹的優(yōu)點 / 153
6.1.4 決策樹的缺點 / 154
6.1.5 決策樹的構(gòu)造 / 154
6.1.6 純度判斷方法 / 155
6.1.7 決策樹的剪枝 / 162
6.1.8 利用Python代碼實現(xiàn)決策樹 / 163
6.2 隨機森林 / 167
6.2.1 隨機森林的構(gòu)建 / 167
6.2.2 隨機森林的優(yōu)缺點 / 168
6.2.3 隨機森林的應(yīng)用范圍 / 168
6.2.4 利用Python代碼實現(xiàn)隨機森林 /
169
第7章 支持向量機(SVM)和樸素貝葉斯 / 173
7.1 支持向量機(SVM) / 174
7.1.1 什么是支持向量機(SVM) / 174
7.1.2 支持向量機(SVM)的工作原理 / 174
7.1.3 核函數(shù) / 175
7.1.4 支持向量機(SVM)的優(yōu)點 / 177
7.1.5 支持向量機(SVM)的缺點 / 177
7.1.6 利用Python代碼實現(xiàn)支持向量機(SVM)
/ 177
7.2 樸素貝葉斯 / 182
7.2.1 什么是樸素貝葉斯 / 182
7.2.2 樸素貝葉斯的算法思想 / 182
7.2.3 樸素貝葉斯的算法步驟 / 183
7.2.4 樸素貝葉斯的優(yōu)缺點 / 184
7.2.5 利用Python代碼實現(xiàn)高斯樸素貝葉斯 /
184
7.2.6 利用Python代碼實現(xiàn)多項式分布樸素貝葉斯 / 187
7.2.7 利用Python代碼實現(xiàn)伯努力樸素貝葉斯
/ 188
第8章 人工智能的神經(jīng)網(wǎng)絡(luò) / 191
8.1 初識人工神經(jīng)網(wǎng)絡(luò) / 192
8.1.1 什么是人工神經(jīng)網(wǎng)絡(luò) / 192
8.1.2 大腦中的神經(jīng)元細胞和神經(jīng)元細胞網(wǎng)絡(luò) /
192
8.1.3 人工神經(jīng)網(wǎng)絡(luò)的基本特征 / 193
8.1.4 人工神經(jīng)網(wǎng)絡(luò)的特點 / 195
8.2 人工神經(jīng)網(wǎng)絡(luò)的算法 / 195
8.3 神經(jīng)網(wǎng)絡(luò)庫Pybrain / 197
8.3.1 神經(jīng)網(wǎng)絡(luò)的創(chuàng)建 / 197
8.3.2 神經(jīng)網(wǎng)絡(luò)的數(shù)據(jù)集定義 / 201
8.3.3 訓(xùn)練神經(jīng)網(wǎng)絡(luò) / 202
8.3.4 循環(huán)神經(jīng)網(wǎng)絡(luò) / 204
8.4 人工神經(jīng)網(wǎng)絡(luò)實例 / 205
第9章 Python 量化交易策略的編寫 / 209
9.1 Python量化交易策略的組成 /
210
9.1.1 初始化函數(shù)(initialize) / 211
9.1.2 開盤前運行函數(shù)(before_market_open) / 212
9.1.3 開盤時運行函數(shù)(market_open) / 213
9.1.4 收盤后運行函數(shù)(after_market_close) / 214
9.2 Python量化交易策略的設(shè)置函數(shù) /
214
9.2.1 設(shè)置基準函數(shù) / 215
9.2.2 設(shè)置傭金/印花稅函數(shù) / 215
9.2.3 設(shè)置滑點函數(shù) / 217
9.2.4 設(shè)置動態(tài)復(fù)權(quán)(真實價格)模式函數(shù) /
217
9.2.5 設(shè)置成交量比例函數(shù) / 218
9.2.6 設(shè)置是否開啟盤口撮合模式函數(shù) / 218
9.2.7 設(shè)置要操作的股票池函數(shù) / 218
9.3 Python量化交易策略的定時函數(shù) /
219
9.3.1 定時函數(shù)的定義及分類 / 219
9.3.2 定時函數(shù)各項參數(shù)的意義 / 219
9.3.3 定時函數(shù)的注意事項 / 220
9.3.4 定時函數(shù)的實例 / 221
9.4 Python量化交易策略的下單函數(shù) /
222
9.4.1 按股數(shù)下單函數(shù) / 222
9.4.2 目標(biāo)股數(shù)下單函數(shù) / 223
9.4.3 按價值下單函數(shù) / 223
9.4.4 目標(biāo)價值下單函數(shù) / 224
9.4.5 撤單函數(shù) / 224
9.4.6 獲取未完成訂單函數(shù) / 225
9.4.7 獲取訂單信息函數(shù) / 225
9.4.8 獲取成交信息函數(shù) / 226
9.5 Python量化交易策略的日志log
/ 226
9.5.1 設(shè)定log級別 / 226
9.5.2 log.info / 227
9.6 Python量化交易策略的常用對象 /
227
9.6.1 Order對象 / 227
9.6.2 全局對象g / 228
9.6.3 Trade對象 / 229
9.6.4 tick對象 / 229
9.6.5 Context對象 / 230
9.6.6 Position對象 / 231
9.6.7 SubPortfolio對象 / 232
9.6.8 Portfolio對象 / 233
9.6.9 SecurityUnitData對象 / 233
第10章 Python 量化交易策略的獲取數(shù)據(jù)函數(shù) / 235
10.1 獲取股票數(shù)據(jù)的history()函數(shù) / 236
10.1.1 各項參數(shù)的意義 / 236
10.1.2 history()函數(shù)的應(yīng)用實例 / 238
10.2 獲取一只股票數(shù)據(jù)的attribute_history
()函數(shù) / 241
10.3 查詢一個交易日股票財務(wù)數(shù)據(jù)的get_fundamentals
()函數(shù) / 242
10.3.1 各項參數(shù)的意義 / 242
10.3.2 get_fundamentals ()函數(shù)的應(yīng)用實例 / 243
10.4 查詢股票財務(wù)數(shù)據(jù)的get_fundamentals_continuously
()函數(shù) / 249
10.5 獲取股票特別數(shù)據(jù)的get_current_data
()函數(shù) / 250
10.6 獲取指數(shù)成分股代碼的get_index_stocks
()函數(shù) / 251
10.6.1 各項參數(shù)的意義 / 251
10.6.2 get_index_stocks ()函數(shù)的應(yīng)用實例 / 252
10.7 獲取行業(yè)成分股代碼的get_industry_stocks()函數(shù) / 253
10.8 獲取概念成本股代碼的get_concept_stocks
()函數(shù) / 255
10.9 獲取所有數(shù)據(jù)信息的get_all_securities()函數(shù) / 256
10.9.1 各項參數(shù)的意義 / 256
10.9.2 get_all_securities()函數(shù)的應(yīng)用實例 / 257
10.10 獲取一只股票信息的get_security_info
()函數(shù) / 259
10.11 獲取龍虎榜數(shù)據(jù)的get_billboard_list
()函數(shù) / 260
10.11.1 各項參數(shù)的意義 / 260
10.11.2 get_billboard_list()函數(shù)的應(yīng)用實例 / 261
10.12 獲取限售解禁數(shù)據(jù)的get_locked_shares
()函數(shù) / 262
第11章 Python 基本面量化選股 / 265
11.1 初識量化選股 / 266
11.2 成長類因子選股 / 266
11.2.1 營業(yè)收入同比增長率選股 / 266
11.2.2 營業(yè)收入環(huán)比增長率選股 / 268
11.2.3 凈利潤同比增長率選股 / 269
11.2.4 凈利潤環(huán)比增長率選股 / 270
11.2.5 營業(yè)利潤率選股 / 271
11.2.6 銷售凈利率選股 / 272
11.2.7 銷售毛利率選股 / 273
11.3 規(guī)模類因子選股 / 274
11.3.1 總市值選股 / 274
11.3.2 流通市