既然您已經(jīng)點(diǎn)進(jìn)來(lái)這篇文章,應(yīng)該就不需要我再?gòu)?qiáng)調(diào)目前量化金融是多么火爆,前景多么廣闊了吧?那我們就直接開(kāi)門(mén)見(jiàn)山。

量化金融其實(shí)是一個(gè)交叉復(fù)合學(xué)科,需要掌握數(shù)學(xué)、計(jì)算機(jī)、金融等方面的知識(shí)。顯而易見(jiàn),對(duì)于金融學(xué)背景的同學(xué)來(lái)說(shuō),就需要另外學(xué)習(xí)計(jì)算機(jī)編程的知識(shí),而計(jì)算機(jī)背景的同學(xué)則需要補(bǔ)充金融知識(shí)。今天就跟大家分享一下,作為一個(gè)零編程基礎(chǔ)的金融學(xué)子,是如何入門(mén)量化金融的?

一、量化工具

01.編程語(yǔ)言:Python

工欲善其事,必先利其器。想要入門(mén)量化,學(xué)會(huì)一門(mén)編程語(yǔ)言是必不可少的。對(duì)于量化金融來(lái)說(shuō),主流的編程語(yǔ)言有Python、MATLAB、Java、C++等。

從開(kāi)發(fā)難度而言,Python和MATLAB比較容易,而Java和C++比較難;從運(yùn)行速度來(lái)說(shuō),C++是快的,因此常用于高頻交易。不過(guò)對(duì)于大部分量化投資者而言,尤其是初學(xué)者,開(kāi)發(fā)占用的時(shí)間遠(yuǎn)遠(yuǎn)大于運(yùn)行時(shí)間,如果追求運(yùn)行速度的話(huà),也可以先將策略開(kāi)發(fā)出來(lái),再使用C/C++重寫(xiě)高性能代碼段。

另外,從量化資源而言,Python資源更多,而且MATLAB是商業(yè)軟件,Python是開(kāi)源免費(fèi)的。所以綜上所述,如果是編程零基礎(chǔ)的同學(xué),入門(mén)量化的編程語(yǔ)言毋庸置疑是選擇Python。

至于Python的學(xué)習(xí),網(wǎng)上資源就很多了,在這里推薦一門(mén)《Python實(shí)操課程》,該課程是利用Python的語(yǔ)言的智能性、簡(jiǎn)潔性、高效性與金融的專(zhuān)業(yè)實(shí)戰(zhàn)相結(jié)合,使學(xué)習(xí)該語(yǔ)言的學(xué)員,具備語(yǔ)言匯編能力,將錯(cuò)綜復(fù)雜的金融數(shù)據(jù)進(jìn)行模塊化梳理,進(jìn)而建立科學(xué)的金融模型,協(xié)助做出*的投資決策,旨在幫助金融從業(yè)人員增強(qiáng)行業(yè)競(jìng)爭(zhēng)力。

Python

02 數(shù)據(jù)獲?。篢ushare & BaoStock

關(guān)于數(shù)據(jù)獲取,如果能有Wind那就再好不過(guò)啦,但是Wind很貴,如果沒(méi)有條件的同學(xué)可以使用免費(fèi)的數(shù)據(jù)源,比如Tushare和BaoStock。

Tushare是一個(gè)比較老牌的數(shù)據(jù)接口,包含滬深股票、指數(shù)、公募基金、期貨、期權(quán)、債券、外匯等多的金融數(shù)據(jù),現(xiàn)在老版Tushare已經(jīng)不在維護(hù),轉(zhuǎn)移到新版TusharePro了,使用方法依舊*簡(jiǎn)單,缺點(diǎn)是部分?jǐn)?shù)據(jù)需要一定積分才可以獲取。

而B(niǎo)aoStock是2018年的新數(shù)據(jù)接口,口碑也不錯(cuò),缺點(diǎn)是只針對(duì)股票市場(chǎng),期貨等市場(chǎng)還沒(méi)有涉及。不過(guò)對(duì)于入門(mén)選手來(lái)說(shuō),這兩個(gè)接口都是綽綽有余啦。個(gè)人用的比較多的是TusharePro,導(dǎo)入數(shù)據(jù)直接是DataFrame格式,方便。

03.量化平臺(tái)

量化平臺(tái)可以看成是一個(gè)已經(jīng)搭建好的框架。用戶(hù)只需添加一些自己的買(mǎi)賣(mài)條件,即可進(jìn)行策略回測(cè),免去了自己從無(wú)到有搭建基礎(chǔ)框架的過(guò)程。

目前國(guó)內(nèi)比較主流的量化平臺(tái)有優(yōu)礦、聚寬、米匡等。不過(guò)對(duì)于策略回測(cè)來(lái)講,僅使用Python就完全可以實(shí)現(xiàn)了,使用第三方平臺(tái)的缺點(diǎn)就是你得先琢磨好一陣子如何使用這個(gè)平臺(tái),而且重要的是很難摸清平臺(tái)所有細(xì)節(jié),難以把控。

04 其他工具

以上是做量化的一些基礎(chǔ)工具。另外根據(jù)策略類(lèi)型的不同,也會(huì)用到一些其他Python第三方庫(kù)。

數(shù)據(jù)庫(kù)推薦:SQLite

如果所做的策略需要存儲(chǔ)很多數(shù)據(jù),那么就需要一個(gè)數(shù)據(jù)庫(kù)配合使用。Python自帶sqlite3庫(kù),可以在python中方便的操作SQLite數(shù)據(jù)庫(kù)。

機(jī)器學(xué)習(xí):Scikit-learn(sklearn)

Scikit-learn(sklearn)是機(jī)器學(xué)習(xí)中常用的第三方模塊,對(duì)常用的機(jī)器學(xué)習(xí)方法進(jìn)行了封裝,包括回歸(Regression)、分類(lèi)(Classfication)、降維(Dimensionality Reduction)、聚類(lèi)(Clustering)等方法。網(wǎng)上搜學(xué)習(xí)資源、學(xué)習(xí)筆記的話(huà)也有*多。

技術(shù)分析:TA-Lib

TA-Lib,全稱(chēng)“Technical Analysis Library”, 即技術(shù)分析庫(kù),涵蓋了150多種股票、期貨交易軟件中常用的技術(shù)分析指標(biāo),如MACD、RSI、KDJ、動(dòng)量指標(biāo)、布林帶等等。

爬蟲(chóng)推薦:Beautifulsoup

BeautifulSoup4是爬蟲(chóng)必學(xué)的技能。BeautifulSoup*主要的功能是從網(wǎng)頁(yè)抓取數(shù)據(jù)。