最近有朋友咨詢我一些關(guān)于量化交易的問(wèn)題,想讓我給予一些指導(dǎo)。我之前沒(méi)接觸過(guò)該領(lǐng)域,因此我也去網(wǎng)上查了查資料,也算入入門(mén)。作為一個(gè)新手,我對(duì)于量化交易的理解大概就像機(jī)器學(xué)習(xí)一樣,通過(guò)計(jì)算機(jī)讀取股票等證券交易數(shù)據(jù),然后經(jīng)過(guò)歷史數(shù)據(jù)的訓(xùn)練來(lái)找到好的交易策略或選股規(guī)則,最后放在股市或其他證券市場(chǎng)上進(jìn)行自動(dòng)交易。但是在網(wǎng)絡(luò)搜集資料的時(shí)候,由于量化交易的相關(guān)資料太多,一時(shí)有眼花繚亂之感,反倒不容易找到合適的入門(mén)材料,有些入門(mén)材料要么就直接把量化交易的代碼貼上,也不仔細(xì)講;有些要么直接講起量化交易的專門(mén)知識(shí),比如策略編寫(xiě)、回測(cè)等等,搞得人一頭霧水。
實(shí)際上,量化交易與機(jī)器學(xué)習(xí)有很類似地方,但是由于量化交易屬于金融領(lǐng)域的技術(shù)應(yīng)用,并且訓(xùn)練的都是動(dòng)態(tài)數(shù)據(jù)與高頻數(shù)據(jù),且專注于未來(lái)收益,因此有其自身的操作模式,以及專業(yè)術(shù)語(yǔ)。本人經(jīng)過(guò)一天多的了解,對(duì)此有了初步了解,且也知道了如何做出一個(gè)簡(jiǎn)單的交易策略,在此與大家分享一下,以幫助大家更好地入門(mén),避免走彎路。由于了解的不多,可能有一定的認(rèn)知偏誤,還請(qǐng)大家多多諒解。
- 什么是量化交易
量化交易的概念很多地方都有講到,這個(gè)大家也很容易理解,說(shuō)白了就是用計(jì)算機(jī)技術(shù)將人的交易方式定量化,一方面可以通過(guò)計(jì)算機(jī)技術(shù)的訓(xùn)練與模擬,從龐大的歷史數(shù)據(jù)中海選能帶來(lái)超額收益的多種“大概率”事件以制定策略,并通過(guò)回測(cè)與評(píng)估來(lái)找到固定的交易模式與規(guī)則,另一方面計(jì)算機(jī)還可以嚴(yán)格執(zhí)行已固化的策略來(lái)指導(dǎo)投資,避免人的非理性行為所帶來(lái)的交易沖動(dòng)。
由于量化交易是計(jì)算機(jī)技術(shù)與金融的結(jié)合,因此它會(huì)有很多專業(yè)的概念,比如交易策略、回測(cè)、編譯運(yùn)行、運(yùn)行回測(cè)、評(píng)估等等,有些很高深的交易方式還是以金融理論為基礎(chǔ)的,比如雙均線、beta策略、配對(duì)交易、多因子選股等等。。
但是對(duì)于初學(xué)者來(lái)說(shuō),這些深?yuàn)W的內(nèi)容不需要一開(kāi)始就知道,我們可以從一個(gè)簡(jiǎn)單的初級(jí)策略入手,這樣就可以對(duì)量化交易有一個(gè)直接認(rèn)識(shí),在此基礎(chǔ)上慢慢了解即可。
- 量化交易的基本流程

