●第1章量化交易基礎1
1.1什麼是量化交易1
1.1.1量化交易概述1
1.1.2量化交易的發展1
1.1.3量化交易的特點2
1.1.4量化交易有哪些入門策略3
1.2為什麼選擇量化交易4
1.2.1量化交易與主觀交易的區別4
1.2.2量化交易比主觀交易更好嗎5
1.2.3量化交易一定能賺錢嗎5
1.2.4量化交易的風險5
1.3量化交易需要哪些準備工作6
1.3.1安裝SDK6
1.3.2策略構思10
1.3.3建立模型10
1.3.4回測調優11
1.3.5仿真交易11
1.3.6實盤交易12
1.4一個完整的策略有哪些要素12
1.4.1策略選擇12
1.4.2交易什麼13
1.4.3交易多少13
1.4.4何時交易14
1.4.5如何交易14
1.4.6交易心態15
1.5溫故知新15
第2章Python編程入門17
2.1為什麼要學習Python17
2.1.1Python的特點17
2.1.2Python的版本18
2.2Python的基礎語法18
2.2.1編碼18
2.2.2變量命名19
2.2.3關鍵字19
2.2.4注釋19
2.2.5縮進20
2.2.6代碼塊20
2.2.7空行21
2.2.8導入模塊21
2.3Python中的變量和數據類型21
2.3.1變量22
2.3.2標準數據類型22
2.3.3Number(數值)22
2.3.4String(字符串)23
2.3.5List(列表)24
2.3.6Dictionary(字典)26
2.3.7數據類型轉換函數27
2.4Python中的數據運算27
2.4.1算術運算符28
2.4.2關繫運算符28
2.4.3賦值運算符29
2.4.4邏輯運算符30
2.4.5運算符優先級32
2.5Python中的數字和字符串33
2.5.1內置數學函數33
2.5.2訪問字符串中的字符34
2.5.3拼接字符串34
2.5.4其他常用函數35
2.6Python中的列表和字典36
2.6.1列表索引36
2.6.2列表切片36
2.6.3素的修改與刪除37
2.6.4二維列表38
2.6.5素的增加39
2.6.6列表反向排序39
2.6.7創建字典40
2.6.8訪問字典中的鍵值40
2.6.9素的增加與修改41
2.6.10素的刪除41
2.7Python中的條件語句和循環語句43
2.7.1條件語句43
2.7.2循環語句46
2.7.3break語句47
2.7.4continue語句48
2.8Python中的日期和時間49
2.8.1time庫49
2.8.2什麼是時間戳49
2.8.3將時間戳轉換為時間50
2.9Python中的常用內置函數50
2.9.1len()函數50
2.9.2range()函數51
2.9.3split()函數52
2.9.4type()函數52
2.9.5isinstance()函數53
2.9.6取整函數53
2.10Python中的異常處理54
2.10.1語法錯誤54
2.10.2異常錯誤55
2.10.3異常捕獲55
2.11溫故知新56
第3章量化交易API57
3.1全局常量和數據結構57
3.1.1exchange交易所對像57
3.1.2exchanges交易所對像列表58
3.1.3Order數據結構59
3.1.4 ition數據結構61
3.1.5Trade數據結構61
3.1.6Ticker數據結構62
3.1.7Record數據結構62
3.1.8Depth數據結構62
3.1.9Account數據結構63
3.1.10策略參數63
3.2獲取Tick、深度、歷史K線數據64
3.2.1獲取Tick數據函數GetTicker()64
3.2.2獲取深度數據函數GetDepth()65
3.2.3獲取K線數據函數GetRecords()65
3.2.4商品期貨策略框架66
3.3獲取和取消訂單、獲取當前掛單67
3.3.1訂閱合約代碼函數SetContractType()67
3.3.2設置期貨交易方向和類型函數SetDirection()68
3.3.3Buy()函數69
3.3.4Sell()函數70
3.3.5取消訂單函數CancelOrder()71
3.3.6獲取所有未完成訂單函數GetOrders()72
3.3.7獲取訂單詳情函數GetOrder()73
3.4IO()函數73
3.4.1切換行情模式74
3.4.2判斷與期貨公司前置機服務器的連接狀態74
3.4.3獲取交易所中的所有合約信息75
3.4.4擴展函數IO("api",…)75
3.4.5等待消息函數IO("wait")76
3.5賬戶API獲取賬戶和持倉信息77
3.5.1獲取賬戶信息函數GetAccount()77
3.5.2獲取持倉信息函數Get ition()78
3.6常用的日志信息函數80
3.6.1打印日志信息函數Log()80
3.6.2打印收益信息函數LogProfit()81
3.6.3打印狀態欄信息函數LogStatus()82
3.6.4畫圖函數Chart()84
3.6.5日志消除函數LogReset()86
3.6.6訂單信息日志功能開關函數EnableLog()87
3.7常用的內置函數87
3.7.1休眠函數Sleep()87
3.7.2交互函數GetCommand()88
3.7.3判斷回測/實盤函數IsVirtual()89
3.7.4全局字典函數_G()90
3.7.5時間戳函數_D(Timestamp,Fmt)91
3.7.6浮點數格式化函數_N(Num,Precision)92
3.7.7重試函數_C()92
3.7.8列表交叉函數_Cross()93
3.8常用的指標函數及圖表繪制95
3.8.1內置的TA指標庫95
3.8.2繪制圖表98
3.9策略參數及策略交互103
3.9.1策略參數103
3.9.2策略交互105
3.10內置的模板類庫及經典策略架構107
3.10.1模板類庫107
3.10.2經典策略架構108
3.11溫故知新109
第4章CTA之趨勢跟蹤策略110
4.1什麼是CTA策略110
4.1.1CTA策略的分類110
4.1.2趨勢策略111
4.1.3反轉策略111
4.1.4量化CTA策略111
4.2經典的MACD策略112
4.2.1MACD簡介112
4.2.2MACD的原理113
4.2.3MACD的計算方法113
4.2.4MACD的使用方法114
4.2.5MACD的有效性114
4.2.6策略邏輯114
4.2.7策略編寫115
4.2.8策略回測117
4.2.9完整的策略代碼118
4.3使用ADX輔助MACD策略119
4.3.1什麼是ADX119
4.3.2ADX的計算方法120
4.3.3策略邏輯121
4.3.4策略編寫121
4.3.5策略回測123
4.3.6完整的策略代碼124
4.4自適應動態雙均線策略125
4.4.1傳統均線的弊端126
4.4.2考夫曼均線的原理126
4.4.3考夫曼均線的計算方法127
4.4.4策略邏輯128
4.4.5策略編寫129
4.4.6策略回測131
4.4.7完整的策略代碼132
4.5日內高低點突破策略133
4.5.1什麼是日內交易134
4.5.2策略邏輯134
4.5.3策略編寫135
4.5.4策略回測137
4.5.5完整的策略代碼138
4.6增強版唐奇安通道策略140
4.6.1唐奇安通道策略簡介141
4.6.2原始策略邏輯141
4.6.3改進後的策略邏輯142
4.6.4策略編寫143
4.6.5策略回測145
4.6.6完整的策略代碼146
4.7HANS123日內突破策略147
4.7.1策略邏輯147
4.7.2策略編寫148
4.7.3策略回測151
4.7.4完整的策略代碼151
4.8菲阿裡四價策略154
4.8.1菲阿裡簡介154
4.8.2策略邏輯154
4.8.3策略編寫155
4.8.4策略回測158
4.8.5完整的策略代碼159
4.9AROON(阿隆指標)策略162
4.9.1阿隆指標簡介162
4.9.2阿隆指標的計算方法162
4.9.3如何使用阿隆指標163
4.9.4基於阿隆指標構建交易策略164
4.9.5策略回測166
4.9.6完整的策略代碼167
4.10EMV(簡易波動指標)策略169
4.10.1EMV的計算公式169
4.10.2EMV的使用方法170
4.10.3策略編寫170
4.10.4策略回測173
4.10.5完整的策略代碼173
4.11動態階梯突破策略175
4.11.1什麼是突破策略176
4.11.2突破策略理論176
4.11.3策略邏輯176
4.11.4策略編寫178
4.11.5策略回測180
4.11.6完整的策略代碼181
4.12DualThrust日內交易策略183
4.12.1DualThrust簡介184
4.12.2DualThrust日內交易策略的上、下軌184
4.12.3策略邏輯185
4.12.4策略編寫185
4.12.5策略回測187
4.12.6完整的策略代碼188
4.13經典恆溫器策略190
4.13.1策略簡介190
4.13.2市場波動指數191
4.13.3策略邏輯191
4.13.4策略編寫191
4.13.5策略回測195
4.13.6完整的策略代碼196
4.14R-breaker策略199
4.14.1策略原理199
4.14.2計算方法200
4.14.3策略邏輯200
4.14.4策略編寫201
4.14.5策略回測203
4.14.6完整的策略代碼204
4.15溫故知新206
第5章CTA之回歸策略208
5.1布林帶跨期套利策略208
5.1.1策略原理208
5.1.2策略邏輯209
5.1.3策略編寫210
5.1.4策略回測213
5.2期現套利圖表214
5.2.1什麼是套利214
5.2.2期現套利方法215
5.2.3期現套利的局限215
5.2.4獲取數據216
5.2.5期現和基差圖表217
5.2.6圖表展示220
5.3乖離率(BIAS)策略221
5.3.1乖離率簡介221
5.3.2乖離率的原理222
5.3.3乖離率的計算公式222
5.3.4策略邏輯223
5.3.5策略編寫223
5.3.6策略回測225
5.3.7完整的策略代碼226
5.4溫故知新227
第6章量化交易回測與實盤229
6.1使用Tick數據讓回測更精準229
6.1.1回測需要哪些數據229
6.1.2基於Bar數據的回測230
6.1.3基於Tick數據的回測231
6.1.4Tick數據回測引擎原理231
6.1.5如何選擇很好回測方式231
6.2回測績效報告詳解232
6.2.1回測配置參數232
6.2.2年化收益率234
6.2.3年化波動率234
6.2.4優選回撤率234
6.2.5夏普比率234
6.3如何規避回測中的陷阱235
6.3.1未來函數235
6.3.2偷價236
6.3.3成本衝擊236
6.3.4幸存者偏差236
6.3.5過擬合237
6.4遞進和交叉回測238
6.4.1樣本內回測和樣本外回測238
6.4.2樣本遞進回測238
6.4.3樣本交叉回測239
6.5量化交易實盤241
6.5.1配置期貨賬戶241
6.5.2在Windows操作繫統中部署托管者244
6.5.3在Linux操作繫統中部署托管者245
6.5.4一鍵租用托管者246
6.5.5創建策略248
6.5.6管理策略250
6.5.7創建實盤252
6.5.8管理實盤254
6.6溫故知新255
第7章風險管理與投資組合256
7.1認識期貨中的風險256
7.1.1繫統性風險256
7.1.2人為主觀性風險257
7.1.3策略性風險257
7.1.4資金管理的意義257
7.1.5資金管理的方法258
7.2等價鞅資金管理259
7.2.1什麼是馬丁格爾策略259
7.2.2正向馬丁格爾策略259
7.2.3正向馬丁格爾策略的測試代碼260
7.2.4反向馬丁格爾策略263
7.2.5反向馬丁格爾策略的測試代碼263
7.2.6馬丁格爾策略在期貨市場中的應用266
7.3反等價鞅資金管理方法267
7.3.1什麼是凱利公式267
7.3.2凱利公式的計算方法267
7.3.3用數據驗證凱利公式268
7.3.4凱利公式在量化交易中的應用270
7.3.5凱利公式的局限性270
7.4構建投資組合和風險控制271
7.4.1投資分散與均衡271
7.4.2投資組合分類272
7.4.3構建投資組合272
7.4.4收益與風險272
7.5溫故知新273
第8章交易技巧及交易理念274
8.1常用的止盈、止損方法274
8.1.1止損的成本274
8.1.2止損的意義275
8.1.3如何止損275
8.1.4止損的本質277
8.1.5正確的止盈277
8.1.6如何止盈277
8.2量化交易與基本面數據279
8.2.1常用的基本面數據279
8.2.2基本面分析鐵三角279
8.2.3獲取基本面數據281
8.2.4繪制基本面數據圖表283
8.3交易中常用的數理知識284
8.3.1VWAP算法284
8.3.2TWAP算法284
8.3.3布朗運動285
8.3.4維納過程285
8.3.5伊籐引理286
8.3.6馬爾可夫過程287
8.4建立概率思維,提升交易格局287
8.4.1交易來自生活287
8.4.2概率思維288
8.4.3久賭必贏288
8.4.4概率的變化288
8.4.5交易中的大數定律289
8.5溫故知新289