Python量化交易實(shí)戰(zhàn)入門與技巧_第1頁
Python量化交易實(shí)戰(zhàn)入門與技巧_第2頁
Python量化交易實(shí)戰(zhàn)入門與技巧_第3頁
Python量化交易實(shí)戰(zhàn)入門與技巧_第4頁
Python量化交易實(shí)戰(zhàn)入門與技巧_第5頁
已閱讀5頁,還剩355頁未讀 繼續(xù)免費(fèi)閱讀

付費(fèi)閱讀全文

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

內(nèi)容簡介

本書首先講解量化交易的基礎(chǔ)知識,即量化交易的定義、特點(diǎn)、作用、

主要內(nèi)容、歷史、與傳統(tǒng)交易的區(qū)別、注意事項(xiàng)、JoinQuant(聚寬)量化交

易平臺;然后講解量化交易開發(fā)語言Python,即講解Python語言的開發(fā)環(huán)境、

基本語法、基本流程控制、特征數(shù)據(jù)類型、函數(shù)及應(yīng)用、面向?qū)ο蟪绦蛟O(shè)計(jì);

接著講解如何利用Python語言編寫量化策略、Python量化策略的常用庫和

模塊、獲取數(shù)據(jù)函數(shù)、回測、因子分析;最后講解Python量化策略的技術(shù)

指標(biāo)實(shí)例和Python量化交易策略實(shí)例。

在講解過程中既考慮讀者的學(xué)習(xí)習(xí)慣,又通過具體實(shí)例剖析講解量化交

易過程中的熱點(diǎn)問題、關(guān)鍵問題及各種難題。

本書適用于各種不同的投資者,如股民、期民、中小散戶、職業(yè)操盤手

和專業(yè)金融評論人士,更適用于那些有志于在這個充滿風(fēng)險、充滿寂寞的征

程上默默前行的征戰(zhàn)者和屢敗屢戰(zhàn)、愈挫愈勇并最終戰(zhàn)勝失敗、戰(zhàn)勝自我的

投資者。

圖書在版編目(CIP)數(shù)據(jù)

Python量化交易實(shí)戰(zhàn)入門與技巧/王征,李曉波著.—北京:

中國鐵道出版社,2018.11

ISBN978-7-113-24877-2

Ⅰ.①P…Ⅱ.①王…②李…Ⅲ.①股票交易-應(yīng)用軟件

Ⅳ.①F830.91

中國版本圖書館CIP數(shù)據(jù)核字(2018)第191186號

書名:Python量化交易實(shí)戰(zhàn)入門與技巧

作者:王征?李曉波?著

責(zé)任編輯:張亞慧讀者熱線電話/p>

責(zé)任印制:趙星辰封面設(shè)計(jì):

出版發(fā)行:中國鐵道出版社(100054,北京市西城區(qū)右安門西街8號)

印刷:三河市興達(dá)印務(wù)有限公司

版次:2018年11月第1版2018年11月第1次印刷

開本:700mm×1000mm1/16印張:22.25字?jǐn)?shù):341千

書號:ISBN978-7-113-24877-2

定價:69.00元

版權(quán)所有侵權(quán)必究

凡購買鐵道版圖書,如有印制質(zhì)量問題,請與本社讀者服務(wù)部聯(lián)系調(diào)換。電話:(010)51873174

打擊盜版舉報電話:(010)51873659

PREFACE

前言

成熟資本市場,量化交易占比超過50%,量化對沖基金已經(jīng)成為資管行

業(yè)的翹楚。中國的量化交易起步較晚,量化交易在證券市場占比不足5%。隨

著時代的發(fā)展,中國的量化交易市場也在快速發(fā)展。

目前我國的量化交易主要應(yīng)用在商品期貨上。隨著股指期貨的上市,

期貨市場和證券市場實(shí)現(xiàn)了真正意義上的互動,投資者不僅可以在期貨市場

上進(jìn)行投機(jī)交易,同時可以在期貨與股票之間進(jìn)行套利交易。利用量化交

易對股指期貨進(jìn)行操作將會是投資者,尤其是機(jī)構(gòu)投資者的一個重要發(fā)展

方向。

|本書結(jié)構(gòu)|

本書共15章,具體章節(jié)安排如下:

第1章~第2章:講解量化交易的基礎(chǔ)知識和JoinQuant(聚寬)

量化交易平臺。量化交易的基礎(chǔ)知識包括量化交易的定義、特點(diǎn)、作用、主

要內(nèi)容、歷史、與傳統(tǒng)交易的區(qū)別、注意事項(xiàng);JoinQuant(聚寬)量化交

易平臺包括賬戶注冊與登錄,策略的創(chuàng)建、回測和模擬交易。

第3章~第8章:講解量化交易開發(fā)語言Python,即講解Python

語言的開發(fā)環(huán)境、基本語法、基本流程控制、特征數(shù)據(jù)類型、函數(shù)及應(yīng)用、

面向?qū)ο蟪绦蛟O(shè)計(jì)。

第9章~第13章:講解如何利用Python語言編寫量化策略、Python

量化策略的常用庫和模塊、獲取數(shù)據(jù)函數(shù)、回測、因子分析。

第14章~第15章:講解Python量化策略的技術(shù)指標(biāo)實(shí)例和

Python量化交易策略實(shí)例。

.III

|本書特色|

本書的特色歸納如下:

實(shí)用性:本書首先著眼于量化交易實(shí)戰(zhàn)應(yīng)用,然后再探討深層次的技巧

問題。

詳盡的例子:本書附有大量的例子,通過這些例子介紹知識點(diǎn)。每個例

子都是作者精心選擇的,投資反復(fù)練習(xí),舉一反三,就可以真正掌握量化交

易技巧,從而學(xué)以致用。

