量化投資:以Python為工具

量化投資:以Python為工具

《量化投資:以Python為工具》 一書作者蔡立耑,電子工業出版社2017年2月出版

內容提要

《量化投資:以Python為工具》主要講解量化投資的思想和策略,並藉助Python 語言進行實戰。《量化投資:以Python為工具》一共分為5 部分,第1 部分是Python 入門,第2 部分是統計學基礎,第3 部分是金融理論、投資組合與量化選股,第4 部分是時間序列簡介與配對交易,第5 部分是技術指標與量化投資。《量化投資:以Python為工具》首先對Python 程式語言進行介紹,通過學習,讀者可以迅速掌握用Python 語言處理數據的方法,並靈活運用Python 解決實際金融問題;其次,向讀者介紹量化投資的理論知識,主要講解量化投資所需的數量基礎和類型等方面;最後講述如何在Python 語言中構建量化投資策略。

目錄

第1 部分Python 入門1

第1 章Python 簡介與安裝使用2

1.1 Python 概述2

1.2 Python 的安裝3

1.2.1 下載安裝Python 執行檔案3

1.2.2 下載安裝Anaconda4

1.2.3 多種Python 版本並存6

1.3 Python 的簡單使用7

1.4 互動對話環境IPython8

1.4.1 IPython 的安裝8

1.4.2 IPython 的使用9

1.4.3 IPython 功能介紹10

第2 章Python 代碼的編寫與執行14

2.1 創建Python 腳本檔案15

2.1.1 記事本15

2.1.2 Python 默認的IDLE 環境15

2.1.3 專門的程式編輯器15

2.2 執行.py 檔案17

2.2.1 IDLE 環境自動執行17

2.2.2 在控制台cmd 中執行18

2.2.3 在Annaconda Prompt 中執行19

2.3 Python 編程小技巧20

2.3.1 Python 行20

2.3.2 Python 縮進21

第3 章Python 對象類型初探23

3.1 Python 對象23

3.2 變數命名規則24

3.3 數值類型25

3.3.1 整數25

3.3.2 浮點數26

3.3.3 布爾類型26

3.3.4 複數27

3.4 字元串28

3.5 列表29

3.6 可變與不可變30

3.7 元組32

3.8 字典33

3.9 集合33

第4 章Python 集成開發環境:Spyder 介紹36

4.1 代碼編輯器37

4.2 代碼執行Console39

4.3 變數查看與編輯40

4.4 當前工作路徑與檔案管理41

4.5 幫助文檔與線上幫助42

4.6 其他功能43

第5 章Python 運算符與使用44

5.1 常用運算符44

5.1.1 算術運算符45

5.1.2 賦值運算符46

5.1.3 比較運算符47

5.1.4 邏輯運算符48

5.1.5 身份運算符49

5.1.6 成員運算符51

5.1.7 運算符的優先權52

5.2 具有運算功能的內置函式52

第6 章Python 常用語句55

6.1 賦值語句55

6.1.1 賦值含義與簡單賦值55

6.1.2 多重賦值57

6.1.3 多元賦值58

6.1.4 增強賦值58

6.2 條件語句59

6.3 循環語句60

6.3.1 for 循環60

6.3.2 while 循環61

6.3.3 嵌套循環62

6.3.4 break、continue 等語句62

第7 章函式66

7.1 函式的定義與調用66

7.2 函式的參數68

7.3 匿名函式71

7.4 作用域72

第8 章面向對象75

8.1 類75

8.2 封裝77

8.3 繼承(Inheritance)79

第9 章Python 標準庫與數據操作82

9.1 模組、包和庫82

9.1.1 模組82

9.1.2 包84

9.1.3 庫85

9.2 Python 標準庫介紹85

9.3 Python 內置數據類型與操作91

9.3.1 序列類型數據操作91

9.3.1.1 list 類型與操作91

9.3.1.2 tuple 類型與操作95

9.3.1.3 range 類型與操作97

9.3.1.4 字元串操作98

9.3.2 字典類型操作103

9.3.3 集合操作106

第10 章常用第三方庫:Numpy 庫與多維數組111

10.1 NumPy 庫111

