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

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

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

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


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


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


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


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


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


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


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


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


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


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


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


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


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


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

b_ECC94A7CC2F823F644E9A5866318F6C2111111.jpg

b_5EF79BF642C24EFC21EF6C9D632D9CBA2222222.jpg

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

b_21090308B744AC0832C3D114D734105A3333333.jpg

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

b_761A756DE6D0A923C130B9FD1AFC3534444444.jpg

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


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


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


評分:     3

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

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