全面性:本書幾乎包含了量化交易的所有知識,分別是量化交易的基礎(chǔ)

知識、JoinQuant(聚寬)量化交易平臺、Python語言的開發(fā)環(huán)境、基本語法、

基本流程控制、特征數(shù)據(jù)類型、函數(shù)及應(yīng)用、面向?qū)ο蟪绦蛟O(shè)計(jì)、Python量

化策略的常用庫和模塊、獲取數(shù)據(jù)函數(shù)、回測、因子分析、Python量化交易

策略實(shí)例。

編?者

2018年9月

IV.

|目錄|

CONTENTS

第1章初識量化交易/1

1.1?量化交易的基本概念/2

1.1.1?什么是量化交易/2

1.1.2?量化交易的特點(diǎn)/2

1.1.3?為什么要學(xué)習(xí)量化交易/4

1.1.4?量化交易與其他交易/6

1.2?量化交易的主要內(nèi)容/7

1.2.1?量化選股/7

1.2.2?量化擇時/8

1.2.3?算法交易/8

1.2.4?各種套利交易/8

1.3?量化交易的歷史/10

1.3.1?國外量化交易的歷史/10

1.3.2?國內(nèi)量化交易的歷史/10

1.4?量化交易的故事/11

1.4.1?朱爾斯·雷格納特的故事/11

1.4.2?愛德華·索普的故事/13

1.4.3?詹姆斯·西蒙斯的故事/14

1.5?量化交易的潛在風(fēng)險及應(yīng)對策略/16

1.6?量化交易與人工交易的比較/16

1.7?量化交易的注意事項(xiàng)/17

第2章JoinQuant(聚寬)量化交易平臺/19

2.1?JoinQuant(聚寬)量化交易平臺的功能/20

2.2?JoinQuant(聚寬)量化交易平臺的賬戶注冊與登錄/20

2.2.1?賬戶注冊/21

2.2.2?賬戶登錄/22

2.3?創(chuàng)建量化交易策略/23

2.3.1?向?qū)讲呗陨善?25

2.3.2?新建策略/35

2.4?量化交易策略的回測詳情/36

2.5?模擬交易/38

2.5.1?新建模擬交易并運(yùn)行/38

2.5.2?查看模擬交易/39

2.5.3?綁定微信/42

第3章Python語言及其開發(fā)環(huán)境/45

3.1?Python語言概述/46

3.1.1?Python的發(fā)展歷程/46

3.1.2?Python的特點(diǎn)/47

3.2?搭建Python開發(fā)環(huán)境/48

3.2.1?Python的下載和安裝/48

3.2.2?Python的環(huán)境變量配置/50

3.3?編寫Python程序/53

3.4?利用IPythonNotebook編寫Python程序/57

第4章Python的基本語法/63

4.1?Python的基本數(shù)據(jù)類型/64

4.1.1?數(shù)值類型/64

4.1.2?字符串/66

4.2?變量與賦值/69

II.

4.2.1?變量命名規(guī)則/69

4.2.2?變量的賦值/70

4.3?運(yùn)算符/71

4.3.1?算術(shù)運(yùn)算符/71

4.3.2?賦值運(yùn)算符/73

4.3.3?位運(yùn)算符/74

4.4?常見的數(shù)值函數(shù)和字符串函數(shù)/75

4.4.1?數(shù)學(xué)函數(shù)/76

4.4.2?隨機(jī)數(shù)函數(shù)/77

4.4.3?三角函數(shù)/79

4.4.4?字符串函數(shù)/80

4.5?Python的代碼格式/85

4.5.1?代碼縮進(jìn)/85

4.5.2?代碼注釋/86

4.5.3?空行/86

4.5.4?同一行顯示多條語句/86

第5章Python的基本流程控制/87

5.1?選擇結(jié)構(gòu)/88

5.1.1?關(guān)系運(yùn)算/88

5.1.2?邏輯運(yùn)算/90

5.1.3?if語句/91

5.1.4?嵌套if語句/93

5.2?循環(huán)結(jié)構(gòu)/94

5.2.1?while循環(huán)/95

5.2.2?while循環(huán)使用else語句/95

5.2.3?無限循環(huán)/96

5.2.4?for循環(huán)/97

5.2.5?在for循環(huán)中使用range()函數(shù)/98

.III

5.3?其他語句/99

5.3.1?break語句/100

5.3.2?continue語句/100

5.3.3?pass語句/101

第6章Python的特征數(shù)據(jù)類型/103

6.1?列表/104

6.1.1?創(chuàng)建列表/104

6.1.2?訪問列表中的值/104

6.1.3?更新列表中的值/105

6.1.4?刪除列表中的值/106

6.1.5?列表的函數(shù)/106

6.1.6?列表的方法/107

6.2?元組/109

6.2.1?創(chuàng)建元組/109

6.2.2?訪問元組中的值/110

6.2.3?連接元組/111

6.2.4?刪除整個元組/112

6.2.5?元組的函數(shù)/112

6.3?字典/113

6.3.1?創(chuàng)建字典/114

6.3.2?訪問字典中的值和鍵/114

6.3.3?修改字典/115

6.3.4?字典中的函數(shù)/116

6.4?集合/117

6.4.1?創(chuàng)建集合/117

6.4.2?集合的兩個基本功能/118

6.4.3?集合的運(yùn)算符/119

6.4.4?集合的方法/120

IV.

第7章Python的函數(shù)及應(yīng)用/123

7.1?函數(shù)的定義與調(diào)用/124

7.1.1?函數(shù)的定義/124

7.1.2?函數(shù)的調(diào)用/125

7.2?參數(shù)傳遞/126

7.2.1?不可更改對象/126

7.2.2?可更改對象/127

7.3?函數(shù)的參數(shù)類型/128

