開拓者量化網(wǎng) 資訊頻道 程序化交易 交易心得 蒙特卡洛算法在程序化研究中簡單應(yīng)用

[轉(zhuǎn)] 蒙特卡洛算法在程序化研究中簡單應(yīng)用(4圖)

2015-04-22 11:38 來源: 和訊網(wǎng) 瀏覽:1906 評論:(1) 作者:開拓者金融網(wǎng)

近年來,程序化交易發(fā)展愈來愈火爆,傳統(tǒng)的程序化研究一直致力于各種成熟指標(biāo)的組合,如將MACD和均線指標(biāo)結(jié)合起來,在各種期貨合約品種上應(yīng)用,尋求最佳的歷史回測效果;另外還有投資者利用自己對盤面的獨(dú)特了解,建立個(gè)人自定義的指標(biāo);然而隨著市場越來越多地程序化研究越來越深入,程序化交易方法基本是從市場價(jià)格和成交持倉信息出發(fā),通過數(shù)學(xué)計(jì)算,構(gòu)建交易模型,這也是造成模型同質(zhì)化的根本原因,因?yàn)榇蠹医5某霭l(fā)點(diǎn)過于一致。目前市場對于程序化研究主要從宏觀和微觀兩個(gè)方面深入。宏觀方面,投資者可以基于更多的市場信息開發(fā)新型的交易模型,主要有以下幾種模式:


第一,基本面數(shù)據(jù)建模。可以從CPI、PPI、貨幣發(fā)行量等宏觀經(jīng)濟(jì)指標(biāo)出發(fā),建立擇時(shí)交易系統(tǒng),這種方法為多為機(jī)構(gòu)應(yīng)用。對于期貨市場,每個(gè)品種都有供需方面的統(tǒng)計(jì)數(shù)據(jù),投資者可以結(jié)合對這些數(shù)據(jù)的理解,使用數(shù)學(xué)方法分析數(shù)據(jù),形成多空判斷;


第二,利用數(shù)據(jù)挖掘技術(shù)分析新聞事件,在深入分析可能造成市場異常波動(dòng)的事件基礎(chǔ)上,把握交易時(shí)機(jī),獲得超額投資回報(bào);


第三,基于現(xiàn)貨市場的走勢,比如,對于建立在滬深300指數(shù)上的股指期貨,可以利用指標(biāo)股的走勢建模,選擇對指數(shù)影響大的權(quán)重股,構(gòu)建領(lǐng)先指標(biāo)進(jìn)行交易。


微觀方面,筆者認(rèn)為,可以講傳統(tǒng)的指標(biāo)組合方法進(jìn)行升華,引入在物理數(shù)學(xué)中成熟的數(shù)學(xué)模型,改進(jìn)傳統(tǒng)的程序化交易模型,如運(yùn)用數(shù)值計(jì)算中的蟻群算法和模擬退火算法等,本文介紹的也是數(shù)值計(jì)算中的蒙特卡洛算法。


蒙特卡洛(Monte Carlo,簡稱MC)方法,也稱統(tǒng)計(jì)模擬方法,或稱計(jì)算機(jī)隨機(jī)模擬方法,最早是由法國布豐等數(shù)學(xué)家提出用來分析一些科學(xué)現(xiàn)象的仿真方法,它是一種以概率統(tǒng)計(jì)理論為指導(dǎo)的一類非常重要的數(shù)值計(jì)算方法,是指使用隨機(jī)數(shù)(或更常見的偽隨機(jī)數(shù))來解決很多計(jì)算問題的一種方法。MC方法的基本思想是:為了求解數(shù)學(xué)、物理或工程技術(shù)等方面的問題,首先建立一個(gè)概率模型或隨機(jī)過程,使其某個(gè)參數(shù)等于問題的解,然后通過對模型或過程的觀察或抽樣試驗(yàn)來計(jì)算所求參數(shù)的統(tǒng)計(jì)特征,最后給出所求解的近似值。


金融市場充滿了確定性和不確定性,因此形成的數(shù)字化變量也是具有確定性和隨機(jī)性兩種特征,而蒙特卡洛算法本身就屬于一類隨機(jī)算法,利用盡可能多的模型采樣,尋求近似近似最優(yōu)解,在金融市場中可以理解為盡可能的尋找市場的確定性方向。


目前市場上比較流行的一種方法是雙均線突破系統(tǒng),然而這種系統(tǒng)面臨的問題表現(xiàn)在兩個(gè)方面:1.在市場噪音較大時(shí),無法有效地給出買賣信號;2.雙均線的參數(shù)無法有效確定,基于這一現(xiàn)狀,筆者考慮引入蒙特卡洛算法,改善傳統(tǒng)雙均線突破系統(tǒng)。


