量化投資基礎(chǔ)篇
第1章
基本數(shù)據(jù)類型
1.1 變量及其命名規(guī)則
1.2 數(shù)值
1.2.1 數(shù)值類型概述
1.2.2 如何查看數(shù)值類型范圍
1.2.3 實(shí)例1:當(dāng)心數(shù)值類型轉(zhuǎn)換中的溢出
1.2.4 實(shí)例2:判斷與查看數(shù)值類型
1.3 矩陣
1.3.1 實(shí)例3:矩陣及特殊矩陣的建立方法
1.3.2 實(shí)例4:利用一維索引提取二維矩陣中的元素
1.3.3 實(shí)例5:矩陣轉(zhuǎn)置、共軛轉(zhuǎn)置與求逆
1.3.4 實(shí)例6:sortrows與sort函數(shù)比較
1.3.5矩陣與矩陣元素算術(shù)運(yùn)算概述
1.3.6 邏輯、關(guān)系和集合運(yùn)算概述
1.4 警惕特殊數(shù)字
1.4.1 NaN
1.4.2 Inf
1.4.3 邏輯型數(shù)字
1.5 字符和字符串
1.5.1 實(shí)例7:字符串的創(chuàng)建與元素提取
1.5.2 實(shí)例8:字符串的查找、替換與刪除
1.5.3 實(shí)例9:strcat函數(shù)的常見錯(cuò)誤
1.5.4 實(shí)例10:str2num函數(shù)和str2double函數(shù)的區(qū)別
1.5.5 字符串比較函數(shù)的應(yīng)用
1.5.6 正則表達(dá)式概述及常見使用方法
1.5.7 實(shí)例11:利用符號(hào)變量求解方程
1.5.8 實(shí)例12:函數(shù)句柄的應(yīng)用
1.6 時(shí)間
1.6.1 datetime類型介紹
1.6.2 實(shí)例13:其他類型時(shí)間轉(zhuǎn)數(shù)值時(shí)間
1.6.3 實(shí)例14:數(shù)值時(shí)間轉(zhuǎn)字符串時(shí)間
1.7 cell
1.7.1 實(shí)例15:兩種常見的cell賦值方式
1.7.2 實(shí)例16:mat2cell函數(shù)與num2cell函數(shù)
1.7.3 實(shí)例17:cellstr函數(shù)
1.7.4 實(shí)例18:cell2mat函數(shù)
1.7.5 實(shí)例19:用cellfun函數(shù)做cell元素遍歷運(yùn)算
1.7.6 實(shí)例20:用findgroups函數(shù)和splitapply函數(shù)做cell分組運(yùn)算
1.8 struct
1.8.1 創(chuàng)建struct變量
1.8.2 實(shí)例21:多維結(jié)構(gòu)體與多維cell中嵌套結(jié)構(gòu)體
第2章
程序設(shè)計(jì)
2.1 函數(shù)的定義
2.1.1 單個(gè)函數(shù)腳本的創(chuàng)建
2.1.2 含有子函數(shù)的腳本創(chuàng)建及調(diào)用
2.2 量化分析中的常用基本函數(shù)及其用法
2.2.1 edit
2.2.2 clear
2.2.3 clc
2.2.4 close
2.2.5 whos
2.2.6 exist
2.2.7 isa
2.2.8 isempty
2.2.9 isnan
2.2.10 find
2.2.11 disp
2.2.12 fprintf
2.2.13
sprintf
2.2.14 eval
2.3 圖形生成
2.3.1 實(shí)例22:生成二維折線圖
2.3.2 實(shí)例23:生成矢量圖
2.3.3 實(shí)例24:多圖疊加生成
2.3.4 實(shí)例25:生成柱狀圖與累計(jì)柱狀圖
2.3.5 實(shí)例26:生成直方圖
2.3.6 實(shí)例27:插入子圖與文字
2.3.7 實(shí)例28:插入特殊文字與符號(hào)
2.4 全局變量與局部變量的定義
2.5 分支結(jié)構(gòu)語句
2.5.1 判斷結(jié)構(gòu) if else及其用法
2.5.2 選擇結(jié)構(gòu) switch case及其用法
2.5.3 for循環(huán)結(jié)構(gòu)及其用法
2.5.4 while循環(huán)結(jié)構(gòu)及其用法
2.5.5 break、continue、return和exit的比較
2.5.6 巧用異常捕捉try catch結(jié)構(gòu)
2.6 工程中腳本調(diào)用的優(yōu)先次序
第3章
數(shù)據(jù)處理
3.1 基本文件操作函數(shù)介紹
3.2 實(shí)例29:用importdata函數(shù)與textscan函數(shù)對txt文件讀寫
3.3 實(shí)例30:excel文件讀寫
3.4 實(shí)例31:csv文件讀寫
3.5 實(shí)例32:mat文件讀寫
3.6 實(shí)例33:圖形的存儲(chǔ)、讀取與圖形中的數(shù)據(jù)提取
3.7 與Oracle數(shù)據(jù)庫交互
3.7.1 Windows系統(tǒng)下的MATLAB與Oracle交互環(huán)境配置方法
3.7.2 Linux系統(tǒng)下的MATLAB與Oracle交互環(huán)境配置方法
3.7.3 實(shí)例34:建立數(shù)據(jù)庫連接
3.7.4 實(shí)例35:數(shù)據(jù)查詢、插入與修改
3.7.5 實(shí)例36:萬能的exec函數(shù)
第4章
量化分析中的常用類
4.1 類的基本概念
4.1.1 實(shí)例37:利用關(guān)鍵詞定義類
4.1.2 實(shí)例38:運(yùn)算符的重載
4.2 table類
4.2.1 實(shí)例39:創(chuàng)建table類數(shù)據(jù)
4.2.2 實(shí)例40:table類與結(jié)構(gòu)體相互轉(zhuǎn)換
4.2.3 實(shí)例41:table類與cell相互轉(zhuǎn)換
4.2.4 實(shí)例42:table類與數(shù)值矩陣相互轉(zhuǎn)換
4.2.5 實(shí)例43:用varfun函數(shù)對table數(shù)據(jù)做分組運(yùn)算
4.3 dataset類
4.3.1 實(shí)例44:創(chuàng)建dataset類數(shù)據(jù)
4.3.2 實(shí)例45:數(shù)值矩陣、cell、結(jié)構(gòu)體和table類數(shù)據(jù)轉(zhuǎn)換為dataset類
4.3.3 實(shí)例46:利用datasetfun函數(shù)做變量運(yùn)算
4.3.4 實(shí)例47:dataset的水平和垂直拼接
4.3.5 實(shí)例48:用repalcedata函數(shù)做dataset數(shù)據(jù)替換
4.3.6 實(shí)例49:用replaceWithMissing函數(shù)做缺失數(shù)據(jù)替換
4.3.7 實(shí)例50:ismemeber函數(shù)
4.3.8 實(shí)例51:用join函數(shù)實(shí)現(xiàn)dataset合并
4.3.9 將dataset存儲(chǔ)為文件
4.4 線性回歸 LinearModel 類
4.4.1 常用類函數(shù)概述
4.4.2 實(shí)例52:線性回歸工作流程
第5章 MATLAB與Python交互編程
5.1 MATLAB調(diào)用Python
5.1.1 推薦Python程序軟件Anaconda
5.1.2 如何在MATLAB中配置Python環(huán)境
5.1.3 實(shí)例53:py類與模塊的調(diào)用
5.1.4 實(shí)例54:py.list、py.tuple和py.dict生成方法
5.1.5 MATLAB數(shù)據(jù)類型轉(zhuǎn)換為Python數(shù)據(jù)類型
5.1.6 Python數(shù)據(jù)類型轉(zhuǎn)換為MATLAB數(shù)據(jù)類型
5.1.7 實(shí)例55:MATLAB中使用py.list
5.1.8 實(shí)例56:MATLAB中使用py.tuple
5.1.9 實(shí)例57:MATLAB中使用py.dict
5.1.10 實(shí)例58:MATLAB中調(diào)用Python腳本
5.1.11 實(shí)例59:獲取Tushare開源數(shù)據(jù)
5.2 Python調(diào)用MATLAB
5.2.1 MATLAB Engine的安裝
5.2.2 實(shí)例60:使用MATLAB Engine調(diào)用MATLAB函數(shù)
5.2.3 MATLAB Engine傳入數(shù)據(jù)類型轉(zhuǎn)換
5.2.4 實(shí)例61:調(diào)用自定義MATLAB腳本
量化投資模型篇
第6章量
化投資分析模型
6.1 日期和時(shí)間函數(shù)
6.1.1 常用日和時(shí)間函數(shù)概述
6.1.2 工作日函數(shù)概述
6.2 技術(shù)指標(biāo)函數(shù)
6.3 投資分析
6.3.1 常用現(xiàn)金流與收益率計(jì)算函數(shù)
6.3.2 常用攤銷與折舊函數(shù)
6.3.3 常用資金時(shí)間價(jià)值計(jì)算函數(shù)
6.3.4 常用年金計(jì)算函數(shù)
6.3.5 實(shí)例62:有無數(shù)據(jù)缺失兩種情況下多元正態(tài)線性回歸方法
6.3.6 常用金融數(shù)據(jù)轉(zhuǎn)換函數(shù)
6.3.7 實(shí)例63:tick2ret函數(shù)與price2ret函數(shù)比較
6.3.8 常用投資策略評(píng)價(jià)函數(shù)
6.3.9 實(shí)例64:索提諾比率實(shí)例
6.3.10 常用金融繪圖函數(shù)
6.3.11 實(shí)例65:時(shí)間連續(xù)與間斷兩種情況下的蠟燭圖繪制
6.3.12 實(shí)例66:兩種價(jià)格與成交量圖的繪制
6.4 經(jīng)典方差模型在A股市場的應(yīng)用
6.4.1 實(shí)例67:均值-方差模型
6.4.2 實(shí)例68:CVaR模型
6.4.3 實(shí)例69:均值-絕對偏差模型
6.5 SDE模型概述
6.5.1 SDE模型的構(gòu)建
6.5.2 實(shí)例70:SDE模型對NASDAQ數(shù)據(jù)的回歸預(yù)測
第7章
統(tǒng)計(jì)與機(jī)器學(xué)習(xí)模型
7.1 常用統(tǒng)計(jì)函數(shù)
7.2 假設(shè)檢驗(yàn)
7.2.1 正態(tài)分布均值假設(shè)檢驗(yàn)的實(shí)現(xiàn)方法
7.2.2 正態(tài)分布方差假設(shè)檢驗(yàn)的實(shí)現(xiàn)方法
7.3 回歸擬合
7.3.1 實(shí)例71:線性回歸方法
7.3.2 實(shí)例72:三種常見多元線性回歸共線性診斷方法的實(shí)現(xiàn)
7.3.3 多項(xiàng)式擬合方法中的標(biāo)準(zhǔn)化處理
7.3.4 實(shí)例73:非線性回歸實(shí)現(xiàn)方法
7.4 方差分析
7.4.1 實(shí)例74:單因素方差分析實(shí)現(xiàn)方法
7.4.2 實(shí)例75:雙因素方差分析實(shí)現(xiàn)方法
7.4.3 實(shí)例76:多因素方差分析實(shí)現(xiàn)方法
7.5 聚類分析
7.5.1 實(shí)例77:k-means與k-medoids算法應(yīng)用
7.5.2 實(shí)例78:混合高斯模型應(yīng)用
7.6 分類分析
7.6.1 實(shí)例79:決策樹應(yīng)用
7.6.2 實(shí)例80:邏輯回歸原理與實(shí)現(xiàn)
7.6.3 實(shí)例81:KNN近鄰算法應(yīng)用
7.6.4 實(shí)例82:SVM支持向量機(jī)應(yīng)用
7.7 數(shù)據(jù)降維
7.7.1 主成分分析
7.7.2 實(shí)例83:理解主成分分析的原理與輸出結(jié)果
第8章
經(jīng)典計(jì)量經(jīng)濟(jì)學(xué)模型
8.1 條件均值模型
8.1.1 實(shí)例84:ARIMA模型公式與建立方法
8.1.2 模型參數(shù)估計(jì)
8.1.3 方差推斷
8.1.4 實(shí)例85:ARIMA模型對NASDAQ數(shù)據(jù)的擬合
8.1.5 實(shí)例86:AR模型公式與建立方法
8.1.6 實(shí)例87:MA模型公式與建立方法
8.1.7 實(shí)例88:ARMA模型公式與建立方法
8.1.8 實(shí)例89:ARIMAX模型公式與建立方法
8.1.9 實(shí)例90:殘差為ARIMA的線性回歸模型公式與建立方法
8.2 條件方差模型
8.2.1 實(shí)例91:GARCH模型公式與建立方法
8.2.2 實(shí)例92:EGARCH模型公式與建立方法
8.2.3 實(shí)例93:GJR模型公式與建立方法
8.2.4 實(shí)例94:條件方差模型對NASDAQ數(shù)據(jù)的預(yù)測應(yīng)用
8.3 時(shí)間序列平穩(wěn)性與單位根檢驗(yàn)
8.3.1 實(shí)例95:NASDAQ數(shù)據(jù)的ADF檢驗(yàn)應(yīng)用
8.3.2 實(shí)例96:NASDAQ數(shù)據(jù)的KPSS檢驗(yàn)應(yīng)用
8.3.3 實(shí)例97:NASDAQ數(shù)據(jù)的PP檢驗(yàn)應(yīng)用
8.3.4 adftest、kpsstest和pptest函數(shù)返回結(jié)果比較
8.4 實(shí)例98:中證500指數(shù)量價(jià)關(guān)系的granger因果關(guān)系檢驗(yàn)
程序性能提升篇
第9章 CPU并行計(jì)算
9.1 基本原理介紹
9.2 并行計(jì)算parfor 循環(huán)初探
9.2.1 parfor循環(huán)的使用
9.2.2 實(shí)例99:多種工況下parfor與for性能對比分析
9.3 parfor 循環(huán)中變量類型解釋
9.4 parfor循環(huán)中的限制
9.4.1 禁止使用交互輸入
9.4.2 禁止圖形輸出
9.4.3 實(shí)例100:巧用feval函數(shù)傳入函數(shù)句柄
9.4.4 parfor中的常見受限變量與函數(shù)
9.4.5 實(shí)例101:巧用自定義函數(shù)調(diào)用受限函數(shù)
9.4.6 parfor循環(huán)中含for循環(huán)的四種限制情況
9.5 計(jì)算機(jī)集群上的并行計(jì)算
9.5.1 mdce服務(wù)介紹
9.5.2 Windows系統(tǒng)下的mdce服務(wù)配置方法
9.5.3 Linux系統(tǒng)下的mdce服務(wù)配置方法
9.5.4 實(shí)例102:計(jì)算機(jī)集群上配置并行計(jì)算
第10章 GPU并行計(jì)算
10.1 基本原理介紹
10.2 GPU相關(guān)類與函數(shù)表
10.3 實(shí)例103:GPU調(diào)用流程
10.4 運(yùn)行MATLAB函數(shù)
10.4.1 運(yùn)行內(nèi)置函數(shù)
10.4.2 實(shí)例104:利用arrayfun運(yùn)行自定義函數(shù)
10.4.3 實(shí)例105:運(yùn)行自定義kernel函數(shù)方法
第11章
報(bào)告生成器
11.1 生成HTML格式報(bào)告
11.2 熟悉界面
11.3 逐步加入報(bào)告元素
11.3.1 創(chuàng)建標(biāo)題
11.3.2 增加章節(jié)和分章
11.3.3 增加段落
11.3.4 插入MATLAB代碼
11.3.5 插入圖片
11.3.6 插入變量
11.3.7 使用邏輯分支語句增加新的章節(jié)
11.4 最終報(bào)告生成
量化投資實(shí)戰(zhàn)篇
第12章
經(jīng)典股票量化策略初探
12.1 市場失效簡單的均線策略
12.1.1 策略主邏輯
12.1.2 并行計(jì)算對程序效率的提升
12.1.3 完善策略邏輯細(xì)節(jié)
12.1.4 參數(shù)與模型優(yōu)化思路擴(kuò)展
12.2 規(guī)模效應(yīng)神奇的小市值策略
12.2.1 策略主邏輯
12.2.2 splitapply函數(shù)在股票分組的使用
12.2.3 警惕未來函數(shù)的使用
第13章
經(jīng)典期貨策略初探
13.1 替代效應(yīng)豆粕和菜粕的價(jià)差套利
13.1.1 用regexp函數(shù)與cellfun函數(shù)快速處理新浪網(wǎng)頁接口數(shù)據(jù)
13.1.2 探究統(tǒng)計(jì)規(guī)律背后的經(jīng)濟(jì)原理
13.1.3 把握主要矛盾構(gòu)建統(tǒng)計(jì)套利策略
13.1.4 期貨策略中的幾點(diǎn)注意事項(xiàng)
13.2 趨勢追蹤海龜交易法則
13.2.1 基本概念
13.2.2 名義資產(chǎn)非實(shí)際資產(chǎn)
13.2.3 海龜交易法則1:短周期系統(tǒng)
13.2.4 海龜交易法則2:長周期
13.2.5 海龜交易法則的實(shí)現(xiàn)
13.2.6 投資組合一:品種獨(dú)立風(fēng)險(xiǎn)再投資
13.2.7 投資組合二:品種等風(fēng)險(xiǎn)再投資
13.2.8 風(fēng)險(xiǎn)與收益的匹配性探討
13.2.9 進(jìn)一步完善海龜交易法則
附錄A ASCII碼表
附錄B GPU支持的內(nèi)置函數(shù)
附錄C GPU自定義函數(shù)
索引
參考文獻(xiàn)