7.3.1?必需參數(shù)/128

7.3.2?關(guān)鍵字參數(shù)/129

7.3.3?默認(rèn)參數(shù)/130

7.3.4?不定長參數(shù)/131

7.4?匿名函數(shù)/132

7.5?變量作用域及類型/133

7.5.1?變量作用域/133

7.5.2?全局變量和局部變量/135

7.5.3?global和nonlocal關(guān)鍵字/136

第8章Python面向?qū)ο蟮某绦蛟O(shè)計(jì)/139

8.1?面向?qū)ο?140

8.1.1?面向?qū)ο蟾拍?140

8.1.2?類定義與類對象/141

8.1.3?類的繼承/143

8.2?模塊/147

8.2.1?自定義模塊并調(diào)用/147

8.2.2?import語句/148

8.2.3?標(biāo)準(zhǔn)模塊/150

8.3?包/151

.V

第9章利用Python語言編寫量化策略/153

9.1?股票量化策略的組成/154

9.1.1?初始化函數(shù)(initialize)/155

9.1.2?開盤前運(yùn)行函數(shù)(before_market_open)/156

9.1.3?開盤時運(yùn)行函數(shù)(market_open)/157

9.1.4?收盤后運(yùn)行函數(shù)(after_market_close)/158

9.2?股票量化策略的設(shè)置函數(shù)/158

9.2.1?設(shè)置基準(zhǔn)函數(shù)/159

9.2.2?設(shè)置傭金/印花稅函數(shù)/159

9.2.3?設(shè)置滑點(diǎn)函數(shù)/161

9.2.4?設(shè)置動態(tài)復(fù)權(quán)(真實(shí)價格)模式函數(shù)/161

9.2.5?設(shè)置成交量比例函數(shù)/162

9.2.6?設(shè)置是否開啟盤口撮合模式函數(shù)/162

9.2.7?設(shè)置要操作的股票池函數(shù)/163

9.3?股票量化策略的定時函數(shù)/163

9.3.1?定時函數(shù)的定義及分類/163

9.3.2?定時函數(shù)各項(xiàng)參數(shù)的意義/164

9.3.3?定時函數(shù)的注意事項(xiàng)/164

9.3.4?定時函數(shù)的實(shí)例/165

9.4?股票量化策略的下單函數(shù)/166

9.4.1?按股數(shù)下單函數(shù)/166

9.4.2?目標(biāo)股數(shù)下單函數(shù)/167

9.4.3?按價值下單函數(shù)/168

9.4.4?目標(biāo)價值下單函數(shù)/168

9.4.5?撤單函數(shù)/169

9.4.6?獲取未完成訂單函數(shù)/169

9.4.7?獲取訂單信息函數(shù)/169

9.4.8?獲取成交信息函數(shù)/170

9.5?股票量化策略的日志log/171

VI.

9.5.1?設(shè)定log級別/171

9.5.2?/171

9.6?股票量化策略的常用對象/172

9.6.1?Order對象/172

9.6.2?全局對象g/173

9.6.3?Trade對象/173

9.6.4?tick對象/174

9.6.5?Context對象/174

9.6.6?Position對象/176

9.6.7?SubPortfolio對象/176

9.6.8?Portfolio對象/177

9.6.9?SecurityUnitData對象/178

第10章Python量化策略的常用庫和模塊/179

10.1?Numpy庫/180

10.1.1?ndarray數(shù)組基礎(chǔ)/180

10.1.2?矩陣/187

10.2?Pandas庫/188

10.2.1?一維數(shù)組Series/188

10.2.2?二維數(shù)組DataFrame/189

10.2.3?三維數(shù)組Panel/199

10.3?Datetime模塊和Time模塊/201

10.3.1?利用Datetime模塊獲得當(dāng)前的日期和時間/202

10.3.2?利用Time模塊獲得當(dāng)前的日期和時間/203

10.3.3?獲得當(dāng)前時間并轉(zhuǎn)換為指定日期格式/204

10.3.4?獲得三天前的時間的方法/204

10.3.5?獲得三天前的日期的方法/205

10.3.6?獲得歷史交易日/206

.VII

第11章Python量化策略的獲取數(shù)據(jù)函數(shù)/207

11.1?history()函數(shù)/208

11.1.1?各項(xiàng)參數(shù)的意義/208

11.1.2?history()函數(shù)的應(yīng)用實(shí)例/210

11.2?attribute_history()函數(shù)/213

11.3?get_current_data()函數(shù)/215

11.4?get_fundamentals()函數(shù)/216

11.4.1?各項(xiàng)參數(shù)的意義/216

11.4.2?get_fundamentals()函數(shù)的應(yīng)用實(shí)例/217

11.5?get_fundamentals_continuously()函數(shù)/222

11.6?get_index_stocks()函數(shù)/223

11.6.1?各項(xiàng)參數(shù)的意義/224

11.6.2?get_index_stocks()函數(shù)的應(yīng)用實(shí)例/225

11.7?get_industry_stocks()函數(shù)/225

11.8?get_concept_stocks()函數(shù)/227

11.9?get_all_securities()函數(shù)/229

11.9.1?各項(xiàng)參數(shù)的意義/229

11.9.2?get_all_securities()函數(shù)的應(yīng)用實(shí)例/230

11.10?get_security_info()函數(shù)/232

11.11?get_billboard_list()函數(shù)/233

11.11.1?各項(xiàng)參數(shù)的意義/233

11.11.2?get_billboard_list()函數(shù)的應(yīng)用實(shí)例/234

11.12?get_locked_shares()函數(shù)/234

第12章Python量化策略的回測/237

12.1?回測的過程/238

12.2?編寫雙均線量化策略/239

12.2.1?量化策略的編輯頁面/239

