本書主要講解量化投資的思想和策略,并借助Python語言進(jìn)行實戰(zhàn)。由三部分組成:首先,對Python編程語言的介紹,通過學(xué)習(xí),讀者可以迅速掌握用Python語言處理數(shù)據(jù)的方法,靈活運用Python語言解決實際金融問題;其次,向讀者介紹量化投資的理論知識,主要講解量化投資所需的數(shù)量基礎(chǔ)與量化投資的類型等方面;最后,將以上兩部分內(nèi)容結(jié)合起來,講述如何在Python語言中構(gòu)建量化投資策略。
蔡立耑,美國伊利諾伊大學(xué)金融碩士,華盛頓大學(xué)經(jīng)濟(jì)學(xué)碩士、博士。在人工智能、大數(shù)據(jù)分析、金融創(chuàng)新、量化投資等領(lǐng)域有豐富的實戰(zhàn)經(jīng)驗。
第1 部分Python 入門 1
第1 章Python 簡介與安裝使用 2
1.1 Python 概述
1.2 Python 的安裝
1.2.1 下載安裝Python 執(zhí)行文件
1.2.2 下載安裝Anaconda
1.2.3 多種Python 版本并存
1.3 Python 的簡單使用
1.4 交互對話環(huán)境IPython
1.4.1 IPython 的安裝
1.4.2 IPython 的使用
1.4.3 IPython 功能介紹
第2 章Python 代碼的編寫與執(zhí)行
2.1 創(chuàng)建Python 腳本文件
2.1.1 記事本
2.1.2 Python 默認(rèn)的IDLE 環(huán)境
2.1.3 專門的程序編輯器
2.2 執(zhí)行.py 文件
2.2.1 IDLE 環(huán)境自動執(zhí)行
2.2.2 在控制臺cmd 中執(zhí)行
2.2.3 在Annaconda Prompt 中執(zhí)行
2.3 Python 編程小技巧
2.3.1 Python 行
2.3.2 Python 縮進(jìn)
第3 章Python 對象類型初探 23
3.1 Python 對象
3.2 變量命名規(guī)則
3.3 數(shù)值類型
3.3.1 整數(shù)
3.3.2 浮點數(shù)
3.3.3 布爾類型
3.3.4 復(fù)數(shù)
3.4 字符串
3.5 列表
3.6 可變與不可變
3.7 元組
3.8 字典
3.9 集合
第4 章Python 集成開發(fā)環(huán)境:Spyder 介紹 36
4.1 代碼編輯器
4.2 代碼執(zhí)行Console
4.3 變量查看與編輯
4.4 當(dāng)前工作路徑與文件管理
4.5 幫助文檔與在線幫助
4.6 其他功能
第5 章Python 運算符與使用 44
5.1 常用運算符
5.1.1 算術(shù)運算符
5.1.2 賦值運算符
5.1.3 比較運算符
5.1.4 邏輯運算符
5.1.5 身份運算符
5.1.6 成員運算符
5.1.7 運算符的優(yōu)先級
5.2 具有運算功能的內(nèi)置函數(shù)
第6 章Python 常用語句 55
6.1 賦值語句
6.1.1 賦值含義與簡單賦值
6.1.2 多重賦值
6.1.3 多元賦值
6.1.4 增強(qiáng)賦值
6.2 條件語句
6.3 循環(huán)語句
6.3.1 for 循環(huán)
6.3.2 while 循環(huán)
6.3.3 嵌套循環(huán)
6.3.4 break、continue 等語句
第7 章函數(shù)
7.1 函數(shù)的定義與調(diào)用
7.2 函數(shù)的參數(shù)
7.3 匿名函數(shù)
7.4 作用域
第8 章面向?qū)ο?br />
8.1 類
8.2 封裝
8.3 繼承(Inheritance)
第9 章Python 標(biāo)準(zhǔn)庫與數(shù)據(jù)操作
9.1 模塊、包和庫
9.1.1 模塊
9.1.2 包
9.1.3 庫
9.2 Python 標(biāo)準(zhǔn)庫介紹
9.3 Python 內(nèi)置數(shù)據(jù)類型與操作
9.3.1 序列類型數(shù)據(jù)操作
9.3.1.1 list 類型與操作
9.3.1.2 tuple 類型與操作
9.3.1.3 range 類型與操作
9.3.1.4 字符串操作
9.3.2 字典類型操作
9.3.3 集合操作
第10 章常用第三方庫:Numpy 庫與多維數(shù)組
10.1 NumPy 庫
10.2 創(chuàng)建數(shù)組
10.3 數(shù)組元素索引與切片
10.4 數(shù)組運算
第11 章常用第三方庫:Pandas 與數(shù)據(jù)處理
11.1 Series 類型數(shù)據(jù)
11.1.1 Series 對象的創(chuàng)建
11.1.2 Series 對象的元素提取與切片
11.1.2.1 調(diào)用方法提取元素
11.1.2.2 利用位置或標(biāo)簽提取元素與切片
11.1.3 時間序列
11.2 DataFrame 類型數(shù)據(jù)
11.2.1 創(chuàng)建DataFrame 對象
11.2.2 查看DataFrame 對象
11.2.3 DataFrame 對象的索引與切片
11.2.4 DataFrame 的操作
11.2.5 DataFrame 的運算
11.3 數(shù)據(jù)規(guī)整化
11.3.1 缺失值的處理
11.3.1.1 缺失值的判斷
11.3.1.2 選出不是缺失值的數(shù)據(jù)
11.3.2 缺失值的填充
11.3.3 缺失值的選擇刪除
11.3.4 刪除重復(fù)數(shù)據(jù)
第12 章常用第三方庫:Matplotlib 庫與數(shù)據(jù)可視化
12.1 Matplotlib 簡介
12.2 修改圖像屬性
12.2.1 坐標(biāo)
12.2.1.1 更改坐標(biāo)軸范圍
12.2.1.2 設(shè)定坐標(biāo)標(biāo)簽與顯示角度
12.2.2 添加文本
12.2.2.1 添加標(biāo)題
12.2.2.2 中文顯示問題
12.2.2.3 設(shè)定坐標(biāo)軸標(biāo)簽
12.2.2.4 增加圖形背景grid
12.2.2.5 增加圖例
12.2.3 多種線條屬性
12.2.3.1 線條的類型
12.2.3.2 圖形的顏色
12.2.3.3 點的形狀類型
12.2.3.4 線條寬度
12.3 常見圖形的繪制
12.3.1 柱狀圖(Bar charts)
12.3.2 直方圖
12.3.3 餅圖
12.3.4 箱線圖
12.4 Figure、Axes 對象與多圖繪制
12.4.1 Figure、Axes 對象
12.4.2 多圖繪制
12.4.2.1 多個子圖繪制
12.4.2.2 一個圖中多條曲線繪制
第2 部分統(tǒng)計學(xué)基礎(chǔ)
第13 章描述性統(tǒng)計
13.1 數(shù)據(jù)類型
13.2 圖表
13.2.1 頻數(shù)分布表
13.2.2 直方圖
13.3 數(shù)據(jù)的位置
13.4 數(shù)據(jù)的離散度
第14 章隨機(jī)變量簡介
14.1 概率與概率分布
14.1.1 離散型隨機(jī)變量
14.1.2 連續(xù)型隨機(jī)變量
14.2 期望值與方差
14.3 二項分布
14.4 正態(tài)分布
14.5 其他連續(xù)分布
14.5.1 卡方分布
14.5.2 t 分布
14.5.3 F 分布
14.6 變量的關(guān)系
14.6.1 聯(lián)合概率分布
14.6.2 變量的獨立性
14.6.3 變量的相關(guān)性
14.6.4 上證綜指與深證綜指的相關(guān)性分析
第15 章推斷統(tǒng)計
15.1 參數(shù)估計
15.1.1 點估計
15.1.2 區(qū)間估計
15.2 案例分析
15.3 假設(shè)檢驗
15.3.1 兩類錯誤
15.3.2 顯著性水平與p 值
15.3.3 確定小概率事件
15.4 t 檢驗
15.4.1 單樣本t 檢驗
15.4.2 獨立樣本t 檢驗
15.4.3 配對樣本t 統(tǒng)計量的構(gòu)造
第16 章方差分析
16.1 方差分析之思想
16.2 方差分析之原理
16.2.1 離差平方和
16.2.2 自由度
16.2.3 顯著性檢驗
16.3 方差分析之Python 實現(xiàn)
16.3.1 單因素方差分析
16.3.2 多因素方差分析
16.3.3 析因方差分析
第17 章回歸分析
17.1 一元線性回歸模型
17.1.1 一元線性回歸模型
17.1.2 最小平方法
17.2 模型擬合度
17.3 古典假設(shè)條件下^_、^ _ 之統(tǒng)計性質(zhì)
17.4 顯著性檢驗
17.5 上證綜指與深證成指的回歸分析與Python 實踐
17.5.1 Python 擬合回歸函數(shù)
17.5.2 繪制回歸診斷圖
17.6 多元線性回歸模型
17.7 多元線性回歸案例分析
17.7.1 價格水平對GDP 的影響
17.7.2 考量自變量共線性因素的新模型
第3 部分金融理論、投資組合與量化選股
第18 章資產(chǎn)收益率和風(fēng)險
18.1 單期與多期簡單收益率
18.1.1 單期簡單收益率
18.1.2 多期簡單收益率
18.1.3 Python 函數(shù)計算簡單收益率
18.1.4 單期與多期簡單收益率的關(guān)系
18.1.5 年化收益率
18.1.6 考慮股利分紅的簡單收益率
18.2 連續(xù)復(fù)利收益率
18.2.1 多期連續(xù)復(fù)利收益率
18.2.2 單期與多期連續(xù)復(fù)利收益率的關(guān)系
18.3 繪制收益圖
18.4 資產(chǎn)風(fēng)險的來源
18.4.1 市場風(fēng)險
18.4.2 利率風(fēng)險
18.4.3 匯率風(fēng)險
18.4.4 流動性風(fēng)險
18.4.5 信用風(fēng)險
18.4.6 通貨膨脹風(fēng)險
18.4.7 營運風(fēng)險
18.5 資產(chǎn)風(fēng)險的測度
18.5.1 方差
18.5.2 下行風(fēng)險
18.5.3 風(fēng)險價值
18.5.4 期望虧空
18.5.5 最大回撤
第19 章投資組合理論及其拓展
19.1 投資組合的收益率與風(fēng)險
19.2 Markowitz 均值-方差模型
19.3 Markowitz 模型之Python 實現(xiàn)
19.4 Black-Litterman 模型
第20 章資本資產(chǎn)定價模型(CAPM)
20.1 資本資產(chǎn)定價模型的核心思想
20.2 CAPM 模型的應(yīng)用
20.3 Python 計算單資產(chǎn)CAPM 實例
20.4 CAPM 模型的評價
第21 章Fama-French 三因子模型
21.1 Fama-French 三因子模型的基本思想
21.2 三因子模型之Python 實現(xiàn)
21.3 三因子模型的評價
第4 部分時間序列簡介與配對交易 317
第22 章時間序列基本概念 318
22.1 認(rèn)識時間序列
22.2 Python 中的時間序列數(shù)據(jù)
22.3 選取特定日期的時間序列數(shù)據(jù)
22.4 時間序列數(shù)據(jù)描述性統(tǒng)計
第23 章時間序列的基本性質(zhì) 326
23.1 自相關(guān)性
23.1.1 自協(xié)方差
23.1.2 自相關(guān)系數(shù)
23.1.3 偏自相關(guān)系數(shù)
23.1.4 acf( ) 函數(shù)與pacf( ) 函數(shù)
23.1.5 上證綜指的收益率指數(shù)的自相關(guān)性判斷
23.2 平穩(wěn)性
23.2.1 強(qiáng)平穩(wěn)
23.2.2 弱平穩(wěn)
23.2.3 強(qiáng)平穩(wěn)與弱平穩(wěn)的區(qū)別
23.3 上證綜指的平穩(wěn)性檢驗
23.3.1 觀察時間序列圖
23.3.2 觀察序列的自相關(guān)圖和偏自相關(guān)圖
23.3.3 單位根檢驗
23.4 白噪聲
23.4.1 白噪聲
23.4.2 白噪聲檢驗――Ljung-Box 檢驗
23.4.3 上證綜合指數(shù)的白噪聲檢驗
第24 章時間序列預(yù)測
24.1 移動平均預(yù)測
24.1.1 簡單移動平均
24.1.2 加權(quán)移動平均
24.1.3 指數(shù)加權(quán)移動平均
24.2 ARMA 模型預(yù)測
24.2.1 自回歸模型
24.2.2 移動平均模型
24.3 自回歸移動平均模型
24.4 ARMA 模型的建模過程
24.5 CPI 數(shù)據(jù)的ARMA 短期預(yù)測
24.5.1 序列識別
24.5.2 模型識別與估計
24.5.3 模型診斷
24.5.4 運用模型進(jìn)行預(yù)測
24.6 股票收益率的平穩(wěn)時間序列建模
第25 章GARCH 模型
25.1 資產(chǎn)收益率的波動率與ARCH 效應(yīng)
25.2 ARCH 模型和GARCH 模型
25.2.1 ARCH 模型
25.2.2 GARCH 模型
25.3 ARCH 效應(yīng)檢驗
25.4 GARCH 模型構(gòu)建
第26 章配對交易策略
26.1 什么是配對交易
26.2 配對交易的思想
26.3 配對交易的步驟
26.3.1 股票對的選擇
26.3.2 配對交易策略的制定
26.4 構(gòu)建PairTrading 類
26.5 Python 實測配對交易交易策略
第5 部分技術(shù)指標(biāo)與量化投資
第27 章K 線圖
27.1 K 線圖簡介
27.2 Python 繪制上證綜指K 線圖
27.3 Python 捕捉K 線圖的形態(tài)
27.3.1 Python 捕捉“早晨之星”
27.3.2 Python 語言捕捉“烏云蓋頂”形態(tài)
第28 章動量交易策略
28.1 動量概念介紹
28.2 動量效應(yīng)產(chǎn)生的原因
28.3 價格動量的計算公式
28.3.1 作差法求動量值
28.3.2 做除法求動量值
28.4 編寫動量函數(shù)momentum( )
28.5 萬科股票2015 年走勢及35 日動量線
28.6 動量交易策略的一般思路
第29 章RSI 相對強(qiáng)弱指標(biāo)
29.1 RSI 基本概念
29.2 Python 計算RSI 值
29.3 Python 編寫rsi( ) 函數(shù)
29.4 RSI 天數(shù)的差異
29.5 RSI 指標(biāo)判斷股票超買和超賣狀態(tài)
29.6 RSI 的“黃金交叉”與“死亡交叉”
29.7 交通銀行股票RSI 指標(biāo)交易實測
29.7.1 RSI 捕捉交通銀行股票買賣點
29.7.2 RSI 交易策略執(zhí)行及回測
第30 章均線系統(tǒng)策略
30.1 簡單移動平均
30.1.1 簡單移動平均數(shù)
30.1.2 簡單移動平均函數(shù)
30.1.3 期數(shù)選擇
30.2 加權(quán)移動平均
30.2.1 加權(quán)移動平均數(shù)
30.2.2 加權(quán)移動平均函數(shù)
30.3 指數(shù)加權(quán)移動平均
30.3.1 指數(shù)加權(quán)移動平均數(shù)
30.4 創(chuàng)建movingAverage 模組
30.5 常用平均方法的比較
30.6 中國銀行股價數(shù)據(jù)與均線分析
30.7 均線時間跨度
30.8 中國銀行股票均線系統(tǒng)交易
30.8.1 簡單移動平均線制定中國銀行股票的買賣點
30.8.2 雙均線交叉捕捉中國銀行股票的買賣點
30.9 異同移動平均線(MACD)
30.9.1 MACD 的求值過程
30.9.2 異同均線(MACD)捕捉中國銀行股票的買賣點
30.10 多種均線指標(biāo)綜合運用模擬實測
第31 章通道突破策略
31.1 通道突破簡介
31.2 唐奇安通道
31.2.1 唐奇安通道刻畫
31.2.2 Python 捕捉唐奇安通道突破
31.3 布林帶通道
31.4 布林帶通道與市場風(fēng)險
31.5 通道突破交易策略的制定
31.5.1 一般布林帶上下通道突破策略
31.5.2 特殊布林帶通道突破策略
第32 章隨機(jī)指標(biāo)交易策略
32.1 什么是隨機(jī)指標(biāo)(KDJ)
32.2 隨機(jī)指標(biāo)的原理
32.3 KDJ 指標(biāo)的計算公式
32.3.1 未成熟隨機(jī)指標(biāo)RSV
32.3.2 K、D 指標(biāo)計算
32.3.3 J 指標(biāo)計算
32.3.4 KDJ 指標(biāo)簡要分析
32.4 KDJ 指標(biāo)的交易策略
32.5 KDJ 指標(biāo)交易實測
32.5.1 KD 指標(biāo)交易策略
32.5.2 KDJ 指標(biāo)交易策略
32.5.3 K 線、D 線“金叉”與“死叉”
第33 章量價關(guān)系分析
33.1 量價關(guān)系概述
33.2 量價關(guān)系分析
33.2.1 價漲量增
33.2.2 價漲量平
33.2.3 價漲量縮
33.2.4 價平量增
33.2.5 價平量縮
33.2.6 價跌量增
33.2.7 價跌量平
33.2.8 價跌量縮
33.3 不同價格段位的成交量
33.4 成交量與均線思想結(jié)合制定交易策略
第34 章OBV 指標(biāo)交易策略 524
34.1 OBV 指標(biāo)概念
34.2 OBV 指標(biāo)計算方法
34.3 OBV 指標(biāo)的理論依據(jù)
34.4 OBV 指標(biāo)的交易策略制定
34.5 OBV 指標(biāo)交易策略的Python 實測
34.6 OBV 指標(biāo)的應(yīng)用原則