10.2 創建數組111

10.3 數組元素索引與切片115

10.4 數組運算118

第11 章常用第三方庫:Pandas 與數據處理120

11.1 Series 類型數據120

11.1.1 Series 對象的創建120

11.1.2 Series 對象的元素提取與切片122

11.1.2.1 調用方法提取元素122

11.1.2.2 利用位置或標籤提取元素與切片123

11.1.3 時間序列124

11.2 DataFrame 類型數據128

11.2.1 創建DataFrame 對象128

11.2.2 查看DataFrame 對象130

11.2.3 DataFrame 對象的索引與切片131

11.2.4 DataFrame 的操作135

11.2.5 DataFrame 的運算139

11.3 數據規整化142

11.3.1 缺失值的處理142

11.3.1.1 缺失值的判斷142

11.3.1.2 選出不是缺失值的數據143

11.3.2 缺失值的填充143

11.3.3 缺失值的選擇刪除145

11.3.4 刪除重複數據146

第12 章常用第三方庫:Matplotlib 庫與數據可視化149

12.1 Matplotlib 簡介149

12.2 修改圖像屬性152

12.2.1 坐標152

12.2.1.1 更改坐標軸範圍152

12.2.1.2 設定坐標標籤與顯示角度153

12.2.2 添加文本155

12.2.2.1 添加標題155

12.2.2.2 中文顯示問題157

12.2.2.3 設定坐標軸標籤159

12.2.2.4 增加圖形背景grid160

12.2.2.5 增加圖例161

12.2.3 多種線條屬性162

12.2.3.1 線條的類型162

12.2.3.2 圖形的顏色163

12.2.3.3 點的形狀類型164

12.2.3.4 線條寬度166

12.3 常見圖形的繪製167

12.3.1 柱狀圖(Bar charts)167

12.3.2 直方圖170

12.3.3 餅圖172

12.3.4 箱線圖172

12.4 Figure、Axes 對象與多圖繪製173

12.4.1 Figure、Axes 對象174

12.4.2 多圖繪製176

12.4.2.1 多個子圖繪製176

12.4.2.2 一個圖中多條曲線繪製178

第2 部分統計學基礎180

第13 章描述性統計181

13.1 數據類型182

13.2 圖表182

13.2.1 頻數分布表182

13.2.2 直方圖183

13.3 數據的位置184

13.4 數據的離散度186

第14 章隨機變數簡介190

14.1 機率與機率分布190

14.1.1 離散型隨機變數190

14.1.2 連續型隨機變數192

14.2 期望值與方差193

14.3 二項分布194

14.4 常態分配197

14.5 其他連續分布199

14.5.1 卡方分布199

14.5.2 t 分布199

14.5.3 F 分布200

14.6 變數的關係202

14.6.1 聯合機率分布202

14.6.2 變數的獨立性203

14.6.3 變數的相關性203

14.6.4 上證綜指與深證綜指的相關性分析205

第15 章推斷統計208

15.1 參數估計208

15.1.1 點估計209

15.1.2 區間估計209

15.2 案例分析212

15.3 假設檢驗213

15.3.1 兩類錯誤214

15.3.2 顯著性水平與p 值215

15.3.3 確定小機率事件215

15.4 t 檢驗216

15.4.1 單樣本t 檢驗216

15.4.2 獨立樣本t 檢驗217

15.4.3 配對樣本t 統計量的構造218

第16 章方差分析221

16.1 方差分析之思想221

16.2 方差分析之原理222

16.2.1 離差平方和223

16.2.2 自由度224

16.2.3 顯著性檢驗225

16.3 方差分析之Python 實現226

16.3.1 單因素方差分析227

16.3.2 多因素方差分析228

16.3.3 析因方差分析228

第17 章回歸分析231

17.1 一元線性回歸模型231

17.1.1 一元線性回歸模型231

17.1.2 最小平方法232

17.2 模型擬合度233

17.3 古典假設條件下^_、^ _ 之統計性質234

17.4 顯著性檢驗235

17.5 上證綜指與深證成指的回歸分析與Python 實踐236

17.5.1 Python 擬合回歸函式236