基于蒙特卡洛算法的雙均線系統(tǒng)主要過程如下:


1.      首先確定系統(tǒng)兩個(gè)參數(shù)樣本空間Q和P,初始化多頭指標(biāo)B=0,空頭指標(biāo)S=0;


2.      從樣本Q和P中從隨機(jī)抽取參數(shù)m和n,其中m>n;


3.      m周期均線值MA1,m周期均線值MA2,當(dāng)MA1>MA2,S=S+1;當(dāng)MA1<MA2,B=B+1;


4.      重復(fù)執(zhí)行K次,統(tǒng)計(jì)多空指標(biāo)S值和B值;


5.      確認(rèn)買賣信號,S>L時(shí),系統(tǒng)發(fā)出賣信號,B>L時(shí),系統(tǒng)發(fā)出買信號(其中L為系統(tǒng)參數(shù),L<K)。


在交易開拓者中實(shí)現(xiàn)基于蒙特卡洛算法改進(jìn)雙均線系統(tǒng),測試螺紋鋼指數(shù)期貨30分鐘合約,測試時(shí)間為:2009.03.27—2015.04.01,手續(xù)費(fèi)設(shè)為每手5元,主要效果如圖1和圖2所示:

b_ECC94A7CC2F823F644E9A5866318F6C2111111.jpg

b_5EF79BF642C24EFC21EF6C9D632D9CBA2222222.jpg

從測試效果來看,運(yùn)用蒙特卡洛算法改進(jìn)原來的系統(tǒng)后,策略效果表現(xiàn)良好,總體績效曲線呈現(xiàn)穩(wěn)步向上的走勢,從具體交易 信號來看,每次進(jìn)出場信號比較及時(shí),能抓住幾乎每一波大趨勢,同時(shí)也過濾了市場中的噪音信號,總體交易次數(shù)比較少,具體策略指標(biāo)如圖3所示。

b_21090308B744AC0832C3D114D734105A3333333.jpg

從策略指標(biāo)來看,總體交易次數(shù)較少,只有32次,說明這個(gè)系統(tǒng)可以認(rèn)為是抓取大趨勢的指標(biāo),類似于日線級別指標(biāo),同時(shí)整體收益不錯(cuò),達(dá)到了66060,優(yōu)于一般的日線指標(biāo)。為了更好的說明改進(jìn)效果,將基于蒙特卡洛雙均線系統(tǒng)和傳統(tǒng)雙均線系統(tǒng)各項(xiàng)指標(biāo)對比,其中傳統(tǒng)爽均線系統(tǒng)選取均線參數(shù)為(10,20),如下表1所示:

b_761A756DE6D0A923C130B9FD1AFC3534444444.jpg

從表1中各項(xiàng)指標(biāo)的對比可以看出,經(jīng)過引入蒙特卡洛算法,提高了雙均線系統(tǒng)的盈利能力,收益能力提高了近50%;減少了交易次數(shù),從178次減少到32次;回撤效果也有一定的改善,顯著提高了原程序化交易系統(tǒng)性能。


    從本文的實(shí)例看出,蒙特卡洛方法以概率統(tǒng)計(jì)理論為其主要理論基礎(chǔ),以隨機(jī)抽樣(隨機(jī)變量的抽樣)為其主要手段,通過相當(dāng)大的重復(fù)抽樣獲取最優(yōu)解。在程序化交易系統(tǒng)中引入蒙特卡洛算法時(shí),首先應(yīng)確定抽樣樣本空間,然后構(gòu)造算法目標(biāo)函數(shù),最后進(jìn)行重復(fù)隨機(jī)抽樣,獲取最優(yōu)目標(biāo)函數(shù),指示買賣信號。


     程序化交易在中國起步較晚但是發(fā)展迅猛,尤其是過去兩年,程序化交易在國內(nèi)期貨市場發(fā)展的速度,超乎了很多人的意料。而傳統(tǒng)的程序化系統(tǒng)使用者越來越多,市場中策略不可避免會(huì)出現(xiàn)同質(zhì)化現(xiàn)象,造成策略失效。在這種情況下,筆者認(rèn)為通過引入數(shù)學(xué)物理中經(jīng)典算法改進(jìn)原有交易系統(tǒng),可以在一定程度上達(dá)到更好的效果,而在其中過程中,我們也可以體會(huì)到數(shù)學(xué)之美。


評分:     3

評論列表(1)
第 1- 1 條, 共 1 條.
  1. lwg25166414 #1 | lwg25166414
    2016-05-24 20:58:01
    在tb怎么實(shí)現(xiàn)???

您需要 [注冊] 或  [登陸] 后才能發(fā)表點(diǎn)評