【高頻策略】利用掛單價(jià)差實(shí)現(xiàn)高頻交易的策略[金字塔模型]
相關(guān)標(biāo)簽:
?
策略原理:
高頻交易的種類很多,比如我們常見的跨期套利,通過一個(gè)合約的2個(gè)相近的月份2個(gè)合約,通過價(jià)差波動(dòng)的相關(guān)性進(jìn)行套利,實(shí)現(xiàn)穩(wěn)定盈利的目的。
本文通過另外一種高頻交易模式,即同一個(gè)品種的買賣價(jià)差來實(shí)現(xiàn)盈利。????
以IC00為例,我們通過一個(gè)簡單公式在分筆周期上就能出買一和賣一價(jià)差每天都會(huì)有大量的價(jià)差波動(dòng),并且從分析上講機(jī)會(huì)很多,例如:
?測(cè)試公式如下:
掛單價(jià)差:BIDPRICE - ASKPRICE;?
?
效果圖
此主題相關(guān)圖片如下:qq截圖20150924223702.jpg
?
通過上面的效果圖不難看出,只要我們?cè)邳c(diǎn)差較大時(shí)能同時(shí)持有多空雙方的2個(gè)頭寸,就會(huì)像套利一樣鎖定了利潤空間,待價(jià)差縮小后就可以實(shí)現(xiàn)平倉盈利。
?
利用VBA制作的模型源碼如下:
?
\'訂閱數(shù)據(jù),這里范例訂閱IC00合約
Sub APPLICATION_VBAStart()
?marketdata.RegReportNotify "IC00", "ZJ"
?call application.SetTimer(1,500)
End Sub
BuyOrder = 0
SellOrder = 0
HoldOk = 1
ModeStatus = 0 \'0無持倉 1持倉狀態(tài)
Sub MARKETDATA_ReportNotify(ReportData)
?\'計(jì)算掛單價(jià)差
?Diff = ReportData.SellPrice1 - ReportData.BuyPrice1
?If ModeStatus =0 And HoldOk = 1 Then
???? if?Diff >= 5 Then
??????? \'當(dāng)價(jià)差達(dá)到5個(gè)價(jià)位時(shí),觸發(fā)交易
??????? \'application.MsgOut "diff"&diff
???????? HoldOk = 0
???????? ModeStatus = 1
???????? \'使用釣魚方式掛單,比現(xiàn)有價(jià)格優(yōu)惠一個(gè)變動(dòng)價(jià)位,然后等待市場(chǎng)客戶賣出給你
???BuyOrder = Order.Buy(0,1,ReportData.BuyPrice1+0.2,0,"IC00","ZJ","",0)
???SellOrder = Order.BuyShort(0,1,ReportData.SellPrice1-0.2,0,"IC00","ZJ","",0)
??End If
?End If
?
?If ModeStatus = 1 And HoldOk = 1 Then
???? If Diff <= 0.4 Then
???? ?\'當(dāng)價(jià)差縮回去時(shí),市價(jià)平掉倉位
???? ?\'application.MsgOut "diff2"&diff
???????? HoldOk = 0
???? ?ModeStatus = 0
???BuyOrder = Order.Sell(1,1,0,0,"IC00","ZJ","",0)
???SellOrder = Order.SellShort(1,1,0,0,"IC00","ZJ","",0)
??End If
?End If
End Sub
?
\'收到成交回報(bào)后對(duì)標(biāo)志位進(jìn)行處理
Sub ORDER_OrderStatusEx2(OrderID, Status, Filled, Remaining, Price, Code, Market, OrderType, Aspect, Kaiping, Account, AccountType)
?OkThis = 0
?If Status = "Tradeing" Then
?If OrderID = BuyOrder Then
???? OkThis = 1
???? BuyOrder = 0
?End If
?
?If OrderID = SellOrder Then
??? OkThis = 1
??? SellOrder = 0
?End If
?
?If BuyOrder = 0 And SellOrder = 0 And OkThis = 1 Then
??HoldOk = 1
??
?End If
?End If
?
?\'下面的是不成交的追單處理模式
??? if status="Cancelled" and? remaining>0? and Holdok=0 then
????????????? if aspect=0 then???????
????????????? if kaiping=0 then?????????????????
???????????????? BuyOrder = order.Buy(1,remaining,0,0,Code,market,Account,0)??????????????
?????????????? else??????????????????
??????????????? SellOrder = order.sellshort(1,remaining,0,0,code,market,Account,0)
????????????? end if
?????????? end if
????????????? if aspect=1 then
????????????? if kaiping=0 then
???????????????? SellOrder = order.Buyshort(1,remaining,0,0,code,market,Account,0)
?????????????? else?????????????????
????????????????? BuyOrder = order.sell(1,remaining,0,0,code,market,Account,0)
?????????????? end if
?????????? end if
???? end if
?End Sub
?
\'定時(shí)器,用于處理掛單的不成交追單,這里不考慮價(jià)格是否合適,使用時(shí)還請(qǐng)用戶自己更改算法
sub application_timer(id)
??? IF ID =1 THEN
??? for i=0 to order.OrderNum2-1
??? call order.OrderInfo2(i, OrderID, ConSign, Filled, Remaining, Action, OrderType, LmtPrice, Account, Kaiping, Code, Market)
????????? OrdTime=right(Order.OrderInfoTime2(i),8)?
?????????????? aa=Datediff("s",OrdTime,Cdate(time))
????????????? \'application.MsgOut "ordtime="&aa
????????????? \'application.MsgOut "cdsj="&cdsj
????????? if aa-2>=0 then
???????????? \'超過間隔指定的秒數(shù),
?????????? Call Order.CancelOrder(OrderID,account)
????????? end if
???? next
???? end if
END SUB
?
該高頻的模型目前還僅在雛形階段,需要解決如下幾個(gè)問題:
1,測(cè)試時(shí)是根據(jù)中金所IC品種的常規(guī)手續(xù)費(fèi)進(jìn)行的,如今平今手續(xù)費(fèi)奇高,所以對(duì)IC品種已經(jīng)不適合,用戶需要找其他交易所的合適品種,適合該高頻模式的品種需要比較大的合約價(jià)格,因?yàn)橹挥泻霞s比較大了后才會(huì)出現(xiàn)較大掛單價(jià)差,另外一個(gè)就是該合約的交易量即不是很大也不是很小,很大的交易量勢(shì)必導(dǎo)致套利空間縮小,較小的流通性又會(huì)導(dǎo)致頻繁的開倉單腿問題存在。
2,由于是釣魚方式開倉掛單,容易出現(xiàn)單腿情況,因此范例代碼未考慮如何去解決單腿問題及單腿后的更多問題,本文僅起到拋磚引玉的作用,需要用戶自行去完善了
?
?
?
{別忘了將本網(wǎng)告訴您身邊的朋友,向朋友傳達(dá)有用資料,也是一種人情,你朋友會(huì)感謝你的。}
www.weistock.com/bbs/TopicOther.asp?t=5&BoardID=10&id=85627
有思路,想編寫各種指標(biāo)公式,交易模型,選股公式,還原公式的朋友
可聯(lián)系技術(shù)人員 QQ: 262069696 或微信:cxhjy888 進(jìn)行 有償收費(fèi) 編寫!(注:由于人數(shù)限制,QQ或微信請(qǐng)選擇方便的一個(gè)聯(lián)系我們就行,加好友時(shí)請(qǐng)簡單備注下您的需求,否則無法通過。謝謝您!)
(怎么收費(fèi),代編流程等詳情請(qǐng)點(diǎn)擊查閱!)
(注:由于人數(shù)限制,QQ或微信請(qǐng)選擇方便的一個(gè)聯(lián)系我們就行,加好友時(shí)請(qǐng)簡單備注下您的需求,否則無法通過。謝謝您!)
相關(guān)文章
-
沒有相關(guān)內(nèi)容

會(huì)員登錄/注冊(cè)