17.5.2 繪製回歸診斷圖238

17.6 多元線性回歸模型240

17.7 多元線性回歸案例分析241

17.7.1 價格水平對GDP 的影響241

17.7.2 考量自變數共線性因素的新模型243

第3 部分金融理論、投資組合與量化選股246

第18 章資產收益率和風險247

18.1 單期與多期簡單收益率248

18.1.1 單期簡單收益率248

18.1.2 多期簡單收益率249

18.1.3 Python 函式計算簡單收益率252

18.1.4 單期與多期簡單收益率的關係252

18.1.5 年化收益率254

18.1.6 考慮股利分紅的簡單收益率256

18.2 連續複利收益率259

18.2.1 多期連續複利收益率260

18.2.2 單期與多期連續複利收益率的關係262

18.3 繪製收益圖263

18.4 資產風險的來源264

18.4.1 市場風險264

18.4.2 利率風險264

18.4.3 匯率風險265

18.4.4 流動性風險265

18.4.5 信用風險265

18.4.6 通貨膨脹風險266

18.4.7 營運風險266

18.5 資產風險的測度266

18.5.1 方差266

18.5.2 下行風險268

18.5.3 風險價值269

18.5.4 期望虧空271

18.5.5 最大回撤271

第19 章投資組合理論及其拓展276

19.1 投資組合的收益率與風險276

19.2 Markowitz 均值-方差模型280

19.3 Markowitz 模型之Python 實現285

19.4 Black-Litterman 模型289

第20 章資本資產定價模型(CAPM)298

20.1 資本資產定價模型的核心思想298

20.2 CAPM 模型的套用299

20.3 Python 計算單資產CAPM 實例301

20.4 CAPM 模型的評價305

第21 章Fama-French 三因子模型308

21.1 Fama-French 三因子模型的基本思想308

21.2 三因子模型之Python 實現310

21.3 三因子模型的評價315

第4 部分時間序列簡介與配對交易317

第22 章時間序列基本概念318

22.1 認識時間序列318

22.2 Python 中的時間序列數據320

22.3 選取特定日期的時間序列數據321

22.4 時間序列數據描述性統計323

第23 章時間序列的基本性質326

23.1 自相關性326

23.1.1 自協方差327

23.1.2 自相關係數327

23.1.3 偏自相關係數327

23.1.4 acf( ) 函式與pacf( ) 函式328

23.1.5 上證綜指的收益率指數的自相關性判斷328

23.2 平穩性331

23.2.1 強平穩331

23.2.2 弱平穩332

23.2.3 強平穩與弱平穩的區別332

23.3 上證綜指的平穩性檢驗333

23.3.1 觀察時間序列圖333

23.3.2 觀察序列的自相關圖和偏自相關圖333

23.3.3 單位根檢驗336

23.4 白噪聲340

23.4.1 白噪聲340

23.4.2 白噪聲檢驗——Ljung-Box 檢驗341

23.4.3 上證綜合指數的白噪聲檢驗343

第24 章時間序列預測345

24.1 移動平均預測345

24.1.1 簡單移動平均345

24.1.2 加權移動平均346

24.1.3 指數加權移動平均346

24.2 ARMA 模型預測347

24.2.1 自回歸模型348

24.2.2 移動平均模型350

24.3 自回歸移動平均模型350

24.4 ARMA 模型的建模過程351

24.5 CPI 數據的ARMA 短期預測351

24.5.1 序列識別351

24.5.2 模型識別與估計354

24.5.3 模型診斷356

24.5.4 運用模型進行預測359

24.6 股票收益率的平穩時間序列建模359

第25 章GARCH 模型364

25.1 資產收益率的波動率與ARCH 效應364

25.2 ARCH 模型和GARCH 模型365

25.2.1 ARCH 模型365

25.2.2 GARCH 模型366

25.3 ARCH 效應檢驗368

25.4 GARCH 模型構建370

第26 章配對交易策略372

26.1 什麼是配對交易372

26.2 配對交易的思想373

26.3 配對交易的步驟374

26.3.1 股票對的選擇374

26.3.2 配對交易策略的制定383

26.4 構建PairTrading 類387

