版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、程序化交易中策略的實(shí)現(xiàn),測(cè)試和優(yōu)化畢業(yè)論文 程序化交易中策略的實(shí)現(xiàn),測(cè)試和優(yōu)化摘要:隨著以股指期貨為代表的金融衍生品的推出,我國(guó)金融市場(chǎng)變得日趨復(fù)雜多變,傳統(tǒng)的投資策略由于受到人類思維可以處理的信息量的限制、容易受到人類認(rèn)知偏差和個(gè)人情感的影響、缺少相應(yīng)風(fēng)險(xiǎn)控制策略的考慮,越來(lái)越不適合瞬息萬(wàn)變的現(xiàn)代金融市場(chǎng),引入已在國(guó)外金融市場(chǎng)得到廣泛應(yīng)用的程序化交易就顯得非常必要。程序化交易是近三十年來(lái)興起于歐美發(fā)達(dá)國(guó)家 結(jié)合現(xiàn)代數(shù)學(xué)理論和計(jì)算機(jī)技術(shù)的一種新的金融市場(chǎng)分析和投資方式,相比傳統(tǒng)的基本面分析和技術(shù)面分析而言,具有紀(jì)律性、系統(tǒng)性、及時(shí)性、準(zhǔn)確性和分散化的優(yōu)點(diǎn)。目前程序化交易方面的研究在發(fā)達(dá)國(guó)家市場(chǎng)
2、己經(jīng)相當(dāng)成熟,并且被廣泛的應(yīng)用于外匯、證券、期貨等市場(chǎng)。而在國(guó)內(nèi),由于受到期貨市場(chǎng)產(chǎn)品機(jī)構(gòu)單一、交易制度不夠靈活等限制,程序化交易發(fā)展緩慢。 本文結(jié)合程序化交易的發(fā)展歷程和國(guó)內(nèi)外程序化交易的發(fā)展現(xiàn)狀,采用理論研究和實(shí)證分析相結(jié)合的方法,以深圳開(kāi)拓者科技有限公司開(kāi)發(fā)的交易開(kāi)拓者軟件為平臺(tái),以其自帶的TB語(yǔ)言為基本語(yǔ)言,以股指期貨市場(chǎng)為基礎(chǔ),探討如何實(shí)現(xiàn)不同類型的可以持續(xù)盈利的交易策略。首先,本文介紹了程序化交易的意義、優(yōu)缺點(diǎn)和交易策略的分類;其次,介紹了一般交易策略的設(shè)計(jì)流程,并依此流程開(kāi)發(fā)出了若干種不同類型的交易策略,并對(duì)其進(jìn)行了測(cè)試和優(yōu)化;再次,介紹了對(duì)程序化交易來(lái)說(shuō)極其重要的風(fēng)險(xiǎn)控制和資金
3、管理思想、其常用的方法以及這些思想在交易策略中是如何實(shí)現(xiàn)的;最后,本文對(duì)程序化交易在中國(guó)金融市場(chǎng)發(fā)展的潛力和可能面臨的問(wèn)題做出了展望。關(guān)鍵詞:程序化交易,交易策略,風(fēng)險(xiǎn)控制,資金管理目錄1,概述1.1 程序化交易概述1.1.1 什么是程序化交易程序化交易又稱計(jì)算機(jī)交易、算法交易,是利用計(jì)算機(jī)技術(shù)并且采用一定的數(shù)學(xué)模型去踐行投資理念,實(shí)現(xiàn)投資策略的過(guò)程。與傳統(tǒng)的投資策略不同,程序化交易不是靠個(gè)人感覺(jué)或單一技術(shù)指標(biāo)來(lái)管理資產(chǎn),而是將適當(dāng)?shù)耐顿Y思想、投資經(jīng)驗(yàn)反映在量化模型中,利用電腦幫助人腦處理大量復(fù)雜的金融信息,幫助人腦總結(jié)市場(chǎng)的規(guī)律,建立可以重復(fù)使用并且反復(fù)優(yōu)化的投資策略,用來(lái)指導(dǎo)投資者(機(jī)構(gòu))
4、的投資決策并自動(dòng)實(shí)現(xiàn)交易的過(guò)程。幫助投資者不論在上漲或下跌的市場(chǎng)行情中,都能輕松抓住趨勢(shì)波段,進(jìn)而賺取波段獲利。1.1.2 和傳統(tǒng)投資策略相比的優(yōu)勢(shì)和劣勢(shì)傳統(tǒng)的投資策略,無(wú)論是基本面分析還是技術(shù)面分析,都存在著自身無(wú)法克服的缺點(diǎn):受到人類思維可以處理的信息量的限制;容易受到認(rèn)知偏差和人類情感的影響;更加強(qiáng)調(diào)收益率,對(duì)風(fēng)險(xiǎn)控制和資金管理缺乏考慮。程序化交易克服了這些缺點(diǎn),具有紀(jì)律性、系統(tǒng)性、及時(shí)性、準(zhǔn)確性、和分散化的特點(diǎn)。其中紀(jì)律性是指程序化交易中交易的進(jìn)行時(shí)按照交易策略中的思想進(jìn)行,不會(huì)隨著投資者情緒的變化而隨意更改,能夠克服貪婪、恐懼、僥幸等人類的弱點(diǎn),同時(shí)也能克服人類常見(jiàn)的認(rèn)知偏差,如損失
5、厭惡癥(指對(duì)避免損失有一種太過(guò)強(qiáng)烈的偏好,不能承擔(dān)風(fēng)險(xiǎn))、沉淀效應(yīng)(指更重視已經(jīng)花掉的錢,而忽視未來(lái)可能花掉的錢),處置效應(yīng)(指早早兌現(xiàn)利潤(rùn),卻讓損失繼續(xù)下去)、結(jié)果偏好(只會(huì)根據(jù)一個(gè)決策的結(jié)果來(lái)判斷策略的好壞,而不是考慮決策本身的質(zhì)量)、近期偏好(更重視近期的數(shù)據(jù)或經(jīng)驗(yàn),忽視歷史數(shù)據(jù)或經(jīng)驗(yàn))、錨定效應(yīng)(過(guò)于依賴容易獲得的信息)、潮流效應(yīng)(指盲目相信一件事,只因?yàn)樵S多人都相信它)、信奉小數(shù)(從太少的信息中得到?jīng)]有一句的結(jié)論)等;系統(tǒng)性是指程序化交易中包括了多層次的量化模型,多角度的觀察和海量數(shù)據(jù)的觀察,同時(shí)還融入了資金管理和風(fēng)險(xiǎn)控制的思想;及時(shí)性是指,程序化交易中能夠及時(shí)快速的跟蹤市場(chǎng)變化,并
6、能夠迅速捕捉有利的趨勢(shì)或波段,快速下單;準(zhǔn)確性是指能夠準(zhǔn)確評(píng)價(jià)交易機(jī)會(huì),克服主觀情緒偏差,妥善運(yùn)用套利思想;分散化是指在控制風(fēng)險(xiǎn)的條件下,引入投資組合的理念,靠概率而不是單個(gè)股票取勝。 程序化交易的缺點(diǎn)是相對(duì)于它的優(yōu)點(diǎn)而言的。首先就是嚴(yán)謹(jǐn)有余,而靈活不足,交易策略設(shè)定運(yùn)行后一般不提倡隨意的更改。另外,由于由于程序化交易每次的交易量很大,對(duì)市場(chǎng)的沖擊很大,一旦系統(tǒng)崩潰或者錯(cuò)誤,對(duì)金融市場(chǎng)可能造成毀滅性的打擊,如1987年美國(guó)的股災(zāi),程序化交易就和組合保險(xiǎn)一起被列為最大元兇。最后,由于程序化交易的研究要求有較高的金融知識(shí)和軟件背景,人才培育和硬件設(shè)施都需要大量的投資,更適合機(jī)構(gòu)投資者,客觀上造成了
7、對(duì)一般個(gè)體投資者的不公平。 1.1.3 國(guó)內(nèi)外發(fā)展現(xiàn)狀 程序化交易起源于20世紀(jì)70年代的美國(guó),很多的觀念和技術(shù)源于數(shù)理金融和計(jì)算機(jī)及網(wǎng)絡(luò)技術(shù)。目前程序化交易方面的研究在發(fā)達(dá)國(guó)家市場(chǎng)己經(jīng)相當(dāng)成熟,并且被廣泛的應(yīng)用于外匯、證券、期貨等市場(chǎng)。據(jù)統(tǒng)計(jì),倫敦股票交易所超過(guò)50%的交易額來(lái)自程序化交易,而美國(guó)市場(chǎng)則高達(dá)80%以上(數(shù)據(jù)來(lái)源于恒生銀行2012年年度報(bào)告)。此外,香港期貨交易所的恒生指數(shù)期貨和新加坡交易所的日經(jīng)指數(shù)期貨均采用程序化交易。在歐美發(fā)達(dá)國(guó)家,大部分養(yǎng)老基金和信托基金公司都使用程序化策略處理大額度的交易來(lái)降低沖擊成本,幾乎所有的投資經(jīng)理都使用程序化交易系統(tǒng)來(lái)輔助交易與資產(chǎn)管理。但是在
8、國(guó)內(nèi),由于期貨市場(chǎng)產(chǎn)品結(jié)構(gòu)太過(guò)單一、交易制度不夠靈活、市場(chǎng)流動(dòng)性較差、風(fēng)險(xiǎn)管理機(jī)制不夠完善等限制,程序化交易發(fā)展緩慢,直到2000年國(guó)內(nèi)才有一家期貨公司成立了將推廣程序化交易作為戰(zhàn)略重點(diǎn)的程序化交易研究小組。近年來(lái),隨著股指期貨等金融衍生品的推出,程序化交易的研究和應(yīng)用受到越來(lái)越多投資者特別是機(jī)構(gòu)投資者的重視。但是總體而言,國(guó)內(nèi)的程序化交易系統(tǒng)大多是復(fù)制國(guó)外的,和國(guó)內(nèi)金融市場(chǎng)的實(shí)際現(xiàn)狀有不少差異,和發(fā)達(dá)國(guó)家的程序化交易水平也有很大差距,程序化交易的研究和本地化在中國(guó)有著很大的發(fā)展空間。1.2 交易策略的概述1.2.1交易策略的核心意義 如果說(shuō)把服務(wù)器,網(wǎng)絡(luò)帶寬等基礎(chǔ)設(shè)施看做程序化交易的軀殼的話
9、,交易策略就是程序化交易的大腦和靈魂。它是投資者投資思想、投資經(jīng)驗(yàn)、投資理念的體現(xiàn),它決定了何時(shí)進(jìn)場(chǎng)、何時(shí)出場(chǎng)、如何管理資金、怎樣控制風(fēng)險(xiǎn),它的好壞直接關(guān)系到一個(gè)程序化交易系統(tǒng)的性能。1.2.2交易策略的分類交易策略的分類有以下多種方式:一,根據(jù)持倉(cāng)時(shí)間長(zhǎng)短不同,策略分為:長(zhǎng)線策略(指能夠)、中線策略和短線策略。二,根據(jù)交易頻率的不同,策略分為:日內(nèi)高頻交易和低頻交易。三,根據(jù)根據(jù)所參考技術(shù)指標(biāo)的不同,策略又可分為以下類型: 大勢(shì)型策略,指為大盤設(shè)計(jì)的專用策略,通常不在個(gè)股的分析研判中使用。 趨勢(shì)型策略,這類策略一般用到至少兩條線,當(dāng)兩條或以上線交叉時(shí),策略發(fā)出買賣信號(hào)。 均線型策略:這類策略
10、是通過(guò)不同算法得到的平均線技術(shù)指標(biāo),通過(guò)不同期限的均線穿越的情況來(lái)發(fā)出買賣信號(hào)。 路徑型策略:這類策略也稱為阻力支撐型策略,在期貨或股票的價(jià)格走勢(shì)圖上,常有所謂的阻力位和支撐位(如下圖),也即價(jià)格會(huì)在前期高點(diǎn)或低點(diǎn)價(jià)格處反彈的傾向(只是傾向,并不一定)。因此根據(jù)投資者是否相信支撐位和阻力位堅(jiān)守不破,這類策略又可分為趨勢(shì)跟蹤策略和反趨勢(shì)策略,采用趨勢(shì)跟蹤策略的投資者相信價(jià)格會(huì)突破阻力位或支撐位(也即在接近阻力位時(shí)會(huì)繼續(xù)上漲,在接近支撐位時(shí)會(huì)繼續(xù)下跌),他們會(huì)在阻力位被突破時(shí)買入做多,在支撐位被突破時(shí)賣出做空。在市場(chǎng)短期突破支撐位時(shí),他們賣出以退出多頭交易,在市場(chǎng)短期突破阻力位時(shí),他們買入以退出空
11、頭交易。而采用反趨勢(shì)交易策略的投資者們則相信價(jià)格不會(huì)突破阻力位或支撐位(也即在接近阻力位時(shí)會(huì)反彈,在接近支撐位時(shí)也會(huì)反彈),他們會(huì)在支撐位附近買入做多,在阻力位附近賣出做空,從而賺取之間的差價(jià)。 能量型策略:這類策略采用能量指標(biāo)作為市場(chǎng)行情判斷的依據(jù),銅材采用情緒指標(biāo)、心理線、成交量變異率、威廉多空力度線等能量指標(biāo)來(lái)判斷市場(chǎng)上多空力量(即買賣力量)的對(duì)比,判斷多空雙方的情緒是高亢還是沮喪。如果多方力量強(qiáng)于空方力量,此時(shí)價(jià)格有下跌趨勢(shì),應(yīng)做空;相反,如果空方力量強(qiáng)于多方力量,此時(shí)價(jià)格有上漲趨勢(shì),應(yīng)做多。成交量型策略:這類策略是指通過(guò)對(duì)與成交量存在聯(lián)系的技術(shù)指標(biāo)的判斷來(lái)判斷市場(chǎng)行情是利于空方還是多
12、方,從而判斷是做多還是做空。超賣超賣型策略:這種策略使用的指標(biāo)大多為判斷市場(chǎng)處于超買超賣狀態(tài),如果市場(chǎng)處于超買狀態(tài)(對(duì)股票、期貨等的過(guò)度買入),則股價(jià)隨時(shí)可能下跌,應(yīng)該做空;相反如果處于超賣狀態(tài)(對(duì)股票、期貨等的過(guò)度賣出),則股價(jià)隨時(shí)可能上升,應(yīng)該做多。常用的技術(shù)指標(biāo)有:CCI(即順勢(shì)指標(biāo),是專門用來(lái)測(cè)量股價(jià)是否已經(jīng)超出常態(tài)分布范圍)、KDJ(即隨機(jī)指標(biāo),是利用價(jià)格波動(dòng)的真實(shí)波幅來(lái)反映價(jià)格走勢(shì)的強(qiáng)弱和超買超賣現(xiàn)象,在價(jià)格尚未上升或者下降之前發(fā)出買賣信號(hào))、RSI(即相對(duì)強(qiáng)弱指標(biāo),是通過(guò)特定時(shí)期內(nèi)股價(jià)的變動(dòng)情況計(jì)算市場(chǎng)買賣力量對(duì)比,來(lái)判斷股票價(jià)格本質(zhì)強(qiáng)弱,推測(cè)股票價(jià)格未來(lái)變動(dòng)方向)、CMO(即C
13、handeMomentumOsciliator,錢德動(dòng)量擺動(dòng)指標(biāo),是由圖莎爾?錢德發(fā)明的,與其他動(dòng)量指標(biāo)擺動(dòng)指標(biāo)如相對(duì)強(qiáng)弱指標(biāo)(RSI)和隨機(jī)指標(biāo)(KDJ)不同,錢德動(dòng)量指標(biāo)在計(jì)算公式的分子中采用上漲日和下跌日的數(shù)據(jù)。在第三章的論述中,我們將介紹一個(gè)以此指標(biāo)為基礎(chǔ)編寫的超買超賣型策略)等。 在本文中,我們將以最后一種分類為主,特別討論筆者編寫的常用并且適合股指期貨市場(chǎng)的趨勢(shì)型、均線型、路徑型和超賣超賣型四種策略。并對(duì)每個(gè)策略所依據(jù)的原理、代碼實(shí)現(xiàn)、測(cè)試結(jié)果、優(yōu)化結(jié)果、模擬交易結(jié)果做詳細(xì)的說(shuō)明和解釋。1.2.3研究平臺(tái)、語(yǔ)言和市場(chǎng)概述 在本文中,我們使用的研究平臺(tái)是深圳開(kāi)拓者科技有限公司開(kāi)發(fā)的交
14、易開(kāi)拓者軟件。這是一款移植于國(guó)外的程序化交易軟件,是目前國(guó)內(nèi)市場(chǎng)占有率僅次于文華財(cái)經(jīng)的軟件,但是其函數(shù)庫(kù)以及系統(tǒng)自帶公式應(yīng)用比文華財(cái)經(jīng)更為強(qiáng)大,交易穩(wěn)定性方面也更為穩(wěn)定。策略編寫語(yǔ)言是交易開(kāi)拓者自帶的TB語(yǔ)言,而基本市場(chǎng)則選擇流動(dòng)性比較好的股指期貨市場(chǎng)(但是并不局限于此,很多策略還適合于其他市場(chǎng),將在第三章描述中詳細(xì)介紹)。2,不同類型交易策略的實(shí)現(xiàn)、測(cè)試和優(yōu)化2.1交易策略的設(shè)計(jì)流程 在下面幾節(jié)每個(gè)策略的開(kāi)發(fā)中,我們都使用下圖所示的設(shè)計(jì)流程: 首先,介紹策略所參考的技術(shù)指標(biāo),其核心思想,開(kāi)倉(cāng)平倉(cāng),止盈止損等條件;其次,介紹策略的代碼實(shí)現(xiàn);再次,介紹策略在股指期貨市場(chǎng)中歷史數(shù)據(jù)中的測(cè)試結(jié)果,最
15、后針對(duì)市場(chǎng)的具體行情進(jìn)行參數(shù)的優(yōu)化(可能還包括結(jié)構(gòu)的優(yōu)化),最后我們會(huì)進(jìn)入模擬盤利用當(dāng)前真實(shí)數(shù)據(jù)進(jìn)行檢驗(yàn),根據(jù)是否達(dá)到預(yù)期效果進(jìn)行模型的修改和完善。2.2趨勢(shì)型策略2.2.1空中花園策略 核心思想:這是一個(gè)日內(nèi)策略,主要是利用當(dāng)日開(kāi)盤的第一根K線是收陽(yáng)還是收陰來(lái)判斷日內(nèi)趨勢(shì)可能的運(yùn)動(dòng)方向,在當(dāng)日高開(kāi)或者低開(kāi)時(shí)最有效。這是最快的一種入場(chǎng)方式,盡管有著很高的出錯(cuò)概率,但是我們通過(guò)條件的判斷和止盈止損的加入,努力使錯(cuò)誤的判斷帶來(lái)的損失最小化,而使正確的判斷帶來(lái)的盈利最大化。 做多條件:1,當(dāng)日開(kāi)盤價(jià)昨日收盤價(jià)*(1+K); 2,當(dāng)前Bar的最高價(jià)當(dāng)日第一個(gè)Bar的最高價(jià)。如果1和2同時(shí)滿足,判斷當(dāng)前
16、有上漲趨勢(shì),在當(dāng)前Bar做多。式中,K為浮動(dòng)比例參數(shù),用戶自己根據(jù)實(shí)際情況設(shè)定。 做空條件:1,當(dāng)日開(kāi)盤價(jià)昨日收盤價(jià)*(1-K); 2,當(dāng)前Bar的最低價(jià)當(dāng)日第一個(gè)Bar的最高價(jià)如果1和2同時(shí)滿足,判斷當(dāng)前有下跌趨勢(shì),在當(dāng)前Bar做空。式中,K為浮動(dòng)比例參數(shù),用戶自己根據(jù)實(shí)際情況設(shè)定。 止盈條件: 持多倉(cāng)時(shí),如果最高價(jià)平均入場(chǎng)價(jià)*(1+止盈點(diǎn)) 賣出平倉(cāng) 持空倉(cāng)時(shí),如果最低價(jià)平均入場(chǎng)價(jià)*(1-止盈點(diǎn)) 買入平倉(cāng) 止損條件: 持多倉(cāng)時(shí),如果最低價(jià)平均入場(chǎng)價(jià)*1-止損點(diǎn)賣出平倉(cāng) 持空倉(cāng)時(shí),如果最高價(jià)平均入場(chǎng)價(jià)*(1+止損點(diǎn))買入平倉(cāng) 代碼實(shí)現(xiàn): / / 簡(jiǎn)稱: HangingGarden / 名稱
17、: / 類別: 公式應(yīng)用 / 類型: 用戶應(yīng)用 / 輸出: / Params Numericlots1; /每次買賣手術(shù) NumericbeginTime930; /交易開(kāi)始時(shí)間9:30 NumericendTime1500;/交易結(jié)束時(shí)間15:00 Numericfloatby1;/大于或低于這一波動(dòng)幅度時(shí),判斷為上漲或下跌 NumericstopLoss10; / 止損點(diǎn) NumerictakeProfit2;/止盈點(diǎn) Numericoffset1;/滑點(diǎn)設(shè)置 Vars BoolSeriesrisingFalse; BoolSeriesfallingFalse; NumericSeries
18、firstHigh0; NumericSeriesfirstLow0; Numeric MyEntryPrice ;/入市價(jià)格 Numeric MyExitPrice;/出市價(jià)格 Numeric MinPoint;/止損時(shí)最小變動(dòng)單位 Numeric i_offset;/交易時(shí)可接受的價(jià)格浮動(dòng)范圍 Begin IfDate!Date1 and CurrentBar2/當(dāng)前bar為當(dāng)日開(kāi)盤的第一根bar firstHighHigh; firstLowLow; ifOpenCloseD1*1+floatby/100 risingTrue; /判斷收陽(yáng) ifOpenCloseD1*1-floatby
19、/100 fallingTrue;/判斷收陰 Else risingrising1; fallingfalling1; firstHighfirstHigh1; firstLowfirstLow1; IfTime0.0001*beginTime And Time endTime*0.0001 And CurrentBar2 /是否在交易允許時(shí)間內(nèi) MyEntryPriceAvgEntryPrice; /平均入場(chǎng)價(jià) i_offset offset*MinMove*PriceScale; MinPointMinMove*PriceScale; ifMarketPosition0/當(dāng)前未持倉(cāng)時(shí) If
20、risingTrue and HighfirstHigh /做多條件滿足,做多 Buylots,Open+i_offset; PlotNumeric"Open",Open; Return; IffallingTrue and LowfirstLow /做空條件滿足,做空 SellShortlots,Open-i_offset; PlotNumeric"Open2",Open; Return; ifMarketPosition1 /當(dāng)前持多倉(cāng)時(shí) /止盈 ifHighMyEntryPrice*1+TakeProfit*0.01 MyExitPriceMyEn
21、tryPrice*1+TakeProfit*0.01; sell0,MyExitPrice,Open; /PlotBool"sellshort",True; Return; /止損 if Low MyEntryPrice-Stoploss * MinPoint MyExitPrice MyEntryPrice-Stoploss * MinPoint; Sell0,MinMyExitPrice,Open; /PlotBool"sellshort",true; Return; /做空條件滿足,平多倉(cāng),開(kāi)空倉(cāng) IffallingTrue and Lowfirs
22、tLow SellShortlots,Open; PlotNumeric"Open2",Open; ifMarketPosition-1/持空倉(cāng)時(shí) /止盈 iflowMyEntryPrice*1-TakeProfit*0.01 MyExitPriceMyEntryPrice*1-TakeProfit*0.01; BuyToCover0,MinMyExitPrice,Open; Return; /止損 ifhighMyEntryPrice*1+Stoploss*MinPoint MyExitPriceMyEntryPrice*1+Stoploss*MinPoint; BuyT
23、oCover0,MyExitPrice,Open; Return; /做多條件滿足,平空倉(cāng),開(kāi)多倉(cāng) IfrisingTrue and HighfirstHigh Buylots,AvgEntryPrice; PlotNumeric"Open",Open; End 測(cè)試結(jié)果: 我們測(cè)試采用的是股指1小時(shí)線,采用的數(shù)據(jù)是近三年數(shù)據(jù)(因?yàn)橹袊?guó)股指期貨2010年上市),手續(xù)費(fèi)的設(shè)置為交易總金額的3%(遠(yuǎn)高于實(shí)盤中手續(xù)費(fèi)(1%左右),可以抵消其他因素造成的偏差,保證結(jié)果的有效性),保證金率設(shè)置的是10%,參數(shù)為默認(rèn)參數(shù),測(cè)試結(jié)果的表格如下: 優(yōu)化過(guò)程:我們將參數(shù)分別進(jìn)行優(yōu)化, (這里
24、加上參數(shù)從多少到多少,步長(zhǎng)為多少,給出最后最好的結(jié)果) 優(yōu)化后的交易測(cè)試結(jié)果為: 模擬交易: 這里補(bǔ)充上從什么時(shí)候到什么時(shí)候,用的是什么商品,盈利有多少 總結(jié): 這個(gè)策略還適合什么商品,有什么優(yōu)勢(shì)和不足2.3均線型策略2.3.1MACD_MSN策略核心思想:MACD(Moving Average Convergence and Divergence在均線策略中是一種最常用的指標(biāo),它是一種運(yùn)用短期(通常為12日)移動(dòng)平均線與長(zhǎng)期(通常為26日)移動(dòng)平均線之間的聚合與分離狀況,對(duì)買進(jìn)、賣出時(shí)機(jī)作出研判的技術(shù)指標(biāo)。其計(jì)算公式為:n日EMA2/n+1×當(dāng)天收盤指數(shù)+n-1/n+1×
25、昨天的n日EMADIF(12,26) 12日EMA-26日EMADEA (N)最近N日的DIF之和/NN日MACD (DIFF-DEA)×2本策略中根據(jù)對(duì)兩個(gè)不同周期的MACD的計(jì)算,并且通過(guò)短周期MACD和長(zhǎng)周期MACD的穿越情況,判斷是做多還是做空。做多條件:前一個(gè)bar :短周期MACD長(zhǎng)周期MACD 而當(dāng)前bar:短周期MACD長(zhǎng)周期MACD。做空條件:前一個(gè)bar :短周期MACD長(zhǎng)周期MACD 而當(dāng)前bar:短周期MACD長(zhǎng)周期MACD。止盈條件:為了讓利潤(rùn)充分增長(zhǎng),該策略未加入止盈。止損條件:持多倉(cāng)時(shí):如果當(dāng)日開(kāi)盤價(jià)低于前一日開(kāi)盤價(jià)一定幅度,賣出平倉(cāng)。代碼實(shí)現(xiàn):/ 簡(jiǎn)稱
26、: MACD_MSN/ 名稱: / 類別: 公式應(yīng)用/ 類型: 用戶應(yīng)用/ 輸出:/ParamsNumeric lots2;Numericshortlength2;/短周期Numericlonglength13;/長(zhǎng)周期Numeric TakeProfit2; /多少個(gè)點(diǎn)數(shù)時(shí) 止盈Numeric StopLoss10; /多少個(gè)點(diǎn)數(shù)時(shí) 止損VarsNumericSeriesshortMACD;NumericSerieslongMACD;NumericshortMACD1;NumericShortMACD2;NumericlongMACD1;NumericlongMACD2;Boolbuycon
27、ditionFalse;BoolsellconditionFalse;Numericp;NumericmyentryPrice0;NumericmyexitPrice0;NumericMinPoint0;BeginIfCurrentBar26,longlength /前26,longlength個(gè)bar不執(zhí)行myentryPriceQ_AvgPrice;/平均入場(chǎng)價(jià)pMinMove*PriceScale;/最小變動(dòng)幅度shortMACDcalMACD326,12,shortlength;/計(jì)算短周期MACD/PlotNumeric"shortMACD",shortMACD;
28、longMACDcalMACD326,12,longlength;/計(jì)算長(zhǎng)周期MACD/PlotNumeric"longMACD",longMACD;shortMACD1shortMACD0;/當(dāng)前bar短周期MACDshortMACD2shortMACD1;/前一個(gè)bar短周期MACDlongMACD1longMACD0;/當(dāng)前bar長(zhǎng)周期MACDshortMACD2shortMACD1;/前一個(gè)bar短周期MACD/判斷做多條件是否滿足IfshortMACD1longMACD1 and shortMACD2longMACD2buyconditionTrue;sellco
29、nditionfalse;/判斷做空條件是否滿足IfshortMACD1longMACD1 and shortMACD2longMACD2sellconditionTrue;buyconditionfalse;/如果當(dāng)前持多倉(cāng),當(dāng)日開(kāi)盤價(jià)低于止損點(diǎn),止損IfOpen OpenD1 - StopLoss*P And Date! Date1 and MarketPosition1Selllots,Open;return;/做多條件滿足,做多IfbuyconditionBuylots,Open;/做空條件滿足,做空IfsellconditionSellShortlots,Open;End/ 編譯版本
30、GS2010.12.08/ 用戶版本2013/04/12 13:09/ 版權(quán)所有msnwzgl/ 更改聲明TradeBlazer Software保留對(duì)TradeBlazer平臺(tái)/每一版本的TrabeBlazer公式修改和重寫的權(quán)利/測(cè)試結(jié)果:優(yōu)化記錄:優(yōu)化后結(jié)果:總結(jié):2.3.2MACD_MSN5策略實(shí)際上是MACD_MSN3 MACD_MSN5策略是MACD及其中間指標(biāo)(DIFF和DEA)的另一種應(yīng)用方式,它通過(guò)DIFF和DEA的正負(fù)以及二者穿越情況的判斷來(lái)確定市場(chǎng)行情適合做多還是做空。其核心思想為: 做多條件:DIFF,DEA均為正,DIFF向上突破DEA 做空條件:DIFF、DEA均為
31、負(fù),DIFF向下跌破DEA 其他條件:DEA線與K線發(fā)生背離,為行情反轉(zhuǎn)信號(hào);MACD由正變負(fù)為 做空信號(hào),由負(fù)變正為做多信號(hào)。 其中DIFF、DEA、MACD的計(jì)算公式為: n日EMA2/n+1×當(dāng)天收盤指數(shù)+n-1/n+1×昨天的n日EMA DIF(12,26) 12日EMA-26日EMA DEA (N)最近N日的DIF之和/N N日MACD (DIFF-DEA)×2 止損條件:當(dāng)當(dāng)前bar的開(kāi)盤價(jià)低于上一個(gè)bar的開(kāi)盤價(jià)超過(guò)一定幅度時(shí),賣出平倉(cāng)。 止盈條件:為了讓利潤(rùn)充分增長(zhǎng),不加入止盈條件。實(shí)現(xiàn)代碼:/ 簡(jiǎn)稱: MACD_MSN/ 名稱: / 類別: 公式
32、應(yīng)用/ 類型: 用戶應(yīng)用/ 輸出:/ParamsNumeric lots1;Numeric StopLoss10; /多少個(gè)點(diǎn)數(shù)時(shí) 止損Numeric shortlength12;Numericlonglength26;VarsNumericSeriesshortMACD;NumericSerieslongMACD;NumericSeriesDIFF;NumericSeriesDEA;BoolbuyconditionFalse;BoolsellconditionFalse;Numericp;NumericmyentryPrice0;NumericmyexitPrice0;NumericMinP
33、oint0;BeginIfCurrentBar26,longlengthmyentryPriceQ_AvgPrice;MinPointMinMove*PriceScale;DIFFcalDIFFshortlength,longlength; /計(jì)算DIFFDEAcalDEAshortlength,longlength; /計(jì)算DEApMinMove*PriceScale;IfDIFF0 AND DEA0 AND CrossOverDIFF,DEA /判斷做多條件是否滿足buyconditionTrue;sellconditionfalse;IfDIFF0 AND DEA0 AND CrossU
34、nderDIFF,DEA /判斷做空條件是否滿足sellconditionTrue;buyconditionfalse;IfOpen OpenD1*1-Stoploss/100 And Date! Date1 /止損SellShortlots,Open;return;Ifbuycondition/做多條件滿足,做多Buylots,Open;Ifsellcondition/做空條件滿足,做空SellShortlots,Open;End/ 編譯版本GS2010.12.08/ 用戶版本2013/04/12 13:09/ 版權(quán)所有msnwzgl/ 更改聲明TradeBlazer Software保留對(duì)
35、TradeBlazer平臺(tái)/每一版本的TrabeBlazer公式修改和重寫的權(quán)利/測(cè)試結(jié)果:2.4路徑型策略2.4.1DBox策略 DBox 策略是起源于美國(guó)一個(gè)專業(yè)舞蹈演員同時(shí)也是在股票市場(chǎng)上獲得很大成功的Nicolas Darvas上世紀(jì)50年代所使用的策略。這個(gè)策略本質(zhì)上屬于一個(gè)突破跟蹤策略。它使用一種稱之為“box”的概念,當(dāng)價(jià)格突破box的上下邊界時(shí)進(jìn)行交易。一個(gè)box由“bottom”底部和“top”(頂部)組成,bottom和top的形成和改變?nèi)缦? 1,如果價(jià)格在最近3個(gè)bar中都未創(chuàng)新高,那么高于后3個(gè)bar的最近的新高價(jià)就成為box的頂部。 2,如果價(jià)格在最近3個(gè)bar中都
36、未創(chuàng)新低,那么低于后3個(gè)bar的最近的新低價(jià)就成為box的底部。 3,如果當(dāng)前bar的最高價(jià)高于box的頂部或者低于box的底部,那么box被打破,1、2過(guò)程重新開(kāi)始。 做多條件:當(dāng)前bar最高價(jià)高于box頂部(注意此時(shí)做多后,box被打破) 做空條件:當(dāng)前bar最低價(jià)低于box底部 止盈條件: 持多倉(cāng)時(shí),如果最高價(jià)平均入場(chǎng)價(jià)*(1+止盈點(diǎn)) 賣出平倉(cāng) 持空倉(cāng)時(shí),如果最低價(jià)平均入場(chǎng)價(jià)*(1-止盈點(diǎn)) 買入平倉(cāng) 止損條件: 持多倉(cāng)時(shí),如果最低價(jià)平均入場(chǎng)價(jià)*1-止損點(diǎn)賣出平倉(cāng) 持空倉(cāng)時(shí),如果最高價(jià)平均入場(chǎng)價(jià)*(1+止損點(diǎn))買入平倉(cāng)實(shí)現(xiàn)代碼:/ 簡(jiǎn)稱: Dbox_sn/ 名稱: Dbox_sn/ 類
37、別: 公式應(yīng)用/ 類型: 用戶應(yīng)用/ 輸出:/Params:Numericlots1;NumericBoxlength3;Numericoffset1;Numerictakeprofit2;Numeric stoploss10;NumericbackLength5;numeric periodHigh10;/最高價(jià)平滑時(shí)回撤周期NumericperiodLow10;/最低價(jià)平滑時(shí)回撤周期VarsNumericSeriesDayHigh;NumericSeriesDaylow;NumericSeriestodayHigh;NumericSeriestodaylow;NumericSeriesbo
38、xTop;NumericSeriesboxBottom;Numerici_offset;BoolSeriesTopestablishedFalse;BoolSeriesBottomestablishedFalse;BoolSeriesBoxestablishedFalse;NumericSeriesTopcount0;NumericSeriesbottomCount0;NumericSeriesnewHigh0;NumericSeriesnewLow0;Numeric MyEntryPrice ;/入市價(jià)格Numeric MyExitPrice;/出市價(jià)格Numeric MinPoint;/止
39、損時(shí)最小變動(dòng)單位BeginifCurrentBarperiodHigh,periodLowdayHighhigh;dayLowLow;elsedayHighAverageFCdayHigh,periodHigh; /對(duì)最高價(jià)格平滑處理dayLowAverageFCdayLow,periodLow;/對(duì)最低價(jià)平滑處理MyEntryPriceAvgEntryPrice;i_offset offset*MinMove*PriceScale; /交易時(shí)可接受的價(jià)格浮動(dòng)范圍IfCurrentBarbacklengthtodayHighhigh;todaylowlow;IfCurrentBarbackle
40、ngthtodayHighhigh;todaylowLow;newHighHighesttodayHigh,backLength;/計(jì)算近來(lái)新高newLowLowesttodaylow,backlength;/計(jì)算近來(lái)新低PlotNumeric"newHigh",newHigh;PlotNumeric"newLow",newLow;IfhighnewHigh1 And Topestablished1FalseTopcountTopcount1+1;IfTopcount3/連續(xù)3個(gè)bar未創(chuàng)新高,頂部形成boxTopnewHigh;Topestablish
41、edTrue;PlotBool"Topestablished",True;IfhighnewHigh1 And Topestablished1False/創(chuàng)新高后,重新開(kāi)始計(jì)算newHighhigh;Topcount0;IfLownewLow1 And Bottomestablished1FalsebottomCountbottomCount1+1;IfbottomCount3/連續(xù)3個(gè)bar未創(chuàng)新低,底部形成boxBottomnewLow1;BottomestablishedTrue;PlotBool"Bottomestablished",False;
42、IflownewLow1 And Bottomestablished1False/創(chuàng)新低后,重新開(kāi)始計(jì)算newLowLow;bottomCount0;IfBottomestablished1True And Topestablished1True/頂部和底部形成后,box形成BoxestablishedTrue;IfBoxestablishedTrue ifMarketPosition0 /未持倉(cāng)時(shí)IfHighboxTop1/做多條件滿足,做多Buylots,Open;return;IfLowboxBottom1/做空條件滿足,做空SellShortlots,Open;return;ifMar
43、ketPosition1/持多倉(cāng)時(shí)/止盈ifDayHighMyEntryPrice*1+TakeProfit*0.01MyExitPriceMyEntryPrice*1+TakeProfit*0.01;sell0,MyExitPrice,Open;Return;/止損if Daylow MyEntryPrice-Stoploss * MinPointMyExitPrice MyEntryPrice-Stoploss * MinPoint;Sell0,MinMyExitPrice,Open;Return;IfLowboxBottom1/做空條件滿足,做空SellShortlots,Open;re
44、turn;ifMarketPosition-1/持空倉(cāng)時(shí)/止盈ifdaylowMyEntryPrice*1-TakeProfit*0.01MyExitPriceMyEntryPrice*1-TakeProfit*0.01;BuyToCover0,MinMyExitPrice,Open;Return;/止損ifdayHighMyEntryPrice*1+Stoploss*MinPointMyExitPriceMyEntryPrice*1+Stoploss*MinPoint;BuyToCover0,MyExitPrice,Open;Return;IfHighboxTop1/做多條件滿足,做多Buy
45、lots,Open;return;IfHighboxTop1 Or LowboxBottom1 /box被打破BoxestablishedFalse;TopestablishedFalse;BottomestablishedFalse;End/ 編譯版本GS2010.12.08/ 用戶版本2013/05/09 12:51/ 版權(quán)所有l(wèi)itianyi/ 更改聲明TradeBlazer Software保留對(duì)TradeBlazer平臺(tái)/每一版本的TrabeBlazer公式修改和重寫的權(quán)利/測(cè)試結(jié)果:優(yōu)化結(jié)果:總結(jié)2.4.2Dual_Thrust策略 Dual_Thrust策略是開(kāi)盤區(qū)間突破系統(tǒng)的延
46、伸,其中后者是指以今日開(kāi)盤價(jià)加減一定比例的昨日振幅以確定做多和做空的上下軌,當(dāng)日內(nèi)突破上軌時(shí)(平空)做多,日內(nèi)突破下軌時(shí)(平多)做空,當(dāng)日收盤平倉(cāng)出場(chǎng)。而Dual_Thrust 是在幅度Range的計(jì)算上引入了前N日的四個(gè)價(jià)位(N 日high,N日l(shuí)ow,N日close,N日open),使得一定時(shí)期內(nèi)的振幅相對(duì)穩(wěn)定。其中兩個(gè)振幅range的計(jì)算中,該策略中使用的是:Range(M周期最高h(yuǎn)igh - M周期最低收盤, M周期最高收盤 - M周期最低low ),其中在sellRange和buyRange的計(jì)算中,M的取值不同。 另外,本策略開(kāi)平倉(cāng)條件判斷時(shí)最高價(jià)和最低價(jià)并不是真實(shí)的最高價(jià)和最低價(jià)
47、,而是將之前數(shù)據(jù)和當(dāng)前bar數(shù)據(jù)進(jìn)行平滑處理(移動(dòng)平均)得到的,這樣可以消除噪點(diǎn),使開(kāi)平倉(cāng)信號(hào)的判斷更為精確。 做多條件:當(dāng)前bar最高價(jià)突破上軌。 做空條件:當(dāng)前bar最低價(jià)跌破下軌。 止盈條件: 持多倉(cāng)時(shí),如果最高價(jià)平均入場(chǎng)價(jià)*(1+止盈點(diǎn)) 賣出平倉(cāng) 持空倉(cāng)時(shí),如果最低價(jià)平均入場(chǎng)價(jià)*(1-止盈點(diǎn)) 買入平倉(cāng) 止損條件: 持多倉(cāng)時(shí),如果最低價(jià)平均入場(chǎng)價(jià)*1-止損點(diǎn)賣出平倉(cāng) 持空倉(cāng)時(shí),如果最高價(jià)平均入場(chǎng)價(jià)*(1+止損點(diǎn))買入平倉(cāng)實(shí)現(xiàn)代碼:/ 簡(jiǎn)稱: DualThrust/ 名稱: DualThrust/ 類別: 公式應(yīng)用/ 類型: 用戶應(yīng)用/ 輸出:ParamsNumeric Kbuy0.5
48、;/ 可以接受的價(jià)格變化幅度,可以修改Numeric Ksell0.5; / 可以接受的價(jià)格變化幅度,可以修改,不必和Kbuy相同Numeric Mday10;/做空參考的周期數(shù)Numeric Nday10; /做多參考的周期數(shù)Numeric lots1;/交易手?jǐn)?shù)Numeric offset0; Numeric TakeProfit2; /多少個(gè)點(diǎn)數(shù)時(shí) 止盈Numeric StopLoss10; /多少個(gè)點(diǎn)數(shù)時(shí) 止損Numeric beginTime900;/交易開(kāi)始時(shí)間Numeric endTime1500;/交易截止時(shí)間numeric periodHigh10;/最高價(jià)平滑時(shí)回撤周期Nu
49、mericperiodLow10;/最低價(jià)平滑時(shí)回撤周期VarsNumeric BuyRange0;/做多的range Numeric SellRange0;/做空的rangeNumeric BuyTrig0;/當(dāng)價(jià)格波動(dòng)值達(dá)到該點(diǎn)時(shí),觸發(fā)做多策略Numeric SellTrig0;/當(dāng)價(jià)格波動(dòng)值達(dá)到該點(diǎn)時(shí),觸發(fā)做空策略Numeric BuyPostion0; /買入價(jià)格Numeric SellPostion0;/賣出價(jià)格Numeric i_offset;/可以接受的誤差范圍Numeric HH; /N日最高h(yuǎn)ighNumeric LL; /N日最低lowNumeric HC; /N日最高cl
50、ose Numeric LC; /N日最低closeNumeric MyEntryPrice ;/入市價(jià)格Numeric MyExitPrice;/出市價(jià)格Numeric MinPoint;/止損時(shí)最小變動(dòng)單位NumericSeries dayHigh;NumericSeriesdayLow;Begin/對(duì)最高價(jià)和最低價(jià)進(jìn)行平滑處理,以便減小最大回撤ifCurrentBarperiodHigh,periodLowdayHighhigh;dayLowLow;elsedayHighAverageFCdayHigh,periodHigh;dayLowAverageFCdayLow,periodLow;MyEntryPriceAvgEntryPrice; i_offset offset*MinMove*PriceScale; /交易時(shí)可接受的價(jià)格浮動(dòng)范圍 HHHighestHighD1,Mday;/M日最高價(jià)
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 現(xiàn)代醫(yī)學(xué)與中醫(yī)結(jié)合的三叉神經(jīng)痛方案
- 吉林大學(xué)《水力學(xué)》2021-2022學(xué)年第一學(xué)期期末試卷
- 公路維修施工材料選擇方案
- 吉林大學(xué)《素描人體》2021-2022學(xué)年第一學(xué)期期末試卷
- 預(yù)拌混凝土驗(yàn)收及賠償協(xié)議
- 鋼鐵生產(chǎn)工藝優(yōu)化施工方案
- 農(nóng)民合作社發(fā)展實(shí)施方案
- 同步測(cè)控優(yōu)化設(shè)計(jì)2024年七年級(jí)數(shù)學(xué)上冊(cè)第一章有理數(shù)1.4有理數(shù)的乘除法1.4.1第1課時(shí)有理數(shù)的乘法知能演練提升新版新人教版
- 2024高考物理一輪復(fù)習(xí)課時(shí)作業(yè)四十二光的波動(dòng)性電磁波相對(duì)論含解析新人教版
- 2024-2025學(xué)年新教材高中化學(xué)第八章化學(xué)與可持續(xù)發(fā)展第1節(jié)第2課時(shí)煤石油和天然氣的綜合利用學(xué)案新人教版必修2
- 期中 (試題) -2024-2025學(xué)年譯林版(三起)(2024)英語(yǔ)三年級(jí)上冊(cè)
- MOOC 新時(shí)代中國(guó)特色社會(huì)主義理論與實(shí)踐-武漢理工大學(xué) 中國(guó)大學(xué)慕課答案
- 體育教育生涯發(fā)展報(bào)告
- [復(fù)習(xí)考試資料大全]事業(yè)單位考試題庫(kù):鄉(xiāng)村振興試題及答案
- 如何做好群團(tuán)工作
- 保險(xiǎn)代理業(yè)務(wù)及臺(tái)帳管理制度
- 媒介文化教程第六講 奇觀社會(huì)與媒體奇觀
- 畢業(yè)設(shè)計(jì)(論文)基于單片機(jī)的智能水族箱控制系統(tǒng)魚缸
- 罐箱裝卸貨操作指南
- 青海大學(xué)研究生導(dǎo)師簡(jiǎn)介(精品課件)
- 父親的草原母親的河-正譜-降B調(diào)
評(píng)論
0/150
提交評(píng)論