前言
2015年6月15日,上證指數(shù)達(dá)到近7年新高,吸引了大批的投資者將更多的資金投入股市,由此使得股票優(yōu)化預(yù)測(cè)成為廣大投資者關(guān)注的焦點(diǎn)。投資者較多地查看炒股軟件提供的QACD曲線、KDJ曲線、交易量柱狀(bar)圖等指標(biāo),而這些指標(biāo)的指示作用早已褪去了往日的光鮮,本書正是基于此背景而編寫。本書以MATLAB2015b為工具,采用機(jī)器學(xué)習(xí)算法研究股票趨勢(shì),可以給投資者和研究投資的人員提供強(qiáng)有力的量化投資支撐。
算法是大數(shù)據(jù)分析的靈魂,好的算法能夠簡(jiǎn)化問題的求解,并且能夠從大數(shù)據(jù)的海洋里找到最有價(jià)值的信息,以提高用戶的工作效率。本書使用的算法區(qū)別于常用的群智能算法。群智能算法較多地應(yīng)用于優(yōu)化求解問題方面,學(xué)術(shù)味濃。而本書則是通過大數(shù)據(jù),采用機(jī)器學(xué)習(xí)算法對(duì)數(shù)據(jù)內(nèi)在規(guī)律進(jìn)行學(xué)習(xí),用戶根本無須知道機(jī)器學(xué)習(xí)算法的黑匣子,就能得到90%的有用信息,從而給投資者提供最有價(jià)值的信息。因此金融大數(shù)據(jù)算法具有較大的實(shí)際應(yīng)用價(jià)值。
市場(chǎng)上的金融量化投資分析方法,很少分析與應(yīng)用BP神經(jīng)網(wǎng)絡(luò)、RBF神經(jīng)網(wǎng)絡(luò)、Hopfield神經(jīng)網(wǎng)絡(luò)、馬爾可夫(Markov)鏈、灰色理論、指數(shù)平滑、支持向量機(jī)SVM、貝葉斯(Bayes)網(wǎng)絡(luò)等方法。本書正是基于這樣一個(gè)出發(fā)點(diǎn),從機(jī)器學(xué)習(xí)算法出發(fā),采用MATLAB仿真軟件,對(duì)金融大數(shù)據(jù)進(jìn)行仿真分析,并且給出了全部的可執(zhí)行代碼,極大地豐富了MATLAB算法應(yīng)用,并且可以讓讀者了解不同的算法原理及求解流程,從而真正掌握MATLAB金融算法分析。
本書所有案例均采用MATLAB進(jìn)行設(shè)計(jì),針對(duì)不同的工程背景,采用了不同的算法對(duì)涉及案例進(jìn)行求解,讓讀者真正理解算法實(shí)質(zhì),從而將這些算法思想更好地應(yīng)用于實(shí)際的金融分析與投資中。本書以機(jī)器學(xué)習(xí)算法應(yīng)用為主,做到了理論和算法相結(jié)合,詳解設(shè)計(jì)思路和設(shè)計(jì)步驟,向讀者展示了如何運(yùn)用MATLAB進(jìn)行算法開發(fā)和設(shè)計(jì)。
值得說明的是,很多讀者可能并不關(guān)注算法本身的原理,只需要采用該算法解決自己的課題即可,那么本書也是很好的選擇。本書將核心算法代碼全部寫成了可調(diào)用的子函數(shù)腳本文件,讀者只需要查看主程序代碼,進(jìn)行數(shù)據(jù)更改和參數(shù)設(shè)置等即可運(yùn)行、求解。本書有著最精華、最通俗易懂的算法剖析過程,希望廣大讀者能夠?qū)W有所成。
本書特色1.內(nèi)容講解不枯燥本書結(jié)合相關(guān)理論實(shí)際,抽出和算法相關(guān)的理論作為支撐,通過求解流程及算法迭代過程,讓讀者容易理解并且掌握。
2.全書覆蓋面廣本書涵蓋了MATLAB基礎(chǔ)知識(shí)、高級(jí)應(yīng)用、時(shí)間序列數(shù)據(jù)處理、量化投資趨向指標(biāo)、量化投資反趨向指標(biāo)、BP神經(jīng)網(wǎng)絡(luò)、RBF神經(jīng)網(wǎng)絡(luò)、Hopfield神經(jīng)網(wǎng)絡(luò)、馬爾可夫(Markov)鏈、灰色理論、指數(shù)平滑、支持向量機(jī)SVM、貝葉斯(Bayes)網(wǎng)絡(luò)、Pareto多目標(biāo)優(yōu)化分析等內(nèi)容。針對(duì)分類預(yù)測(cè)和優(yōu)化等問題,本書采用了不同的算法進(jìn)行設(shè)計(jì),初學(xué)者通過閱讀本書,可以開發(fā)出適用于解決自己?jiǎn)栴}的程序。
3.循序漸進(jìn),由淺入深本書從算法原理與求解流程出發(fā),輔以程序驗(yàn)證,通過算法代碼,可以反過來去理解算法原理中所涉及的公式,做到逐步地引導(dǎo)讀者去認(rèn)識(shí)和掌握算法的思想。
4.真實(shí)案例,隨學(xué)隨用本書是一本注重實(shí)踐的書,書中有大量篇幅用在了MATLAB算法解決實(shí)際問題的案例中。讀者只需要稍加修改這些案列,即可用于自己的項(xiàng)目或課題上,從而實(shí)現(xiàn)問題的求解。
5.語言通俗易懂本書選擇了歷年的上證指數(shù)數(shù)據(jù)進(jìn)行分析,并且對(duì)于趨勢(shì)量化投資指標(biāo)和反趨勢(shì)量化投資指標(biāo)均給出了最底層的可執(zhí)行代碼。另外,本書還繪制了每個(gè)指標(biāo)隨上證指數(shù)的變化圖,以加深讀者的理解。
6.圖示豐富,容易理解本書所有案例中的配圖相當(dāng)豐富,通過前后的對(duì)比圖,讀者能很快地掌握知識(shí)點(diǎn)。
本書內(nèi)容及體系結(jié)構(gòu)第1篇MATLAB常用算法應(yīng)用設(shè)計(jì)(第1~5章)本篇介紹了MATLAB常用算法,包括MATLAB入門與提高、MATLAB高級(jí)應(yīng)用、時(shí)間序列數(shù)據(jù)處理、量化投資趨向指標(biāo)、量化投資反趨向指標(biāo)等案例,通過該類較為常用的算法引入,讀者可以應(yīng)用這些案例解決一些常見問題,如函數(shù)優(yōu)化預(yù)測(cè)、擬合回歸、分類、股票投資趨向指標(biāo)、量化投資反趨向指標(biāo)等,經(jīng)過這些內(nèi)容的學(xué)習(xí),既適應(yīng)了不同的讀者,也為第2篇的引入打下了堅(jiān)實(shí)的算法基礎(chǔ)。
第2篇MATLAB機(jī)器學(xué)習(xí)算法應(yīng)用設(shè)計(jì)(第6~15章)本篇涉及面較廣,列舉了BP神經(jīng)網(wǎng)絡(luò)工具箱上證指數(shù)預(yù)測(cè)、BP神經(jīng)網(wǎng)絡(luò)多指標(biāo)預(yù)測(cè)、RBF神經(jīng)網(wǎng)絡(luò)多指標(biāo)預(yù)測(cè)、Hopfield神經(jīng)網(wǎng)絡(luò)多指標(biāo)預(yù)測(cè)、馬爾可夫(Markov)鏈上證指數(shù)預(yù)測(cè)、灰色理論下的上證指數(shù)預(yù)測(cè)、指數(shù)平滑下的上證指數(shù)預(yù)測(cè)、支持向量機(jī)SVM下的漲跌預(yù)測(cè)、貝葉斯(Bayes)網(wǎng)絡(luò)多指標(biāo)預(yù)測(cè)、Pareto多目標(biāo)優(yōu)化分析等,通過案例分析,結(jié)合算法理論和程序代碼,真正地適合廣大師生的需要。MATALB高級(jí)算法應(yīng)用,向更加廣泛、更加具體、更多應(yīng)用發(fā)展,讓讀者真正掌握算法核心,開發(fā)和設(shè)計(jì)出自己的可移植性代碼。
本書讀者對(duì)象?MATLAB量化投資開發(fā)人員;?MATLAB金融算法愛好者;?剛?cè)肼毜某踔屑?jí)程序員;?大、中專院校師生;?相關(guān)培訓(xùn)學(xué)校的學(xué)員;?MATLAB愛好者;?MATALB相關(guān)從業(yè)人員。
本書配套資源及獲取方式本書涉及的源代碼文件等配套學(xué)習(xí)資源需要讀者自行下載。請(qǐng)讀者登錄機(jī)械工業(yè)出版社華章公司的網(wǎng)站www.hzbook.com,然后搜索到本書頁面,按照頁面上的說明進(jìn)行下載即可。讀者也可以在http://halcom.cn社區(qū)的“量化投資指標(biāo)”版塊下載。
本書作者本書由吳婷和余勝威主筆編寫。其他參與編寫的人員有李小妹、周晨、桂鳳林、李然、李瑩、李玉青、倪欣欣、魏健藍(lán)、夏雨晴、蕭萬安、余慧利、袁歡、占俊、周艷梅、楊松梅、余月、張廣龍、張亮、張曉輝、張雪華、趙海波、趙偉、周成、朱森。
筆者結(jié)合自己在工作和學(xué)習(xí)期間掌握的各類算法,以及出于對(duì)股票投資和MATLAB的愛好,通過參閱大量的相關(guān)資料,精心準(zhǔn)備,編寫了本書。本書在寫作過程中參考了一些筆者平時(shí)積累的資料,部分資料來自于前輩們的著作,在此向這些前輩們表示深深的敬意和感謝!由于無法聯(lián)系到原作者,所以寫作時(shí)也無法一一征求意見。如果有不當(dāng)之處,請(qǐng)聯(lián)系筆者或者本書編輯。
讀者在閱讀本書的過程中若有疑問,可以在MATLAB中文論壇的本書交流版塊提問,也可以發(fā)郵件到hzbook2017@163.com,我們會(huì)及時(shí)答復(fù)。
編者在線交流,有問有答國(guó)內(nèi)非常知名的MATLAB&Simulink技術(shù)交流平臺(tái)——MATLAB中文論壇(www.ilovematlab.cn)聯(lián)合本書作者和編輯,一起為您提供與本書相關(guān)的問題解答和MATLAB技術(shù)支持服務(wù),讓您獲得極佳的閱讀體驗(yàn)。請(qǐng)隨時(shí)登錄MATLAB中文論壇,提出您在閱讀本書時(shí)產(chǎn)生的疑問,作者和相關(guān)編輯將定期為您解答。您對(duì)本書的任何建議,也可以在論壇上發(fā)帖,以便于我們后續(xù)改進(jìn)。您的建議將是我們創(chuàng)造精品的最大動(dòng)力和源泉。
“在線交流,有問有答”網(wǎng)絡(luò)互動(dòng)參與步驟:
(1)在MATLAB中文論壇www.ilovematlab.cn上注冊(cè)一個(gè)會(huì)員賬號(hào)并登錄。
(2)完成論壇賬戶郵箱驗(yàn)證,在論壇“MATLAB讀書頻道:與作者面對(duì)面交流”版塊上找到本書版塊,如圖1所示。
圖1“MATLAB讀書頻道:與作者面對(duì)面交流”版塊(3)進(jìn)入書籍版塊,發(fā)帖提問,與作者在線交流。
(4)其他增值服務(wù)。讀者可以通過本書的“在線交流,有問有答”版塊下載本書源程序等教學(xué)資源,也可以查看本書的相關(guān)勘誤信息,如圖2所示(因本書版塊在圖書出版后才能申請(qǐng)成功,所以這里用已經(jīng)出版的圖書示意圖來代替)。
圖2“在線交流,有問有答”版塊增值服務(wù)
碩士畢業(yè)于西南交通大學(xué)。精通MATLAB科學(xué)計(jì)算、GUI設(shè)計(jì)、杜邦分析和數(shù)據(jù)預(yù)測(cè)算法等。目前主要從事公司金融、風(fēng)險(xiǎn)管理及股票預(yù)測(cè)算法挖掘等研究。
目錄
前言
在線交流,有問有答
第1篇 MATLAB常用算法應(yīng)用設(shè)計(jì)
第1章 MATLAB入門與提高2
1.1 矩陣運(yùn)算4
1.2 放大局部視圖6
1.3 Monte Carlo方法7
1.4 金融工具箱繪圖函數(shù)的使用9
1.4.1 bolling(布林線)函數(shù)10
1.4.2 highlow(高低價(jià))函數(shù)13
1.4.3 candle(陰陽燭圖)函數(shù)16
1.4.4 kagi(折線圖)函數(shù)21
1.4.5 renko(磚形圖)函數(shù)22
1.4.6 movavg(移動(dòng)平均圖)函數(shù)23
1.4.7 priceandvol(成交量圖)函數(shù)27
1.4.8 pointfig(漲跌點(diǎn)圖)函數(shù)28
1.4.9 volarea(成交量面積圖)函數(shù)30
第2章 MATLAB高級(jí)應(yīng)用32
2.1 正余弦函數(shù)計(jì)算32
2.2 pcode加密32
2.3 基本GUI設(shè)計(jì)33
2.4 GUI的優(yōu)化布局41
2.5 日期格式函數(shù)43
2.6 日期轉(zhuǎn)化函數(shù)45
2.7 創(chuàng)建一個(gè)金融時(shí)間數(shù)據(jù)序列47
2.8 股票技術(shù)分析圖函數(shù)使用49
第3章 時(shí)間序列數(shù)據(jù)處理55
3.1 平均絕對(duì)離差55
3.2 序列最大值57
3.3 序列最小值60
3.4 簡(jiǎn)單移動(dòng)平均值62
3.5 動(dòng)態(tài)移動(dòng)平均值65
3.6 指數(shù)平滑移動(dòng)平均值67
3.7 指數(shù)移動(dòng)平均值69
第4章 量化投資趨向指標(biāo)73
4.1 升降線指標(biāo)73
4.2 動(dòng)力指標(biāo)76
4.3 變動(dòng)速率線指標(biāo)77
4.4 瀑布線指標(biāo)79
4.5 上升動(dòng)向指標(biāo)81
4.6 下降動(dòng)向指標(biāo)83
4.7 動(dòng)向平均數(shù)指標(biāo)85
4.8 多空指數(shù)指標(biāo)88
4.9 佳慶指標(biāo)90
4.10 市場(chǎng)趨勢(shì)指標(biāo)92
4.11 方向標(biāo)準(zhǔn)離差指數(shù)指標(biāo)94
4.12 平均線差97
4.13 趨向指標(biāo)98
4.14 簡(jiǎn)易波動(dòng)指標(biāo)102
4.15 鬼道線指標(biāo)104
4.16 絕路航標(biāo)指標(biāo)106
4.17 加速線指標(biāo)109
4.18 平滑異同平均指標(biāo)111
4.19 快速異同平均指標(biāo)113
4.20 強(qiáng)弱值指標(biāo)115
4.21 三重指數(shù)平滑平均線指標(biāo)117
4.22 終極指標(biāo)119
4.23 變異平均線指標(biāo)122
第5章 量化投資反趨向指標(biāo)124
5.1 幅度漲速指標(biāo)124
5.2 動(dòng)態(tài)買賣人氣指標(biāo)126
5.3 布林極限指標(biāo)128
5.4 乖離率指標(biāo)131
5.5 異同離差乖離率指標(biāo)133
5.6 順勢(shì)指標(biāo)135
5.7 市場(chǎng)能量指標(biāo)137
5.8 多空線指標(biāo)139
5.9 區(qū)間震蕩線指標(biāo)141
5.10 分水嶺指標(biāo)142
5.11 隨機(jī)指標(biāo)144
5.12 威廉指標(biāo)148
5.13 L威廉指標(biāo)150
5.14 變動(dòng)速率指標(biāo)152
5.15 相對(duì)強(qiáng)弱指標(biāo)153
5.16 慢速隨機(jī)指標(biāo)156
5.17 擺動(dòng)指標(biāo)159
5.18 動(dòng)向速度比率指標(biāo)162
5.19 引力線指標(biāo)164
5.20 布林極限寬度指標(biāo)166
第2篇 MATLAB機(jī)器學(xué)習(xí)算法應(yīng)用設(shè)計(jì)
第6章 BP神經(jīng)網(wǎng)絡(luò)工具箱上證指數(shù)預(yù)測(cè)170
6.1 BP神經(jīng)網(wǎng)絡(luò)模型及其基本原理170
6.2 MATLAB BP神經(jīng)網(wǎng)絡(luò)工具箱171
6.3 BP神經(jīng)網(wǎng)絡(luò)執(zhí)行流程173
6.4 基于BP網(wǎng)絡(luò)的上證指數(shù)預(yù)測(cè)174
6.5 改進(jìn)分析178
第7章 BP神經(jīng)網(wǎng)絡(luò)工具箱多指標(biāo)預(yù)測(cè)186
7.1 BP神經(jīng)網(wǎng)絡(luò)186
7.2 多指標(biāo)選取187
7.3 基于趨勢(shì)指標(biāo)的BP網(wǎng)絡(luò)預(yù)測(cè)195
7.4 基于反趨勢(shì)指標(biāo)的BP網(wǎng)絡(luò)預(yù)測(cè)204
7.5 基于趨勢(shì)和反趨勢(shì)指標(biāo)的BP網(wǎng)絡(luò)預(yù)測(cè)211
第8章 RBF神經(jīng)網(wǎng)絡(luò)多指標(biāo)預(yù)測(cè)216
8.1 RBF神經(jīng)網(wǎng)絡(luò)216
8.2 RBF網(wǎng)絡(luò)結(jié)構(gòu)216
8.3 多指標(biāo)選取219
8.4 基于趨勢(shì)指標(biāo)的RBF網(wǎng)絡(luò)預(yù)測(cè)220
8.5 基于反趨勢(shì)指標(biāo)的RBF網(wǎng)絡(luò)預(yù)測(cè)224
8.6 基于趨勢(shì)和反趨勢(shì)指標(biāo)的RBF網(wǎng)絡(luò)預(yù)測(cè)228
第9章 Hopfield神經(jīng)網(wǎng)絡(luò)多指標(biāo)預(yù)測(cè)232
9.1 Hopfield神經(jīng)網(wǎng)絡(luò)232
9.2 多指標(biāo)選取234
9.3 基于趨勢(shì)指標(biāo)的Hopfield網(wǎng)絡(luò)預(yù)測(cè)234
9.4 基于反趨勢(shì)指標(biāo)的Hopfield網(wǎng)絡(luò)預(yù)測(cè)237
9.5 基于趨勢(shì)和反趨勢(shì)指標(biāo)的Hopfield網(wǎng)絡(luò)預(yù)測(cè)239
第10章 馬爾可夫(Markov)鏈上證指數(shù)預(yù)測(cè)242
10.1 馬爾可夫鏈模型242
10.2 馬爾可夫鏈模型流程242
10.3 馬爾可夫鏈預(yù)測(cè)243
10.4 隱馬爾可夫模型函數(shù)表253
第11章 灰色理論下的上證指數(shù)預(yù)測(cè)254
11.1 灰色理論分析254
11.2 灰色關(guān)聯(lián)分析流程254
11.3 多指標(biāo)灰色關(guān)聯(lián)度計(jì)算255
11.4 灰色預(yù)測(cè)模型流程259
11.5 ACCER幅度漲速指標(biāo)灰色預(yù)測(cè)260
第12章 指數(shù)平滑下的上證指數(shù)預(yù)測(cè)263
12.1 指數(shù)平滑分析263
12.1.1 一次指數(shù)平滑預(yù)測(cè)法263
12.1.2 二次指數(shù)平滑預(yù)測(cè)法264
12.1.3 三次指數(shù)平滑預(yù)測(cè)法264
12.2 指數(shù)平滑仿真265
12.2.1 一次指數(shù)平滑265
12.2.2 二次指數(shù)平滑268
12.2.3 三次指數(shù)平滑270
第13章 支持向量機(jī)SVM下的漲跌預(yù)測(cè)274
13.1 Logistic回歸274
13.2 Regularization正則化方程275
13.3 支持向量機(jī)SVM算法275
13.4 MATLAB優(yōu)化工具箱277
13.4.1 線性規(guī)劃問題278
13.4.2 非線性規(guī)劃問題279
13.4.3 二次規(guī)劃問題280
13.4.4 線性最小二乘282
13.4.5 非線性曲線擬合283
13.4.6 非線性最小二乘284
13.5 SVM下的上證指數(shù)漲跌預(yù)測(cè)285
13.6 PSO優(yōu)化的SVM多分類預(yù)測(cè)297
第14章 貝葉斯(Bayes)網(wǎng)絡(luò)多指標(biāo)預(yù)測(cè)305
14.1 貝葉斯統(tǒng)計(jì)方法305
14.2 貝葉斯預(yù)測(cè)方法307
14.3 貝葉斯網(wǎng)絡(luò)的數(shù)據(jù)預(yù)測(cè)307
14.4 貝葉斯網(wǎng)絡(luò)下的價(jià)格指數(shù)建模與預(yù)測(cè)317
14.4.1 讀入采集到的數(shù)據(jù)318
14.4.2 建立貝葉斯網(wǎng)絡(luò)319
14.4.3 對(duì)構(gòu)建的貝葉斯網(wǎng)絡(luò)進(jìn)行參數(shù)學(xué)習(xí)319
14.4.4 條件概率分析321
第15章 Pareto多目標(biāo)優(yōu)化分析325
15.1 經(jīng)典測(cè)試函數(shù)325
15.2 遺傳算法優(yōu)化的單目標(biāo)模型330
15.3 Pareto多目標(biāo)求解GUI設(shè)