在這里量化交易也遵循著一般的數(shù)據(jù)分析流程,包括輸入數(shù)據(jù)、通過(guò)一系列分析構(gòu)建相應(yīng)模型,然后對(duì)模型進(jìn)行驗(yàn)證和評(píng)估(即策略回測(cè)、策略分析、模擬交易),最后用于實(shí)際的預(yù)測(cè)和應(yīng)用(實(shí)盤(pán)交易)。所以,在這里的策略回測(cè)就是通過(guò)真實(shí)的歷史數(shù)據(jù)對(duì)策略有效性的驗(yàn)證,避免為錯(cuò)誤的策略付出昂貴的代價(jià)。由于量化交易關(guān)系的經(jīng)濟(jì)損失,且金融市場(chǎng)的波動(dòng)性太大,所以其數(shù)據(jù)分析過(guò)程要比一般的項(xiàng)目復(fù)雜,需要反復(fù)驗(yàn)證與評(píng)估,以保證結(jié)果的穩(wěn)定。
另外,對(duì)于有些量化交易,不一定需要數(shù)據(jù)挖掘過(guò)程,可以結(jié)合自己已有的交易策略來(lái)直接構(gòu)建策略,比如簡(jiǎn)單的MACD均線交叉策略,或者某幾個(gè)交易日的交易量與漲跌幅的波動(dòng)關(guān)系,直接構(gòu)建策略,這就是簡(jiǎn)單的量化交易策略。
-
一個(gè)簡(jiǎn)單的量化交易入門(mén)示范
目前很多量化交易平臺(tái)的語(yǔ)言都支持Python,下面我就以米筐(RiceQuant)為例,帶你生成一個(gè)簡(jiǎn)單的量化交易策略。下圖就是米筐的首頁(yè),點(diǎn)擊右上角的登錄,可以通過(guò)手機(jī)驗(yàn)證碼的方式進(jìn)行快速,也可以通過(guò)下邊的微信登錄。
這里講一講如何入門(mén)一個(gè)簡(jiǎn)單的量化交易。
首先,要說(shuō)的是對(duì)于量化交易,數(shù)據(jù)很重要,一方面需要獲取數(shù)據(jù)來(lái)進(jìn)行分析、回測(cè),同時(shí)也需要將訓(xùn)練后的數(shù)據(jù)用于模擬交易、真實(shí)交易,這樣才能保證量化交易的有效性。而對(duì)于證券交易來(lái)說(shuō),數(shù)據(jù)樣本量較大且波動(dòng)較大,只有在很長(zhǎng)的時(shí)間段進(jìn)行回測(cè)與評(píng)估,才能更好地得到分析結(jié)果,因此,對(duì)于量化交易來(lái)說(shuō),第一個(gè)問(wèn)題就是重要的問(wèn)題就是獲取數(shù)據(jù)的問(wèn)題。要對(duì)數(shù)據(jù)進(jìn)行收集、存儲(chǔ)、清洗、更新,以及數(shù)據(jù)取用時(shí)的便捷、速度、穩(wěn)定。
第二,量化交易的目的是用于證券交易,當(dāng)一個(gè)驗(yàn)證過(guò)的量化交易策略形成后,就要被投入真實(shí)的股票等市場(chǎng)中,用于獲取收益,這是一個(gè)動(dòng)態(tài)的實(shí)時(shí)變化的數(shù)據(jù)池,且交易(買(mǎi)入/賣(mài)出)時(shí)機(jī)稍縱即逝,需要不斷監(jiān)控?cái)?shù)據(jù)變化,并及時(shí)作出有效的交易指令。還要有一套量化交易的系統(tǒng),要有能編寫(xiě)策略、執(zhí)行策略、評(píng)測(cè)策略的系統(tǒng)。
從這兩個(gè)角度來(lái)說(shuō),量化交易不能像普通的數(shù)據(jù)分析或機(jī)器學(xué)習(xí)項(xiàng)目,我可以搜集以往數(shù)據(jù)并存入到表格(CSV格式等)或數(shù)據(jù)庫(kù)(SQL),通過(guò)訓(xùn)練好的模型再對(duì)需要預(yù)測(cè)的數(shù)據(jù)集進(jìn)行預(yù)測(cè)。標(biāo)準(zhǔn)的量化交易一定要與一個(gè)有很多歷史數(shù)據(jù)以及不斷動(dòng)態(tài)變化的實(shí)時(shí)證券數(shù)據(jù)相連接,這樣才能讀取數(shù)據(jù)并將交易策略返回到證券市場(chǎng)進(jìn)行驗(yàn)證。
因此,從目前來(lái)說(shuō),實(shí)現(xiàn)一個(gè)量化交易都需要依附在相應(yīng)的平臺(tái)上,要么是量化交易軟件(文華財(cái)經(jīng)等)、互聯(lián)網(wǎng)在線量化投資平臺(tái)(聚寬、優(yōu)礦、米筐等)、數(shù)據(jù)提供商(萬(wàn)得、Tushare等)。即便你使用爬蟲(chóng)等爬取或下載了一些離線數(shù)據(jù)來(lái)自己做策略,那么后期的回測(cè)與模擬交易都是個(gè)問(wèn)題。所以,成熟的量化交易都需要一個(gè)平臺(tái)來(lái)支撐。
登錄后就會(huì)出現(xiàn)米筐提供的一些簡(jiǎn)單的交易策略,如下:image.png
在這里我們選擇股指期貨MACD日回測(cè)(之所以選擇該策略,是因?yàn)樵摬呗缘拇a解釋比較詳細(xì),大家可以明白每一步代碼的含義,不了解MACD的可以參考相關(guān)資料),點(diǎn)擊右邊的code,就會(huì)進(jìn)入一個(gè)交易策略編輯界面:image.png左邊就是編制好的股指期貨MACD日回測(cè)代碼,我們可以看到兩個(gè)def函數(shù)組成的,其中def init(context)是定義一些初始內(nèi)容,它通過(guò)傳入?yún)?shù)context,并對(duì)其進(jìn)行設(shè)定來(lái)完成的,如context.s1 = 'IF1606',就是設(shè)定本次交易對(duì)象為股指期貨合約IF1606,接下來(lái)就是一些均線設(shè)置;def handle_bar(context, bar_dict):則是一些交易指令(買(mǎi)入/賣(mài)出)的觸發(fā)邏輯。image.png
右邊則是選擇你這個(gè)策略的回測(cè)時(shí)間、交易金額,然后點(diǎn)擊運(yùn)行回測(cè),就會(huì)出現(xiàn)一個(gè)比較簡(jiǎn)單的量化交易策略實(shí)現(xiàn)界面:
紅線就是你的交易策略的收益情況,由于這里設(shè)置的比較簡(jiǎn)單,沒(méi)有基準(zhǔn)收益對(duì)比,也沒(méi)有均線變化趨勢(shì),以及買(mǎi)點(diǎn)與賣(mài)點(diǎn)標(biāo)注,所以這個(gè)是比較簡(jiǎn)單的量化交易策略回測(cè)圖形。image.png
在此基礎(chǔ)上,大家可以修改相應(yīng)代碼或創(chuàng)建自己的交易策略,應(yīng)用更好的平臺(tái)數(shù)據(jù),來(lái)進(jìn)行更復(fù)雜的量化交易。