12.2.2?雙均線量化策略的初始化函數(shù)/241

VIII.

12.2.3?雙均線量化策略的交易程序函數(shù)/242

12.3?設(shè)置量化策略的回測參數(shù)/243

12.4?雙均線量化策略的回測詳情/245

12.5?量化策略的風(fēng)險指標(biāo)/248

12.5.1?Alpha(阿爾法)/249

12.5.2?Beta(貝塔)/250

12.5.3?Sharpe(夏普比率)/251

12.5.4?Sortino(索提諾比率)/251

12.5.5?InformationRatio(信息比率)/252

12.5.6?Volatility(策略波動率)/253

12.5.7?BenchmarkVolatility(基準(zhǔn)波動率)/254

12.5.8?MaxDrawdown(最大回撤)/255

第13章Python量化策略的因子分析/257

13.1?初識因子分析/258

13.1.1?因子的分類/258

13.1.2?因子分析的作用/258

13.2?因子分析的實(shí)現(xiàn)代碼/258

13.2.1?因子分析中變量的含義/259

13.2.2?因子分析中可以使用的基礎(chǔ)因子/259

13.2.3?calc的參數(shù)及返回值/261

13.3?因子分析的結(jié)果/261

13.3.1?新建因子/261

13.3.2?收益分析/264

13.3.3?IC分析/268

13.3.4?換手分析/269

13.4?因子在研究和回測中的使用/270

13.5?基本面因子應(yīng)用實(shí)例/273

.IX

第14章Python量化策略的技術(shù)指標(biāo)實(shí)例/277

14.1?均線型技術(shù)指標(biāo)實(shí)例/278

14.1.1?傳統(tǒng)平均線/278

14.1.2?高價平均線/280

14.1.3?低價平均線/281

14.1.4?變異平均線/282

14.1.5?成本價均線/283

14.2?超買超賣型技術(shù)指標(biāo)實(shí)例/285

14.2.1?隨機(jī)指標(biāo)KD/285

14.2.2?資金流量指標(biāo)MFI/286

14.2.3?相對強(qiáng)弱指標(biāo)RSI/288

14.2.4?變動速率線OSC/289

14.2.5?威廉指標(biāo)WR/290

14.2.6?順勢指標(biāo)CCI/291

14.3?趨勢型技術(shù)指標(biāo)實(shí)例/292

14.3.1?平滑異同平均線MACD/293

14.3.2?趨向指標(biāo)DMI/294

14.3.3?簡易波動指標(biāo)EMV/295

14.3.4?終極指標(biāo)UOS/296

14.4?能量型技術(shù)指標(biāo)實(shí)例/298

14.4.1?情緒指標(biāo)BRAR/298

14.4.2?帶狀能量線CR/299

14.4.3?成交量變異率VR/300

14.4.4?梅斯線MASS/301

14.4.5?累積能量線OBV/302

14.4.6?相對強(qiáng)弱量VRSI/303

14.5?壓力支撐型技術(shù)指標(biāo)實(shí)例/305

14.5.1?布林通道線BOLL/305

X.

14.5.2?麥克支撐壓力線MIKE/306

14.5.3?薛斯通道線XS/307

第15章Python量化交易策略實(shí)例/311

15.1?MACD指標(biāo)量化交易策略/312

15.1.1?編寫初始化函數(shù)/312

15.1.2?編寫單位時間調(diào)用的函數(shù)/313

15.1.3?MACD指標(biāo)量化交易策略的回測/315

15.2?能量型指標(biāo)量化交易策略/316

15.2.1?編寫初始化函數(shù)/316

15.2.2?編寫單位時間調(diào)用的函數(shù)/317

15.2.3?能量型指標(biāo)量化交易策略的回測/318

15.3?KD指標(biāo)量化交易策略/320

15.3.1?編寫初始化函數(shù)/320

15.3.2?編寫開盤前運(yùn)行函數(shù)/321

15.3.3?編寫開盤時運(yùn)行函數(shù)/321

15.3.4?編寫收盤后運(yùn)行函數(shù)/322

15.3.5?KD指標(biāo)量化交易策略的回測/322

15.4?多股票持倉量化交易策略/324

15.4.1?編寫初始化函數(shù)/324

15.4.2?編寫單位時間調(diào)用的函數(shù)/324

15.4.3?多股票持倉量化交易策略的回測/325

15.5?多股票追漲量化交易策略/327

15.5.1?編寫初始化函數(shù)/327

15.5.2?編寫每天早上開盤時執(zhí)行函數(shù)/327

15.5.3?編寫開始交易前被調(diào)用函數(shù)/328

15.5.4?編寫單位時間調(diào)用的函數(shù)/328

15.5.5?多股票追漲量化交易策略的回測/329

.XI

15.6?銀行股輪動量化交易策略/331

15.6.1?編寫初始化函數(shù)/331

15.6.2?編寫選股函數(shù)/332

15.6.3?編寫交易函數(shù)/332

15.6.4?銀行股輪動量化交易策略的回測/333

15.7?小市值股票量化交易策略/334

15.7.1?編寫初始化函數(shù)/334

15.7.2?編寫選股函數(shù)/335

15.7.3?編寫過濾停牌股票函數(shù)/336

15.7.4?編寫交易函數(shù)/336

15.7.5?小市值股票量化交易策略的回測/337

XII.

第1章

初識量化交易

越來越多的投資者開始嘗試量化交易。量化投資者,就是那些

靠數(shù)學(xué)模型分析金融市場,并用復(fù)雜的數(shù)學(xué)公式和計(jì)算機(jī)在稍縱即

逝的市場機(jī)會中挖掘利潤的人,這些人又稱寬客(Quant)。在強(qiáng)大

