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