26.5 Python 實測配對交易交易策略391

第5 部分技術指標與量化投資399

第27 章K 線圖400

27.1 K 線圖簡介400

27.2 Python 繪製上證綜指K 線圖403

27.3 Python 捕捉K 線圖的形態405

27.3.1 Python 捕捉“早晨之星”406

27.3.2 Python 語言捕捉“烏雲蓋頂”形態410

第28 章動量交易策略416

28.1 動量概念介紹416

28.2 動量效應產生的原因416

28.3 價格動量的計算公式417

28.3.1 作差法求動量值417

28.3.2 做除法求動量值418

28.4 編寫動量函式momentum( )420

28.5 萬科股票2015 年走勢及35 日動量線420

28.6 動量交易策略的一般思路423

第29 章RSI 相對強弱指標429

29.1 RSI 基本概念429

29.2 Python 計算RSI 值429

29.3 Python 編寫rsi( ) 函式434

29.4 RSI 天數的差異435

29.5 RSI 指標判斷股票超買和超賣狀態436

29.6 RSI 的“黃金交叉”與“死亡交叉”437

29.7 交通銀行股票RSI 指標交易實測438

29.7.1 RSI 捕捉交通銀行股票買賣點438

29.7.2 RSI 交易策略執行及回測440

第30 章均線系統策略446

30.1 簡單移動平均446

30.1.1 簡單移動平均數446

30.1.2 簡單移動平均函式448

30.1.3 期數選擇449

30.2 加權移動平均449

30.2.1 加權移動平均數449

30.2.2 加權移動平均函式451

30.3 指數加權移動平均452

30.3.1 指數加權移動平均數452

30.3.2 指數加權移動平均函式454

30.4 創建movingAverage 模組454

30.5 常用平均方法的比較455

30.6 中國銀行股價數據與均線分析456

30.7 均線時間跨度458

30.8 中國銀行股票均線系統交易459

30.8.1 簡單移動平均線制定中國銀行股票的買賣點459

30.8.2 雙均線交叉捕捉中國銀行股票的買賣點462

30.9 異同移動平均線(MACD)464

30.9.1 MACD 的求值過程464

30.9.2 異同均線(MACD)捕捉中國銀行股票的買賣點466

30.10 多種均線指標綜合運用模擬實測468

第31 章通道突破策略473

31.1 通道突破簡介473

31.2 唐奇安通道473

31.2.1 唐奇安通道刻畫473

31.2.2 Python 捕捉唐奇安通道突破476

31.3 布林帶通道478

31.4 布林帶通道與市場風險481

31.5 通道突破交易策略的制定484

31.5.1 一般布林帶上下通道突破策略484

31.5.2 特殊布林帶通道突破策略485

第32 章隨機指標交易策略489

32.1 什麼是隨機指標(KDJ)489

32.2 隨機指標的原理489

32.3 KDJ 指標的計算公式490

32.3.1 未成熟隨機指標RSV490

32.3.2 K、D 指__________標計算495

32.3.3 J 指標計算497

32.3.4 KDJ 指標簡要分析498

32.4 KDJ 指標的交易策略499

32.5 KDJ 指標交易實測499

32.5.1 KD 指標交易策略499

32.5.2 KDJ 指標交易策略503

32.5.3 K 線、D 線“金叉”與“死叉”504

第33 章量價關係分析509

33.1 量價關係概述509

33.2 量價關係分析509

33.2.1 價漲量增510

33.2.2 價漲量平512

33.2.3 價漲量縮512

33.2.4 價平量增513

33.2.5 價平量縮514

33.2.6 價跌量增514

33.2.7 價跌量平515

33.2.8 價跌量縮515

33.3 不同價格段位的成交量516

33.4 成交量與均線思想結合制定交易策略518

第34 章OBV 指標交易策略524

34.1 OBV 指標概念524

34.2 OBV 指標計算方法524

34.3 OBV 指標的理論依據527

34.4 OBV 指標的交易策略制定527

34.5 OBV 指標交易策略的Python 實測528

34.6 OBV 指標的套用原則530

相關詞條

相關搜尋

熱門詞條

聯絡我們