的Python語言和數(shù)據(jù)庫的支持下,量化交易已不再是一個神秘的?

領(lǐng)域。

本章主要內(nèi)容包括:

量化交易的定義和特點(diǎn)量化交易的潛在風(fēng)險及應(yīng)對策略

量化交易的作用量化交易與人工交易的比較

量化選股和量化擇時量化交易的注意事項(xiàng)

算法交易和各種套利交易

國外和國內(nèi)量化交易的歷史

朱爾斯·雷格納特的故事

愛德華·索普的故事

詹姆斯·西蒙斯的故事

Python量化交易實(shí)戰(zhàn)入門與技巧

1.1?量化交易的基本概念

要進(jìn)行量化交易,首先就要知道什么是量化交易及量化交易的特點(diǎn),還要知

道為什么要學(xué)習(xí)量化交易、量化交易與其他交易的關(guān)系,下面就來具體講解一下。

1.1.1?什么是量化交易

量化交易是指投資者利用計(jì)算機(jī)技術(shù)、金融工程建模等手段將自己的金

融操作方式,用很明確的方式去定義和描述,用以協(xié)助投資者進(jìn)行投資決策,

并且嚴(yán)格按照所設(shè)定的規(guī)則去執(zhí)行交易策略(買、賣)的交易方式。幫助投

資者制定投資決策、減少執(zhí)行成本、進(jìn)行套利、風(fēng)險對沖和幫助做市商實(shí)現(xiàn)

報價的功能。

1.1.2?量化交易的特點(diǎn)

量化交易的特點(diǎn)表現(xiàn)在4個方面,分別是嚴(yán)格的紀(jì)律性、完備的系統(tǒng)性、

妥善運(yùn)用套利的思想、靠概率取勝,如圖1.1所示。

●●圖1.1?量化交易的特點(diǎn)

2.

第1章

Python量化交易實(shí)戰(zhàn)入門與技巧初識量化交易

1.嚴(yán)格的紀(jì)律性

量化交易有著嚴(yán)格的紀(jì)律性,這樣就可以克服人性的弱點(diǎn),如貪婪、恐

懼、僥幸心理,也可以克服認(rèn)知偏差。一個優(yōu)秀的投資方法應(yīng)該是一個“透

明的盒子”,所以投資者的每一個決策都應(yīng)該是有理有據(jù),特別是有數(shù)據(jù)

支持。

例如,如果有人問你,某年某月某一天,你為什么購買某只股票的話,

你就可以打開量化交易系統(tǒng),系統(tǒng)會顯示出當(dāng)時被選擇的這只股票與其他的

股票相比在成長面、估值、資金、技術(shù)、買賣時機(jī)上的綜合評價情況,而且

這個評價是非常全面的,比普通投資者拍腦袋或者簡單看某一個指標(biāo)買賣更

具有說服力。

2.完備的系統(tǒng)性

完備的系統(tǒng)性具體表現(xiàn)為“三多”。首先表現(xiàn)在多層次,包括在大類資

產(chǎn)配置、行業(yè)選擇、精選個股三個層次上我們都有模型;其次是多角度,

量化交易的核心投資思想包括宏觀周期、市場結(jié)構(gòu)、估值、成長、盈利質(zhì)

量、分析師盈利預(yù)測、市場情緒等多個角度;再者就是多數(shù)據(jù),海量數(shù)據(jù)的

處理。

人腦處理信息的能力是有限的,當(dāng)一個資本市場只有幾十只股票,這對

定性投資基金經(jīng)理是有優(yōu)勢的,他可以深刻分析這幾十家公司。但在一個很

大的資本市場,比如有成千上萬只股票的時候,強(qiáng)大的定量化交易的信息處

理能力能反映它的優(yōu)勢,能捕捉到更多的投資機(jī)會,拓展更大的投資空間。

3.妥善運(yùn)用套利的思想

量化交易正是在尋找估值洼地,通過全面、系統(tǒng)性的掃描捕捉錯誤定價、

錯誤估值帶來的機(jī)會。定性投資大部分時間在琢磨哪一個企業(yè)是偉大的企業(yè),

哪只股票是可以翻倍的股票;與定性投資不同,量化交易大部分精力花在分

析哪里是估值洼地,哪一個品種被低估了,買入低估的,賣出高估的。

4.靠概率取勝

靠概率取勝表現(xiàn)在兩個方面,一是定量投資不斷從歷史中挖掘有望在未

來重復(fù)的歷史規(guī)律并且加以利用,二是在股票實(shí)際操作過程中,運(yùn)用概率分

.3

Python量化交易實(shí)戰(zhàn)入門與技巧

析,提高買賣成功的概率和倉位控制。

1.1.3?為什么要學(xué)習(xí)量化交易

很多投資者可能會覺得,我做的是基本面分析,是做價值投資的,量化

交易跟我有什么關(guān)系呢?確實(shí),即使從沒聽說過量化交易,你也可能成為

一名出色的投資者。但是,隨著

市場和技術(shù)的發(fā)展,無論是投資

者,還是證券公司等中介公司,

對量化交易有所了解是非常有必

要的。量化交易的作用如圖1.2

所示?!瘛駡D1.2?量化交易的作用

1.發(fā)現(xiàn)新的空間和機(jī)會

無論你采用什么投資策略,和做任何事情一樣,決定成敗的重要因素之

一就是你所面臨的競爭。在1996年,幾乎人人都在數(shù)波浪,根本沒人關(guān)心公

司的基本面。像四川長虹、青島海爾等很多上市公司,利潤持續(xù)翻番,市盈

率卻是個位數(shù)。到上市公司進(jìn)行調(diào)研,人家都不知道你是來干什么的,開股

東大會也見不到幾個股東。那時候做價值投資,可以說確實(shí)是好時光,因?yàn)?/p>

