- MATLAB量化金融分析基礎(chǔ)與實(shí)戰(zhàn)
- 馬萌
- 1860字
- 2020-05-28 17:52:03
前言
“工欲善其事,必先利其器?!?/p>
有人說鋼琴演奏是一門藝術(shù),鋼琴家用指尖將音符轉(zhuǎn)換為美妙旋律來傳遞思想感情,與聽眾交流,但不要忘記這一切是建立在爐火純青的演奏技術(shù)上的,所以鋼琴演奏首先是一門技術(shù)。量化投資亦是如此,對(duì)于市場(chǎng),每個(gè)人都有自己獨(dú)到的見解、投資理念甚至具體的策略,但想把這些傳遞出來,則需要足夠的編程技巧。
本書側(cè)重的是MATLAB編程能力。編程能力可分為兩個(gè)層次,一是能寫出策略,二是寫出高效策略。第一個(gè)層次需要掌握一門語(yǔ)言的基本語(yǔ)法和函數(shù)功能等,第二個(gè)層次則需要較多的知識(shí)儲(chǔ)備與實(shí)際經(jīng)驗(yàn)積累。希望讀者通過學(xué)習(xí)本書至少熟練達(dá)到第一個(gè)層次以上,能夠用MATLAB語(yǔ)言輕松表達(dá)自己的投資邏輯。本書并不側(cè)重于揭示市場(chǎng)的運(yùn)作原理或闡述模型和策略構(gòu)建的合理性,因?yàn)椴呗员旧淼恼Z(yǔ)言載體并不局限于MATLAB。
本書實(shí)戰(zhàn)篇包括了4個(gè)經(jīng)典投資策略。在12.1節(jié)討論了一種最簡(jiǎn)單的利用市場(chǎng)失效的策略——均線系統(tǒng),當(dāng)然失效特例還有很多,也不僅局限于技術(shù)指標(biāo)。市場(chǎng)有效理論將市場(chǎng)狀態(tài)分為弱式、半強(qiáng)式和強(qiáng)式有效當(dāng)然還有無效,實(shí)際上市場(chǎng)總是在這四種狀態(tài)中切換而不會(huì)永遠(yuǎn)停留在一個(gè)狀態(tài),不同市場(chǎng)狀態(tài)下有合適的應(yīng)對(duì)策略且通過分形指標(biāo)可捕捉市場(chǎng)狀態(tài)變化進(jìn)而做策略擇時(shí);在12.2節(jié)介紹了市值這個(gè)估值因子。這個(gè)因子為何有效以及股票投資中涉及的其他因子、擇時(shí)、中性等概念,都是值得細(xì)致論述的重要知識(shí)點(diǎn);在13.1節(jié)中展示了一個(gè)期貨統(tǒng)計(jì)套利的例子——豆粕與菜粕的價(jià)差套利,這里想強(qiáng)調(diào)的是量化投資不僅是要尋找數(shù)字上的規(guī)律,更要理解數(shù)字背后的經(jīng)濟(jì)學(xué)原理;在13.2節(jié)中講述了著名的海龜交易法則,同時(shí)也介紹了使用投資組合來分散風(fēng)險(xiǎn)的概念。
“授人以魚,不如授人以漁?!?/p>
本書盡量選取與量化投資相關(guān)的MATLAB功能模塊加以介紹,避免大而全地陳述或生澀地講解MATLAB各個(gè)函數(shù)的功能,取而代之的是大量的簡(jiǎn)單例子,而這些例子可能是讀者在做量化投資時(shí)遇到的真正需求。建議讀者動(dòng)手復(fù)寫一遍例子的同時(shí)仔細(xì)閱讀幫助文檔中函數(shù)的解釋以達(dá)到熟練應(yīng)用的目的。為了讓讀者更好地再現(xiàn)書中例題,數(shù)據(jù)源限制在了MATLAB自帶數(shù)據(jù)、Tushare開源數(shù)據(jù)和新浪網(wǎng)頁(yè)數(shù)據(jù)。這些數(shù)據(jù)源會(huì)實(shí)時(shí)更新,讀者在復(fù)寫的時(shí)候由于新數(shù)據(jù)的加入可能會(huì)得到與書中不同的結(jié)果。
本書也無意將相關(guān)的數(shù)學(xué)、金融原理進(jìn)行推導(dǎo)或詳細(xì)闡述,如本書在量化投資模型篇中并未闡述模型的原理、公式推導(dǎo)等過程。
1.讀者
本書適合具備數(shù)學(xué)、金融、計(jì)算機(jī)基礎(chǔ)及一定編程經(jīng)驗(yàn)的專業(yè)人員閱讀,也可作為相關(guān)專業(yè)院校本科高年級(jí)、研究生或教師的教學(xué)、參考用書。
2.增值服務(wù)及資源下載
本書受MATLAB中文論壇(www.ilovematlab.cn)鼎力支持,讀者可以登錄網(wǎng)址http://www.ilovematlab.cn/forum-269-1.html與作者進(jìn)行在線交流,或者登錄網(wǎng)址http://www.ilovematlab.cn/thread-550784-1-1.html下載本書相關(guān)的程序源代碼。
讀者也可以關(guān)注機(jī)械工業(yè)出版社計(jì)算機(jī)分社官方微信訂閱號(hào)“IT有得聊”,回復(fù)60417來下載相關(guān)代碼或留言,您的反饋會(huì)幫助作者更好地改進(jìn)書籍。同時(shí)作者會(huì)盡可能提供更多有用信息,以幫助讀者提高量化技能。如因Tushare和新浪的數(shù)據(jù)提取方式改變而導(dǎo)致書中代碼失效,作者會(huì)及時(shí)修正代碼。
3.文字格式
代碼及其輸出結(jié)果以灰色底紋顯示。
>>代碼
代碼輸出
function OUT=example(IN)
OUT=IN;
4.MATLAB版本
如無特殊說明,本書所使用環(huán)境為Windows 7操作系統(tǒng)下的MATLAB。
>>disp(version)
8.6.0.267246(R2015b)
書中提到的“matlabroot”為MATLAB安裝目錄,Windows系統(tǒng)默認(rèn)為“C:\Program Files\MATLAB\R2015b”,而Linux系統(tǒng)默認(rèn)為“/usr/local/Matlab/R2015b”。
讀者需注意Windows系統(tǒng)下的代碼有時(shí)并不能直接移植到Linux系統(tǒng)的MATLAB運(yùn)行,比如Windows下的MATLAB支持使用‘\’與‘/’符號(hào)表示路徑,而Linux下僅支持使用‘/’表示路徑。
>>loadfindemos\disney.mat%Windows下可運(yùn)行
>>loadfindemos/disney.mat%Windows和Linux下均可運(yùn)行
還需注意的是Windows 7系統(tǒng)中的文件名不區(qū)分大小寫,而Linux系統(tǒng)需要區(qū)分。所以,讀者在有不同操作系統(tǒng)下代碼移植需求的時(shí)候要合理規(guī)劃工程中的文件名,以避免不必要的麻煩。
MATLAB雖然功能強(qiáng)大但為付費(fèi)軟件,如果讀者經(jīng)濟(jì)能力有限可以考慮使用開源項(xiàng)目軟件Octave。Octave與MATLAB語(yǔ)法格式基本相同,但部分工具箱或者函數(shù)功能可能未實(shí)現(xiàn)且性能表現(xiàn)亦可能略遜于MATLAB,詳細(xì)信息可參閱http://www.gnu.org/software/octave/。
5.熟悉界面
如下圖所示,MATLAB軟件界面中的【應(yīng)用程序】包含了諸多應(yīng)用工具,如第11章的報(bào)告生成器;右上角【搜索文檔】可以輸入關(guān)鍵字檢索MATLAB軟件手冊(cè);【命令行窗口】用于指令的輸入與執(zhí)行;【工作區(qū)】用于存儲(chǔ)變量,雙擊變量可查看變量的值與屬性等信息,亦可修改此信息;【當(dāng)前文件夾】顯示當(dāng)前文件夾下的所有文件目錄結(jié)構(gòu);【命令歷史記錄】中可用<Ctrl+F>快捷鍵查找使用過的指令,雙擊選定指令可直接運(yùn)行。

