付志剛 沈慧娟
摘要:量化投資已經(jīng)成為投資界的趨勢,社會(huì)需求缺口比較大。在探討《量化投資實(shí)踐》課程必要性的同時(shí),對(duì)量化投資工具M(jìn)atlab、R語言和Python等進(jìn)行比較分析,認(rèn)為教學(xué)過程中應(yīng)選擇R語言為投資工具,最后對(duì)先修課程、教學(xué)目標(biāo)和教學(xué)內(nèi)容等方面做了研究。
關(guān)鍵詞:量化投資;R語言;教學(xué)目標(biāo)
中圖分類號(hào):G642.3 文獻(xiàn)標(biāo)志碼:A 文章編號(hào):1674-9324(2018)21-0214-02
眾所周知,傳統(tǒng)的投資方式有價(jià)值投資和技術(shù)投資。價(jià)值投資基于有效市場假說和均值回歸理論。其中有效市場是指,任何關(guān)于證券價(jià)格的信息都能夠迅速地反映到證券的價(jià)格上,因此投資者不可能通過這些信息獲取超額收益。均值回歸理論是指,短期而言,價(jià)格會(huì)偏離均衡價(jià)格,但是長期來看,價(jià)格與均衡價(jià)格之間的距離會(huì)越來越小。在證券市場上,價(jià)格由于某個(gè)未知的原因與價(jià)值發(fā)生分離,但最終會(huì)向股票的內(nèi)在價(jià)值進(jìn)行回歸。
技術(shù)性投資是第二種常見的投資方法,具體是以市場行為作為研究對(duì)象,以判斷市場趨勢和伴隨的周期性變化對(duì)股票及其金融衍生物交易決策進(jìn)行投資的方法。技術(shù)性投資必須依賴于技術(shù)分析。技術(shù)分析以股票價(jià)格漲跌作為主要研究對(duì)象,通過圖表和技術(shù)性指標(biāo),對(duì)股票市場波動(dòng)規(guī)律進(jìn)行總結(jié)和對(duì)股價(jià)未來運(yùn)行趨勢進(jìn)行預(yù)測。
然而,大數(shù)據(jù)和人工智能時(shí)代,傳統(tǒng)的投資方法已經(jīng)適應(yīng)不了社會(huì)的需求,目前前沿的投資方法為量化投資。量化投資依賴統(tǒng)計(jì)和計(jì)量方法,建立合適的投資策略,并通過計(jì)算機(jī)自動(dòng)化(半自動(dòng)化)交易方法獲取投資利潤,是統(tǒng)計(jì)、計(jì)算機(jī)和金融學(xué)科交叉結(jié)合的產(chǎn)物。智能化量化投資是金融領(lǐng)域的重點(diǎn)研究方向。如2000年以來,高盛公司逐漸研發(fā)具有復(fù)雜算法系統(tǒng)的自動(dòng)化交易機(jī)器人來代替交易員,特別是近五年來在正在加速,到目前為止,機(jī)器已經(jīng)取代了600多個(gè)關(guān)鍵性的交易員(Chavez,2017)。然而這只是國外美好的景象,國內(nèi)量化投資尚處于發(fā)展初期。如金融機(jī)構(gòu)研發(fā)的智能投顧,其投資策略和風(fēng)格都是比較經(jīng)典的方法,主要適合缺乏金融知識(shí)的個(gè)體投資者服務(wù),離專業(yè)化的投資,取代交易員的角度,尚有較大的差距。
產(chǎn)生這種差距的原因是國內(nèi)量化投資處于初步發(fā)展階段,其研究和教學(xué)方面正處于研究和探索階段。目前設(shè)置的量化投資專業(yè)或方向的國內(nèi)院校只有上海財(cái)經(jīng)大學(xué)的金融工程與量化投資專業(yè),課程設(shè)置和教學(xué)目標(biāo)等各方面都處于探索過程中。其他高校更多的是偏向金融工程方向,雖然與量化投資相似,但仍存在較大的差異:金融工程主要偏向理論方面,如注重資產(chǎn)定價(jià)和風(fēng)險(xiǎn)管理等理論;而量化投資更偏向?qū)崉?wù),注重投資策略,需要深入結(jié)合統(tǒng)計(jì)和計(jì)算機(jī)知識(shí)。
課程建設(shè)方面,國內(nèi)真正開設(shè)量化投資方面課程的院校也非常罕見,更多的是在統(tǒng)計(jì)或金融等專業(yè)課程,結(jié)合金融和計(jì)算機(jī)知識(shí),涉及量化投資的相關(guān)內(nèi)容,而沒有專門的課程對(duì)量化投資及其實(shí)踐進(jìn)行系統(tǒng)性研究。
在國內(nèi)大量需求的背景下,有必要開設(shè)《量化投資實(shí)踐》課程,從而彌補(bǔ)理論與實(shí)踐的空缺。毫無疑問,量化投資實(shí)踐注重計(jì)算機(jī)的結(jié)合,通過自動(dòng)化編程對(duì)策略進(jìn)行分析。因此,《量化投資實(shí)踐》課程更注重實(shí)踐,具體以軟件為媒介,如以Matlab、R或Python等量化投資工具,構(gòu)建投資策略進(jìn)行分析,究竟選擇何種軟件作為教學(xué)工具,下面從三個(gè)角度進(jìn)行探討。
第一,從經(jīng)濟(jì)的角度來看。Matlab是收費(fèi)版本(學(xué)生版大概500元左右,教育版大概30萬以上),R語言和Python是免費(fèi)版本。由此而衍生相關(guān)問題。工具箱或包的維護(hù)問題。收費(fèi)版本就是每年運(yùn)用時(shí)需要一定的成本,由此衍生出對(duì)應(yīng)的工具箱和函數(shù),有專業(yè)的人員進(jìn)行維護(hù)和更新,如Trading toolbox工具箱,開發(fā)雖然比較晚,但總體來看會(huì)越來越完善;免費(fèi)版本及相關(guān)工具包是免費(fèi)的,對(duì)應(yīng)的函數(shù)更多是個(gè)人或組織無償提供維護(hù)或更新,包的質(zhì)量也良莠不齊,如R語言以quantstrat為核心的系列包,主要從統(tǒng)計(jì)的角度,開發(fā)比較早,整體來看算是量化中最完善的系統(tǒng)和框架,但隨著這些開發(fā)者已經(jīng)進(jìn)入到量化投資的崗位中去,包的免費(fèi)開發(fā)和維護(hù)頻率必然會(huì)越來越低。Python開發(fā)的包更多是從工程師的角度,與C語言結(jié)構(gòu)類似,但省略了指針等問題帶來的煩惱,開發(fā)的工具包如numpy、scipy、pandas和matplotlib等,開發(fā)的頻率和維護(hù)與R語言一樣,需要看開發(fā)者自身情況了。
同時(shí)帶來的還有系統(tǒng)性的學(xué)習(xí)問題。收費(fèi)版本,必然是顧客至上,matlab可以從官網(wǎng)獲取系統(tǒng)性的學(xué)習(xí)資料,還有各國語言的系統(tǒng)性資料,學(xué)習(xí)過程中碰到問題,甚至還可以向在線客服或郵箱發(fā)郵件咨詢;免費(fèi)版本不用說,會(huì)給出一些demo之類的案例供讀者分享已經(jīng)是很不錯(cuò)了,或者會(huì)給出簡單的學(xué)習(xí)資料已經(jīng)算很走運(yùn)了,深入的學(xué)習(xí),別無他途,只能靠自我仔細(xì)分析函數(shù)的理論基礎(chǔ)和用法,這也是學(xué)習(xí)曲線陡峭的根本原因。如R語言的quantstrat系統(tǒng)包學(xué)習(xí)資料較少,除了自帶的demo,網(wǎng)上很少有詳細(xì)且系統(tǒng)的學(xué)習(xí)資料。學(xué)習(xí)過程中,只能按照demo不斷去測試。
第二,量化框架的系統(tǒng)性。系統(tǒng)性的量化框架搭建,其實(shí)更多的是程序員的工作,對(duì)于投資者特別是個(gè)體投資者而言,沒必要去搭建這樣的系統(tǒng),最好已經(jīng)有比較成熟的框架模板,基于此開發(fā)策略就行了。這個(gè)模板需要包括數(shù)據(jù)獲取、數(shù)據(jù)整理、策略構(gòu)建、績效評(píng)價(jià)等各個(gè)框架。Matlab在量化方面,近來年正在緊鑼密鼓跟進(jìn),比如已經(jīng)開發(fā)和正在完善中的Trading Toolbox,功能逐漸強(qiáng)大,python有比較多的回測包如zipline和backtrader等,但都是分散性的工具且功能有限,最精彩和系統(tǒng)性的框架還屬于R語言的quantstrat等工具包組成的系統(tǒng)。
最后,策略及其績效分析。策略構(gòu)建的過程中,需要涉及到具體的統(tǒng)計(jì)分析,因此創(chuàng)意的策略及思路,需要信賴強(qiáng)大的統(tǒng)計(jì)功能。R語言本來就是為統(tǒng)計(jì)而開發(fā)的,matlab統(tǒng)計(jì)功能類似,但語法相對(duì)比R復(fù)雜。Python的統(tǒng)計(jì)功能就相對(duì)較差,工具包的數(shù)量和統(tǒng)計(jì)的功能都不如R強(qiáng)大。
綜合考慮起來,本課程比較好的選擇是以R語言為量化投資工具進(jìn)行研究。對(duì)應(yīng)的先修課程為《證券投資分析》、《金融時(shí)間序列分析》、《統(tǒng)計(jì)學(xué)》、《多元統(tǒng)計(jì)分析》、《金融工程》和《R語言基礎(chǔ)》等。
《量化投資實(shí)踐》課程適合統(tǒng)計(jì)學(xué)科和金融學(xué)科相關(guān)專業(yè)必修和選修,具體如統(tǒng)計(jì)學(xué)、應(yīng)用統(tǒng)計(jì)學(xué)、金融學(xué)、投資學(xué)和金融工程等專業(yè)。
在此基礎(chǔ)上設(shè)定教學(xué)目標(biāo),具體通過本課程的學(xué)習(xí),能夠掌握金融數(shù)據(jù)的處理及分析,在掌握技術(shù)性投資理論基礎(chǔ)上,利用R語言構(gòu)建量化投資策略,對(duì)歷史數(shù)據(jù)進(jìn)行回測,而且能夠進(jìn)一步對(duì)策略進(jìn)行優(yōu)化,從而得到最優(yōu)結(jié)果。同時(shí)在掌握多因子選股理論基礎(chǔ)上,會(huì)選取指標(biāo)數(shù)據(jù),并編程進(jìn)行主成分和多因子分析,根據(jù)因子得分結(jié)果對(duì)股票進(jìn)行篩選構(gòu)建股票池。
在先修課程和教學(xué)目標(biāo)確定好之后,對(duì)應(yīng)的教學(xué)內(nèi)容總共分為五個(gè)章節(jié),具體如下:
第一章:數(shù)據(jù)篇。介紹利用R語言通過不同的方法獲取不同來源的數(shù)據(jù)并對(duì)數(shù)據(jù)的質(zhì)量進(jìn)行相關(guān)比較分析。具體利用Quantmod工具包、網(wǎng)絡(luò)爬蟲、通達(dá)信軟件轉(zhuǎn)換等不同的方式,獲取股票數(shù)據(jù)和對(duì)應(yīng)的財(cái)務(wù)指標(biāo)數(shù)據(jù)。第二章:投資基本分析與策略。包括通達(dá)信的相關(guān)選股功能利用R語言實(shí)現(xiàn),進(jìn)一步介紹時(shí)間序列相關(guān)模型在投資中的運(yùn)用和簡單策略分析。具體有收益率的相關(guān)分析、板塊指數(shù)排行榜分析、中金股和匯金股分析,并結(jié)合時(shí)間序列單位根和協(xié)整方法對(duì)買賣機(jī)會(huì)進(jìn)行簡單的判別和分析。第三章:詳細(xì)量化投資回測系統(tǒng)。具體介紹R語言中quantstrat與PortfolioAnalytics為主的工具包系統(tǒng)。如何利用此系列工具包構(gòu)建策略,從增加指標(biāo)、增加交易信號(hào)和增加交易規(guī)則等各方面進(jìn)行詳細(xì)研究,在此基礎(chǔ)上構(gòu)建量化投資策略進(jìn)行回測及對(duì)策略進(jìn)行優(yōu)化的過程。第四章:系統(tǒng)性量化投資案例。具體利用第四章的框架,構(gòu)建經(jīng)典和前沿的策略,比如趨勢策略、均值反轉(zhuǎn)策略、人工神經(jīng)網(wǎng)絡(luò)策略、支持向量機(jī)策略和套利策略。這些策略需要技術(shù)性投資知識(shí)和機(jī)器學(xué)習(xí)知識(shí),建議學(xué)生用自學(xué)機(jī)器學(xué)習(xí)相關(guān)內(nèi)容,特別是機(jī)器學(xué)習(xí)的軟件實(shí)現(xiàn)過程。第五章:實(shí)盤交易平臺(tái)及策略。主要介紹基于Java的量化投資實(shí)盤系統(tǒng),如何基于實(shí)盤系統(tǒng)進(jìn)行自動(dòng)化交易。
總體而言,通過《量化投資實(shí)踐》系統(tǒng)性的學(xué)習(xí),使學(xué)生能夠在掌握金融學(xué)理論的基礎(chǔ)上,結(jié)合計(jì)算機(jī)軟件構(gòu)建量化投資策略,從而盡量與實(shí)踐接軌。
參考文獻(xiàn):
[1]杜紅軍.金融學(xué)專業(yè)《量化投資》課程建設(shè)思考[J].教育教學(xué)論壇,2017,(49):69-72.
[2]趙周華.金融類專業(yè)開設(shè)“量化投資”課程的必要性和可行性分析[J].當(dāng)代教育理論與實(shí)踐,2016,8(12):74-76.
[3]高祥寶.量化投資創(chuàng)新性實(shí)驗(yàn)教學(xué)探索[J].實(shí)驗(yàn)室研究與探索,2016,35(8):281-284.
[4]高志.金融工程專業(yè)人才培養(yǎng)本科《量化投資實(shí)驗(yàn)》教學(xué)設(shè)計(jì)研究[J].經(jīng)濟(jì)研究導(dǎo)刊,2014,(18):61-62.