幾乎沒有競爭。

可是在今天,人人都是價值投資者,大家都在研究財(cái)務(wù)報表,人人都在

進(jìn)行公司調(diào)研。很顯然,價值投資的競爭已經(jīng)大大激化了。而與此同時,量

化交易可以說還處在相當(dāng)初級的階段,盡管也有一些人在進(jìn)行這方面的嘗試,

但整體而言,規(guī)模還相當(dāng)小,還有很大的進(jìn)入空間。尤其是推出股指期貨之

后,更是大大拓寬了應(yīng)用量化交易策略的空間,提供了新的可能性??梢哉f

目前中國進(jìn)行量化交易所面臨的競爭還是比較小的,這就給量化交易者提供

了發(fā)揮的空間。

2.優(yōu)化當(dāng)前的投資策略

當(dāng)前最成功的量化交易基金——“文藝復(fù)興(RenaissanceTechnologies)”

的創(chuàng)始人詹姆斯·西蒙斯(JamesSimons)說過,那些從事量化交易的數(shù)學(xué)

4.

第1章

Python量化交易實(shí)戰(zhàn)入門與技巧初識量化交易

家和物理學(xué)家,最大的貢獻(xiàn)并不在于他們所掌握的理論知識,而是他們所帶

來的科學(xué)精神。投資者需要知道的是,絕大部分的量化交易策略實(shí)際上都是

源于已有的策略。但是,當(dāng)你必須把一項(xiàng)投資策略的所有方面都以量化形式

來加以確定的話,你就不得不對這項(xiàng)策略的各個方面進(jìn)行更深入地思考。

巴菲特和芒格看上去和量化交易壓根挨不上邊,但在某種程度上,可以

說他們本身就是“人肉版”的量化交易機(jī)器。巴菲特一直強(qiáng)調(diào),投資最重要

的是要理性,不能讓情緒影響你的投資決策。芒格強(qiáng)調(diào)要以“清單”的形式

來進(jìn)行投資判斷。這些都是與量化交易相類似的原則。當(dāng)你還沒有練就巴菲

特和芒格那樣理性判斷的功力時,了解量化交易的原則,可以有效地幫助你

提高當(dāng)前投資策略的合理性。

實(shí)際上,有研究顯示,基于客觀性標(biāo)準(zhǔn)的交易策略,整體而言,能比人

工判斷的交易策略創(chuàng)造更多的超額收益。當(dāng)然這并不是說讓你完全放棄主觀

判斷,畢竟有些東西是很難量化的。但是,通過學(xué)習(xí)量化交易的策略,可以

幫助你重新思考你現(xiàn)有投資策略的各個環(huán)節(jié),哪些地方可以更具備客觀性,

減少主觀判斷的錯誤。同時,也可以讓你更加明確,哪些環(huán)節(jié)是真正依賴于

你的主觀判斷能力。

3.降低交易成本

對于機(jī)構(gòu)投資者來說,除了前面對所有投資者都適用的兩個原因之外,

還有一個更直接的原因,那就是量化交易策略可以幫助機(jī)構(gòu)投資者有效地降

低自己的交易成本。

對于擁有大資金的機(jī)構(gòu)投資者來說,自己的買單和賣單對市場造成沖擊

所產(chǎn)生的流動性成本是一項(xiàng)重要的交易成本。而量化交易的一個重要功能,

就是通過特定的算法交易有效地減少自己的買賣委托對市場產(chǎn)生的沖擊,以

降低自己的交易成本。

據(jù)統(tǒng)計(jì),2017年中國基金的平均周轉(zhuǎn)率為2.9倍。假如交易成本平均降

低0.1個百分點(diǎn),就相當(dāng)于多增加了0.1%×2.9=0.29%的收益率。而在基金

排行榜上,這可能意味著好幾位排名的差異。實(shí)際上,策略得當(dāng)?shù)脑?,所?/p>

降低的交易成本很可能不止0.1個百分點(diǎn)。

.5

Python量化交易實(shí)戰(zhàn)入門與技巧

1.1.4?量化交易與其他交易

在學(xué)習(xí)量化交易時,你常常聽到其他的一些概念,如算法交易、黑匣子

交易、程序化交易等,這些交易與量化交易有什么關(guān)系呢?下面具體來講解

一下。

1.量化交易與算法交易

在當(dāng)前的投資界,你聽到“算法交易(AlgorithmicTrading)”的次數(shù),

可能會比聽到“量化交易”的次數(shù)更多。確實(shí),在大多數(shù)情況下,這兩種稱

謂基本上可以替換著使用,因?yàn)槟壳白盍餍械牧炕灰撞呗?,基本上可以說

屬于“算法交易”的范疇。

不過,量化交易和算法交易還是有所區(qū)別的。因?yàn)樗惴ń灰淄ǔR馕吨?/p>

高度自動化的交易發(fā)現(xiàn)和交易執(zhí)行,因此算法交易往往也被稱為“自動交

易(AutomatedTrading)”,或者是更形象化的“黑匣子交易(Black-box

Trading)”。

而且,人們在說“算法交易”的時候,往往并不僅僅是泛指所有高度自

動化的量化交易策略,而是專門指那些持有期很短、交易相當(dāng)頻繁的交易策

略,甚至專門指那些以降低交易成本為目的的交易策略。

所以,本書所講的量化交易,特意讓它的范圍更廣一些,不僅包括算法交

易,而且也包括自動化程度和交易頻率不是那么高的其他一些交易策略。

2.量化交易與黑匣子交易

前面已經(jīng)說過,“黑匣子交易”是人們對算法交易的一種形象化說法,所

以量化交易與黑匣子交易的關(guān)系,就和量化交易與算法交易的關(guān)系差不多。

