Python量化交易:策略、技巧與實(shí)戰(zhàn)
定 價(jià):99 元
叢書(shū)名:量化交易叢書(shū)
- 作者:張彥橋
- 出版時(shí)間:2019/8/1
- ISBN:9787121370908
- 出 版 社:電子工業(yè)出版社
- 中圖法分類:F830.91
- 頁(yè)碼:372
- 紙張:
- 版次:01
- 開(kāi)本:16開(kāi)
本書(shū)首先講解量化交易的基礎(chǔ)知識(shí),即量化交易的定義、歷史、主要內(nèi)容及與傳統(tǒng)交易的區(qū)別、JoinQuant(聚寬)量化交易平臺(tái);然后講解量化交易開(kāi)發(fā)語(yǔ)言Python,即講解Python語(yǔ)言的開(kāi)發(fā)環(huán)境、基本語(yǔ)法、基本流程控制、特征數(shù)據(jù)類型、函數(shù)及應(yīng)用、面向?qū)ο蟪绦蛟O(shè)計(jì);接著講解如何利用Python語(yǔ)言編寫(xiě)量化策略、如何回測(cè)、編寫(xiě)量化策略所需要常用函數(shù)、因子分析、量化交易策略實(shí)例;最后講解量化選股的技巧、量化擇時(shí)的技巧及算法交易。在講解過(guò)程中即考慮讀者的學(xué)習(xí)習(xí)慣,又通過(guò)具體實(shí)例剖析講解量化實(shí)際交易過(guò)程中的熱點(diǎn)問(wèn)題、關(guān)鍵問(wèn)題及種種難題。
張彥橋,現(xiàn)任青島東勝偉業(yè)軟件科技有限公司項(xiàng)目開(kāi)發(fā)部經(jīng) 理,具有8年以上Python、Java項(xiàng)目開(kāi)發(fā)經(jīng)驗(yàn)。精通VB、JS、PHP 、C、C#、Ruby等編 程語(yǔ)言,熟悉多種開(kāi)源技術(shù),喜歡GET新技能,曾帶領(lǐng)團(tuán)隊(duì)完成過(guò)多個(gè)中、小型項(xiàng)目 開(kāi)發(fā),在量化交易、數(shù)據(jù)安全、云計(jì)算、機(jī)器學(xué)習(xí)、物聯(lián)網(wǎng)、區(qū)塊鏈等領(lǐng)域有豐富的經(jīng)驗(yàn)。
目 錄
第1章 量化交易概述 1
1.1 初識(shí)量化交易 2
1.1.1 什么是量化交易 2
1.1.2 量化交易與算法交易 2
1.1.3 量化交易與程序化交易 2
1.1.4 量化交易與技術(shù)分析 3
1.1.5 量化交易與人工交易 3
1.1.6 為什么要學(xué)習(xí)量化交易 4
1.2 量化交易的特點(diǎn) 5
1.3 量化交易的應(yīng)用 6
1.3.1 投資品種選擇 7
1.3.2 投資時(shí)機(jī)選擇 7
1.3.3 算法交易 7
1.3.4 各種套利交易 9
1.3.5 資產(chǎn)配置 10
1.4 量化交易的故事 11
1.4.1 朱爾斯·雷格納特的量化交易故事 11
1.4.2 愛(ài)德華·索普的量化交易故事 12
1.4.3 詹姆斯·西蒙斯的量化交易故事 13
1.5 量化交易的歷史 14
1.5.1 國(guó)外量化交易的歷史 14
1.5.2 國(guó)內(nèi)量化交易的歷史 15
1.6 量化交易的注意事項(xiàng) 15
第2章 量化交易平臺(tái) 17
2.1 初識(shí)JoinQuant聚寬量化交易平臺(tái) 18
2.2 量化交易平臺(tái)的功能 18
2.2.1 高質(zhì)量數(shù)據(jù)和強(qiáng)大的研究平臺(tái) 18
2.2.2 頂級(jí)回測(cè)體驗(yàn)和頂尖模擬交易 19
2.3 賬戶的注冊(cè)、登錄及量化交易策略的創(chuàng)建 19
2.3.1 量化交易平臺(tái)賬戶的注冊(cè) 19
2.3.2 量化交易平臺(tái)賬戶的登錄 20
2.3.3 量化交易策略的創(chuàng)建 22
2.4 量化交易策略的選股技巧 24
2.4.1 量化選股的基本設(shè)置 24
2.4.2 選股指標(biāo) 27
2.5 量化交易策略的買賣條件模型 31
2.5.1 輪動(dòng)模型 32
2.5.2 擇時(shí)模型 33
2.6 量化交易策略的風(fēng)險(xiǎn)控制技巧 35
2.6.1 止盈、止損指標(biāo) 35
2.6.2 其他指標(biāo) 36
2.7 量化交易策略的其他參數(shù)設(shè)置技巧 36
2.8 編寫(xiě)Python代碼來(lái)創(chuàng)建量化交易策略 38
2.9 量化交易策略的回測(cè) 39
2.10 量化交易策略的模擬交易 41
2.10.1 新建模擬交易并運(yùn)行 41
2.10.2 查看模擬交易 42
2.10.3 綁定微信 45
2.11 量化交易策略的實(shí)盤交易 46
第3章 Python開(kāi)發(fā)環(huán)境及編程基礎(chǔ) 49
3.1 初識(shí)Python 50
3.1.1 Python的發(fā)展歷程 50
3.1.2 Python的特點(diǎn) 50
3.2 Python開(kāi)發(fā)環(huán)境及配置 51
3.2.1 Python的下載和安裝 51
3.2.2 Python的環(huán)境變量配置 53
3.3 Python程序的編寫(xiě) 57
3.4 利用量化交易平臺(tái)編寫(xiě)Python程序 61
3.4.1 初識(shí)IPython Notebook研究平臺(tái) 62
3.4.2 利用IPython Notebook編寫(xiě)Python程序 66
3.5 Python的基本數(shù)據(jù)類型 67
3.5.1 數(shù)值類型 67
3.5.2 字符串 69
3.6 Python的變量與賦值 73
3.6.1 變量命名規(guī)則 73
3.6.2 變量的賦值 74
3.7 Python的基本運(yùn)算 74
3.7.1 算術(shù)運(yùn)算 75
3.7.2 賦值運(yùn)算 76
3.7.3 位運(yùn)算 77
3.8 Python的代碼格式 78
3.8.1 代碼縮進(jìn) 78
3.8.2 代碼注釋 79
3.8.3 空行 80
3.8.4 同一行顯示多條語(yǔ)句 80
第4章 Python流程控制與特征數(shù)據(jù)類型 81
4.1 Python的選擇結(jié)構(gòu) 82
4.1.1 關(guān)系運(yùn)算 82
4.1.2 邏輯運(yùn)算 83
4.1.3 if語(yǔ)句 84
4.1.4 嵌套if語(yǔ)句 86
4.2 Python的循環(huán)結(jié)構(gòu) 87
4.2.1 while循環(huán) 87
4.2.2 while循環(huán)使用else語(yǔ)句 88
4.2.3 無(wú)限循環(huán) 89
4.2.4 for循環(huán) 90
4.2.5 在for循環(huán)中使用range()函數(shù) 90
4.2.6 break語(yǔ)句 92
4.2.7 continue語(yǔ)句 92
4.2.8 pass語(yǔ)句 93
4.3 Python的特征數(shù)據(jù)類型 94
4.3.1 列表 94
4.3.2 元組 97
4.3.3 字典 99
4.3.4 集合 100
第5章 Python函數(shù)與面向?qū)ο?104
5.1 Python內(nèi)置函數(shù) 105
5.1.1 數(shù)學(xué)函數(shù) 105
5.1.2 隨機(jī)數(shù)函數(shù) 106
5.1.3 三角函數(shù) 108
5.1.4 字符串函數(shù) 110
5.2 用戶自定義函數(shù) 113
5.2.1 自定義函數(shù)的定義 113
5.2.2 調(diào)用自定義函數(shù) 114
5.2.3 函數(shù)的參數(shù)傳遞 116
5.2.4 函數(shù)的參數(shù)類型 118
5.2.5 匿名函數(shù) 123
5.3 Python的面向?qū)ο?123
5.3.1 面向?qū)ο蟾拍?124
5.3.2 類與實(shí)例 124
5.3.3 模塊的引用 127
5.3.4 包 127
5.4 變量作用域及類型 130
5.4.1 變量作用域 130
5.4.2 全局變量和局部變量 131
5.4.3 global和nonlocal關(guān)鍵字 132
第6章 Python量化交易策略的常用庫(kù) 135
6.1 Numpy庫(kù) 136
6.1.1 ndarray數(shù)組基礎(chǔ) 136
6.1.2 Numpy的矩陣對(duì)象 148
6.2 Pandas庫(kù) 149
6.2.1 一維數(shù)組Series 149
6.2.2 二維數(shù)組DataFrame 150
6.2.3 三維數(shù)組Panel 160
第7章 Python量化交易策略的常用函數(shù)與對(duì)象 163
7.1 Python量化交易策略的一般結(jié)構(gòu) 164
7.1.1 初始化函數(shù) 165
7.1.2 開(kāi)盤前運(yùn)行函數(shù) 166
7.1.3 開(kāi)盤時(shí)運(yùn)行函數(shù) 166
7.1.4 收盤后運(yùn)行函數(shù) 167
7.2 Python量化交易策略的設(shè)置函數(shù) 167
7.2.1 設(shè)置基準(zhǔn)函數(shù) 168
7.2.2 設(shè)置傭金/印花稅函數(shù) 168
7.2.3 設(shè)置滑點(diǎn)函數(shù) 169
7.2.4 設(shè)置動(dòng)態(tài)復(fù)權(quán)(真實(shí)價(jià)格)模式函數(shù) 170
7.2.5 設(shè)置成交量比例函數(shù) 170
7.2.6 設(shè)置是否開(kāi)啟盤口撮合模式函數(shù) 171
7.2.7 設(shè)置要操作的股票池函數(shù) 171
7.3 Python量化交易策略的定時(shí)函數(shù) 171
7.3.1 定時(shí)函數(shù)的定義及分類 172
7.3.2 定時(shí)函數(shù)各項(xiàng)參數(shù)的意義 172
7.3.3 定時(shí)函數(shù)的注意事項(xiàng) 173
7.3.4 定時(shí)函數(shù)的實(shí)例 174
7.4 Python量化交易策略的下單函數(shù) 174
7.4.1 按股數(shù)下單函數(shù) 174
7.4.2 目標(biāo)股數(shù)下單函數(shù) 175
7.4.3 按價(jià)值下單函數(shù) 175
7.4.4 目標(biāo)價(jià)值下單函數(shù) 176
7.4.5 撤單函數(shù) 176
7.4.6 獲取未完成訂單函數(shù) 177
7.4.7 獲取訂單信息函數(shù) 177
7.4.8 獲取成交信息函數(shù) 178
7.5 Python量化交易策略的日志log 178
7.5.1 設(shè)定log級(jí)別 178
7.5.2 log.info 179
7.6 Python量化交易策略的常用對(duì)象 179
7.6.1 Order對(duì)象 179
7.6.2 全局對(duì)象g 180
7.6.3 Trade對(duì)象 180
7.6.4 tick對(duì)象 180
7.6.5 Context對(duì)象 181
7.6.6 Position對(duì)象 182
7.6.7 SubPortfolio對(duì)象 183
7.6.8 Portfolio對(duì)象 184
7.6.9 SecurityUnitData對(duì)象 184
第8章 Python量化交易策略的獲取數(shù)據(jù)函數(shù)運(yùn)用技巧 186
8.1 history()函數(shù)的運(yùn)用技巧 187
8.1.1 各項(xiàng)參數(shù)的意義 187
8.1.2 history()函數(shù)的應(yīng)用實(shí)例 188
8.2 attribute_history ()函數(shù)的運(yùn)用技巧 191
8.3 get_fundamentals ()函數(shù)的運(yùn)用技巧 192
8.3.1 各項(xiàng)參數(shù)的意義 192
8.3.2 get_fundamentals ()函數(shù)的應(yīng)用實(shí)例 193
8.4 get_fundamentals_continuously ()函數(shù)的運(yùn)用技巧 198
8.5 get_current_data ()函數(shù)的運(yùn)用技巧 199
8.6 get_index_stocks ()函數(shù)的運(yùn)用技巧 200
8.6.1 各項(xiàng)參數(shù)的意義 200
8.6.2 get_index_stocks ()函數(shù)的應(yīng)用實(shí)例 201
8.7 get_industry_stocks()函數(shù)的運(yùn)用技巧 202
8.8 get_concept_stocks ()函數(shù)的運(yùn)用技巧 203
8.9 get_all_securities()函數(shù)的運(yùn)用技巧 205
8.9.1 各項(xiàng)參數(shù)的意義 205
8.9.2 get_all_securities()函數(shù)的應(yīng)用實(shí)例 206
8.10 get_security_info ()函數(shù)的運(yùn)用技巧 207
8.11 get_billboard_list ()函數(shù)的運(yùn)用技巧 208
8.11.1 各項(xiàng)參數(shù)的意義 208
8.11.2 get_billboard_list()函數(shù)的應(yīng)用實(shí)例 209
8.12 get_locked_shares ()函數(shù)的運(yùn)用技巧 210
第9章 Python量化交易策略的基本面選股技巧 211
9.1 量化選股概述 212
9.2 成長(zhǎng)類因子選股技巧 212
9.2.1 營(yíng)業(yè)收入同比增長(zhǎng)率選股技巧 212
9.2.2 營(yíng)業(yè)收入環(huán)比增長(zhǎng)率選股技巧 214
9.2.3 凈利潤(rùn)同比增長(zhǎng)率選股技巧 215
9.2.4 凈利潤(rùn)環(huán)比增長(zhǎng)率選股技巧 216
9.2.5 營(yíng)業(yè)利潤(rùn)率選股技巧 217
9.2.6 銷售凈利率選股技巧 217
9.2.7 銷售毛利率選股技巧 218
9.3 規(guī)模類因子選股技巧 220
9.3.1 總市值選股技巧 220
9.3.2 流通市值選股技巧 221
9.3.3 總股本選股技巧 222
9.3.4 流通股本選股技巧 222
9.4 價(jià)值類因子選股技巧 223
9.4.1 市凈率選股技巧 223
9.4.2 市銷率選股技巧 224
9.4.3 市現(xiàn)率選股技巧 225
9.4.4 動(dòng)態(tài)市盈率選股技巧 226
9.4.5 靜態(tài)市盈率選股技巧 227
9.5 質(zhì)量類因子選股技巧 228
9.5.1 凈資產(chǎn)收益率選股技巧 228
9.5.2 總資產(chǎn)凈利率選股技巧 229
9.6 基本面多因子量化選股 230
第10章 Python量化交易策略的技術(shù)指標(biāo)函數(shù)運(yùn)用技巧 232
10.1 量化擇時(shí)概述 233
10.2 趨向指標(biāo)函數(shù)運(yùn)用技巧 234
10.2.1 MACD指標(biāo)函數(shù) 234
10.2.2 EMV指標(biāo)函數(shù) 235
10.2.3 UOS指標(biāo)函數(shù) 237
10.2.4 GDX指標(biāo)函數(shù) 238
10.2.5 DMA指標(biāo)函數(shù) 239
10.2.6 JS指標(biāo)函數(shù) 240
10.2.7 MA指標(biāo)函數(shù) 241
10.2.8 EXPMA指標(biāo)函數(shù) 242
10.2.9 VMA指標(biāo)函數(shù) 243
10.3 反趨向指標(biāo)函數(shù)運(yùn)用技巧 245
10.3.1 KD指標(biāo)函數(shù) 245
10.3.2 MFI指標(biāo)函數(shù) 246
10.3.3 RSI指標(biāo)函數(shù) 247
10.3.4 OSC指標(biāo)函數(shù) 248
10.3.5 WR指標(biāo)函數(shù) 249
10.3.6 CCI指標(biāo)函數(shù) 250
10.4 壓力支撐指標(biāo)函數(shù)運(yùn)用技巧 251
10.4.1 BOLL指標(biāo)函數(shù) 251
10.4.2 MIKE指標(biāo)函數(shù) 253
10.4.3 XS指標(biāo)函數(shù) 254
10.5 量?jī)r(jià)指標(biāo)函數(shù)運(yùn)用技巧 256
10.5.1 OBV指標(biāo)函數(shù) 256
10.5.2 VOL指標(biāo)函數(shù) 257
10.5.3 VR指標(biāo)函數(shù) 258
10.5.4 MASS指標(biāo)函數(shù) 259
第11章 Python量化交易策略的回測(cè)方法與技巧 261
11.1 量化交易策略回測(cè)的流程 262
11.2 利用Python編寫(xiě)MACD指標(biāo)量化交易策略 262
11.2.1 量化交易策略的編輯頁(yè)面 262
11.2.2 編寫(xiě)初始化函數(shù) 265
11.2.3 編寫(xiě)單位時(shí)間調(diào)用的函數(shù) 265
11.3 設(shè)置MACD指標(biāo)量化交易策略的回測(cè)參數(shù) 266
11.4 MACD指標(biāo)量化交易策略的回測(cè)詳情 269
11.5 MACD指標(biāo)量化交易策略的風(fēng)險(xiǎn)指標(biāo) 272
11.5.1 Alpha(阿爾法) 272
11.5.2 Beta(貝塔) 273
11.5.3 Sharpe(夏普比率) 274
11.5.4 Sortino(索提諾比率) 275
11.5.5 Information Ratio(信息比率) 276
11.5.6 Volatility(策略波動(dòng)率) 277
11.5.7 Benchmark Volatility(基準(zhǔn)波動(dòng)率) 278
11.5.8 Max Drawdown(最大回撤) 279
第12章 Python量化交易策略的機(jī)器算法運(yùn)用技巧 280
12.1 隨機(jī)森林在量化交易中的運(yùn)用技巧 281
12.1.1 隨機(jī)森林的構(gòu)建 281
12.1.2 隨機(jī)森林的優(yōu)缺點(diǎn) 281
12.1.3 隨機(jī)森林在量化交易中的運(yùn)用實(shí)例 282
12.2 支持向量機(jī)(SVM)在量化交易中的運(yùn)用技巧 284
12.2.1 什么是支持向量機(jī)(SVM) 285
12.2.2 支持向量機(jī)(SVM)的工作原理 285
12.2.3 核函數(shù) 287
12.2.4 支持向量機(jī)(SVM)的優(yōu)點(diǎn) 288
12.2.5 支持向量機(jī)(SVM)的缺點(diǎn) 288
12.2.6 支持向量機(jī)(SVM)在量化交易中的運(yùn)用實(shí)例 289
12.3 樸素貝葉斯在量化交易中的運(yùn)用技巧 292
12.3.1 什么是樸素貝葉斯 292
12.3.2 樸素貝葉斯的算法思想 292
12.3.3 樸素貝葉斯的算法步驟 292
12.3.4 樸素貝葉斯的優(yōu)缺點(diǎn) 293
12.3.5 樸素貝葉斯在量化交易中的運(yùn)用實(shí)例 293
12.4 神經(jīng)網(wǎng)絡(luò)在量化交易中的運(yùn)用技巧 296
12.4.1 什么是人工神經(jīng)網(wǎng)絡(luò) 296
12.4.2 大腦中的神經(jīng)元細(xì)胞和神經(jīng)元細(xì)胞網(wǎng)絡(luò) 297
12.4.3 人工神經(jīng)網(wǎng)絡(luò)的基本特征 298
12.4.4 人工神經(jīng)網(wǎng)絡(luò)的特點(diǎn) 299
12.4.5 人工神經(jīng)網(wǎng)絡(luò)的算法 299
12.4.6 人工神經(jīng)網(wǎng)絡(luò)在量化交易中的運(yùn)用實(shí)例 301
第13章 Python量化交易策略的因子分析運(yùn)用技巧 305
13.1 因子的類型及因子分析的作用 306
13.2 因子分析的Python代碼 306
13.2.1 因子分析中的三個(gè)變量 306
13.2.2 因子分析中可以使用的基礎(chǔ)因子 307
13.2.3 calc的參數(shù)及返回值 308
13.3 因子的新建及常見(jiàn)分析 308
13.3.1 因子的新建 308
13.3.2 因子的收益分析 311
13.3.3 因子的IC分析 314
13.3.4 因子的換手分析 315
13.4 因子在研究和回測(cè)中的使用 317
13.5 基本面因子運(yùn)用實(shí)例 319
第14章 Python量化交易策略實(shí)戰(zhàn)案例 323
14.1 MA均線量化交易策略實(shí)戰(zhàn)案例 324
14.1.1 編寫(xiě)初始化函數(shù) 324
14.1.2 編寫(xiě)單位時(shí)間調(diào)用的函數(shù) 326
14.1.3 MA均線量化交易策略的回測(cè) 327
14.2 多均線量化交易策略實(shí)戰(zhàn)案例 327
14.2.1 編寫(xiě)初始化函數(shù) 328
14.2.2 編寫(xiě)交易程序函數(shù) 328
14.2.3 多均線量化交易策略的回測(cè) 330
14.3 MACD指標(biāo)量化交易策略實(shí)戰(zhàn)案例 330
14.3.1 編寫(xiě)初始化函數(shù) 331
14.3.2 編寫(xiě)單位時(shí)間調(diào)用的函數(shù) 331
14.3.3 MACD指標(biāo)量化交易策略的回測(cè) 332
14.4 KD指標(biāo)量化交易策略實(shí)戰(zhàn)案例 333
14.4.1 編寫(xiě)初始化函數(shù) 333
14.4.2 編寫(xiě)開(kāi)盤前運(yùn)行函數(shù) 334
14.4.3 編寫(xiě)開(kāi)盤時(shí)運(yùn)行函數(shù) 334
14.4.4 編寫(xiě)收盤后運(yùn)行函數(shù) 335
14.4.5 KD指標(biāo)量化交易策略的回測(cè) 335
14.5 BOLL指標(biāo)量化交易策略實(shí)戰(zhàn)案例 336
14.5.1 編寫(xiě)初始化函數(shù) 336
14.5.2 編寫(xiě)開(kāi)盤前運(yùn)行函數(shù) 337
14.5.3 編寫(xiě)開(kāi)盤時(shí)運(yùn)行函數(shù) 337
14.5.4 編寫(xiě)收盤后運(yùn)行函數(shù) 338
14.5.5 BOLL指標(biāo)量化交易策略的回測(cè) 339
14.6 多股票持倉(cāng)量化交易策略實(shí)戰(zhàn)案例 339
14.6.1 編寫(xiě)初始化函數(shù) 340
14.6.2 編寫(xiě)單位時(shí)間調(diào)用的函數(shù) 340
14.6.3 多股票持倉(cāng)量化交易策略的回測(cè) 341
14.7 醫(yī)藥股輪動(dòng)量化交易策略實(shí)戰(zhàn)案例 342
14.7.1 編寫(xiě)初始化函數(shù) 342
14.7.2 編寫(xiě)選股函數(shù) 342
14.7.3 編寫(xiě)交易函數(shù) 343
14.7.4 醫(yī)藥股輪動(dòng)量化交易策略的回測(cè) 343
14.8 小市值股票量化交易策略實(shí)戰(zhàn)案例 344
14.8.1 編寫(xiě)初始化函數(shù) 344
14.8.2 編寫(xiě)選股函數(shù) 345
14.8.3 編寫(xiě)過(guò)濾停牌股票函數(shù) 345
14.8.4 編寫(xiě)交易函數(shù) 346
14.8.5 小市值股票量化交易策略的回測(cè) 346
14.9 機(jī)器算法多因子量化交易策略實(shí)戰(zhàn)案例 347
14.9.1 編寫(xiě)初始化函數(shù) 347
14.9.2 編寫(xiě)自定義的交易函數(shù) 348
14.9.3 機(jī)器算法多因子量化交易策略的回測(cè) 353