MATLAB軟件界面
6.【命令行窗口】常用快捷鍵
<Tab> 自動(dòng)補(bǔ)全指令
<Shift+Enter> 換行并執(zhí)行所有指令
<Ctrl+C> 中斷當(dāng)前正在運(yùn)行的指令
<↑>、<↓> 切換到之前運(yùn)行過的指令,可按多次直到找到需要的指令
<Ctrl+S> 將工作區(qū)全部變量存儲(chǔ)為“.mat”文件
<Ctrl+F> 彈出對(duì)話框,可用于尋找文件
- 成交力
- 個(gè)體崛起:未來生存法則
- 貨幣的戰(zhàn)爭(zhēng)與和平
- 建投投資評(píng)論(2019年第2期/總第10期)
- 股權(quán)36計(jì)
- 通達(dá)信炒股軟件從入門到精通
- 網(wǎng)絡(luò)金融
- 投資海外:多國(guó)專家為你導(dǎo)航
- 企業(yè)信用等級(jí)評(píng)估指南
- 金格格理財(cái)逆襲記
- 銀行理財(cái)產(chǎn)品經(jīng)營(yíng)與管理
- 資產(chǎn)證券化中國(guó)的實(shí)踐
- 企業(yè)風(fēng)險(xiǎn)評(píng)估與控制
- 智能風(fēng)控:評(píng)分卡建模原理、方法與風(fēng)控策略構(gòu)建
- 臺(tái)灣貨幣史略