不過,當(dāng)人們說黑匣子交易時,更加突出的是一個“黑”字,也就是這些交

易策略的神秘性。所以,像ETF套利、現(xiàn)期套利這樣一些經(jīng)典的套利策略,

人們似乎覺得它們不夠“黑”,一般不會稱之為黑匣子。

3.量化交易與程序化交易

單從字面上來講,程序化交易是指所有的高度自動化的量化交易策略,

包括算法交易。在大多數(shù)情況下,人們也確實(shí)是這么用這個名稱的。不過,

紐約交易所對程序交易有專門的定義,指的是同時涉及15個及以上的證券、

6.

第1章

Python量化交易實(shí)戰(zhàn)入門與技巧初識量化交易

總交易額至少為100萬美元的電子交易。而這類交易很大一部分都是套利,

因此當(dāng)人們說程序化交易時,往往特指套利交易策略。

4.量化交易與技術(shù)分析

投資者很容易把量化交易和技術(shù)分析聯(lián)系在一起,確實(shí),技術(shù)分析中會

使用很多的量化指標(biāo),量化交易中也會用到一些我們常用的技術(shù)指標(biāo)。而且,

相當(dāng)一部分的量化交易策略和技術(shù)分析一樣,幾乎都是依賴于對價格、成交

額等交易信息的分析。不過,量化交易與技術(shù)分析還是有所區(qū)別的。

首先,一些技術(shù)分析方法很難被量化。例如,圖形分析是技術(shù)分析的一

個重要部分,可是,一些圖形很難被量化定義,比如波浪,這些技術(shù)分析手

段就無法應(yīng)用在量化交易中。

其次,量化交易并不僅限于技術(shù)分析所涉及的交易信息?;久娴男畔?/p>

數(shù)據(jù),如收入、利潤、購并等公司基本面信息,以及利率、通脹等宏觀基本

面信息,都可能被量化交易策略參考。

因此,量化交易和技術(shù)分析的關(guān)系可以概括為:二者既有相互重疊的地

方,也有相互獨(dú)立的地方。

1.2?量化交易的主要內(nèi)容

量化交易的主要內(nèi)容包括4種,

分別是量化選股、量化擇時、算

法交易、各種套利交易,如圖1.3

所示。

1.2.1?量化選股

量化選股就是利用量化的方法

●●圖1.3?量化交易的主要內(nèi)容

判斷某上市公司是否適合買進(jìn)。根

據(jù)某個量化的方法,如果某上市公司滿足該量化方法的條件,就把該股票放

到自選股中;如果不滿足該量化方法的條件,就不加入自選股或從自選股中

.7

Python量化交易實(shí)戰(zhàn)入門與技巧

刪除。常用的量化選股方法有多因子選股、行業(yè)輪動選股、趨勢跟蹤選股、

籌碼選股等。

1.2.2?量化擇時

量化擇時是指采用量化的方式判斷買點(diǎn)和賣點(diǎn)。如果判斷行情是上漲行

情,即牛市,則可以買進(jìn)后持有;如果判斷行情是下跌行情,則要果斷賣出

空倉;如果判斷行情是震蕩行情,則可以進(jìn)行高拋低吸,靈活操作。常用的

量化擇時方法有趨勢量化擇時、市場情緒量化擇時、有效資金量化擇時等。

1.2.3?算法交易

算法交易,也稱為自動交易或黑盒交易,是利用電子平臺,輸入涉及算

法的交易指令,以執(zhí)行預(yù)先設(shè)定好的交易策略。算法中包含許多變量,包括

時間,價格,交易量,或者在許多情況下,由“機(jī)器人”發(fā)起指令,無須人

工干預(yù)。

算法交易的內(nèi)在邏輯在于應(yīng)用市場買賣量的特性。經(jīng)過一定的數(shù)量統(tǒng)計(jì)

辦法,在風(fēng)險可控、資金可控條件下執(zhí)行訂單。算法交易系統(tǒng)的中心是經(jīng)過

一套計(jì)算機(jī)程序,在一秒鐘內(nèi)產(chǎn)生若干買賣指令(其中許多指令瞬時就能夠

被取消或被新的指令取代),來尋求最佳的成交執(zhí)行途徑,從而減少對市場的

沖擊,并降低買賣成本。

1.2.4?各種套利交易

套利交易是指利用相關(guān)市場或相關(guān)

電子合同之間的價差變化,在相關(guān)市場

或相關(guān)電子合同上進(jìn)行交易方向相反的

交易,以期望價差發(fā)生變化而獲利的交

易行為。套利交易模式主要分為4大

類型,分別為股指期貨套利、商品期貨

套利、統(tǒng)計(jì)套利和期權(quán)套利,如圖1.4

所示?!瘛駡D1.4?套利交易模式

8.

第1章

Python量化交易實(shí)戰(zhàn)入門與技巧初識量化交易

1.股指期貨套利

股指期貨套利是指利用股指期貨市場存在的不合理價格,同時參與股指

期貨與股票現(xiàn)貨市場交易,或者同時進(jìn)行不同期限、不同(但相近)類別股

票指數(shù)合約交易,以賺取差價的行為。股指期貨套利主要分兩種,分別是期

現(xiàn)套利和跨期套利。

2.商品期貨套利

與股指期貨對沖相似,商品期貨同樣存在套利策略,在買入或賣出某種

期貨合約的同時,賣出或買入相關(guān)的另一種合約,并在某個時間同時將兩種

合約平倉。

在交易形式上它與套期保值有些相似,但套期保值是在現(xiàn)貨市場買入

(或賣出)實(shí)貨、同時在期貨市場上賣出(或買入)期貨合約;而套利卻只在

期貨市場上買賣合約,并不涉及現(xiàn)貨交易。商品期貨套利主要分為4種,分

別是期現(xiàn)套利、跨期套利、跨市場套利和跨品種套利。

3.統(tǒng)計(jì)套利

有別于無風(fēng)險套利,統(tǒng)計(jì)套利是利用證券價格的歷史統(tǒng)計(jì)規(guī)律進(jìn)行套利

的,是一種風(fēng)險套利,其風(fēng)險在于這種歷史統(tǒng)計(jì)規(guī)律在未來一段時間內(nèi)是否

繼續(xù)存在。

統(tǒng)計(jì)對沖的主要思路是先找出相關(guān)性最好的若干對投資品種(股票或

者期貨等),再找出每一對投資品種的長期均衡關(guān)系(協(xié)整關(guān)系),當(dāng)某一

對品種的價差(協(xié)整方程的殘差)偏離到一定程度時開始建倉——買進(jìn)被

相對低估的品種、賣空被相對高估的品種,等到價差回歸均衡時獲利了結(jié)

即可。

4.期權(quán)套利

期權(quán)(Option)又稱選擇權(quán),是在期貨的基礎(chǔ)上產(chǎn)生的一種衍生性金融

工具。從其本質(zhì)上講,期權(quán)實(shí)質(zhì)上是在金融領(lǐng)域?qū)?quán)利和義務(wù)分開進(jìn)行定價,

使得權(quán)利的受讓人在規(guī)定時間內(nèi)對于是否進(jìn)行交易行使其權(quán)利,而義務(wù)方

必須履行。

在期權(quán)交易時,購買期權(quán)的一方稱為買方,而出售期權(quán)的一方則稱為賣

.9

Python量化交易實(shí)戰(zhàn)入門與技巧

方;買方即權(quán)利的受讓人,而賣方則是必須履行買方行使權(quán)利的義務(wù)人。

期權(quán)的優(yōu)點(diǎn)在于收益無限的同時風(fēng)險損失有限,因此在很多時候,利用

期權(quán)來取代期貨進(jìn)行做空、套利交易,會比單純利用期貨套利具有更小的風(fēng)

險和更高的收益率。

1.3?量化交易的歷史

量化交易的歷史可以分兩部分,分別是國外量化交易的歷史和國內(nèi)量化

交易的歷史。

1.3.1?國外量化交易的歷史

國外量化交易可分為三個階段,具體如下:

第一階段(1971-1977年):1971年,世界第一只被動量化基金由巴克

利國際投資管理公司發(fā)行。1977年世界上第一只主動量化基金也是由巴克利

發(fā)行,發(fā)行規(guī)模達(dá)到70億美元,算是美國量化投資的開端。

第二階段(1977-1995年):這段時間,量化投資在海外發(fā)展較為緩慢,

但隨著信息技術(shù)和計(jì)算機(jī)技術(shù)方面取得巨大進(jìn)步,量化投資迎來了高速發(fā)展

的時代。

第三階段(1995-至今):從1995年至今,量化投資技術(shù)逐漸趨于成熟,

在目前全部的投資中,量化投資大約占比50%,指數(shù)類投資全部采用定量技

術(shù),主動投資中20%-30%采用定量技術(shù)。

1.3.2?國內(nèi)量化交易的歷史

與海外市場量化交易的蓬勃發(fā)展相比,量化基金在國內(nèi)尚處于起步階段。

2004年8月光大保德信量化核心基金是國內(nèi)第一只量化基金。在隨后的近5

年時間里,量化基金的發(fā)展一度長期處于空窗期。從2009年開始,量化基金

每年以4至5只的發(fā)行速度緩慢前行。2014-2015年的牛市階段,促使了量

化基金正式進(jìn)入投資者的視野。自2015年起,量化基金市場規(guī)模迅速擴(kuò)張,

10.

第1章

Python量化交易實(shí)戰(zhàn)入門與技巧初識量化交易

數(shù)量及管理規(guī)模均快速增長,以公募量化基金為例,已經(jīng)超過1?000億元的

規(guī)模。

量化私募基金的發(fā)展則更為迅速。截至2017年12月底,中國證券投資

基金業(yè)協(xié)會已備案私募基金管理人22?446家,同比增長28.76%,已備案私

募基金66?418只,同比增長42.82%,管理基金規(guī)模11.1萬億元,同比增長

約41%。

與此同時,國內(nèi)證券研究生金融工程研究如雨后春筍般興起,紛紛推出

了自行研究的數(shù)量化股票投資模型,按照一定的選股標(biāo)準(zhǔn),如Beta值、市

值、每股收益、市盈率等,以及市場的動態(tài)特征對市場行為和投資進(jìn)行量化,

幫助投資者實(shí)現(xiàn)證券投資組合管理,為未來數(shù)量化投資的進(jìn)一步發(fā)展奠定了

基礎(chǔ)。

1.4?量化交易的故事

下面通過三個量化交易故事,講解量化交易的起源、算法基石、優(yōu)勢與

風(fēng)險。

1.4.1?朱爾斯·雷格納特的故事

從現(xiàn)存資料來看,最早采用科學(xué)方法來研究和發(fā)現(xiàn)股票價格漲跌規(guī)律的

人,既不是股票和股市交易起源地的荷蘭人,也不是將金融實(shí)踐發(fā)揚(yáng)光大的

英國人,更不是一開始就和金融共生在一起的美國人,而是看起來有些不

“靠譜”的法國人。

最早采用量化方法來分析數(shù)據(jù)變化并從中挖掘市場價格漲跌規(guī)律的,是

1834年出生于法國貝當(dāng)?shù)闹鞝査埂だ赘窦{特(JulesRegnault)。雷格納特

出身貧寒,成年后到巴黎證券交易所成為股票經(jīng)紀(jì)人助理,跑腿送信的日

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論