VirtualApi 期貨CTP TICK級本地量化交易仿真回測系統

2020-12-22 Jadely1122

VirtualApi目前支持上海期貨交易所的CTP回測,可以看做本地計算機架設了一套SIMNOW仿真環境,可用於CTP程序化交易,量化交易回測。

VirtualApi2.52版本說明:當前版本的Virtualapi是對上期CTP接口 6.3.15的仿真(包括上期SIMNOW和各期貨公司實盤都採用6.3.15版本)支持的程式語言

VirtualApi Api支持多種程式語言,包括C++、Python、Java、C#、Golang、易語言等 進行量化交易回測。

支持的作業系統

VirtualApi Api支持Windows作業系統,版本要求Windows7、Windows2008及以上。

支持的量化交易框架

VirtualApi 支持各種基於CTP接口的自編程序和框架,例如vn.py、Quicklib、海風等。

CTP Demo和Virtualapi For CTP Demo 代碼是一樣的,不同的採用了2套DLL。

為了克服現有技術存在的上述不足,VirtualApi仿真API的回測技術應運而生,它是模擬原生API來實現的。例如通過模擬原生交易API和行情API,例如通過模擬原生API的庫方法的定義、頭文件的定義等,使得回測和實盤交易代碼,簡單的將實盤代碼替換為仿真API,對底層代碼可不作改動或改動較少即可實現回測和參數優化。

升級說明:Virtualapi V2.5.2 解決了上一個版本在某些環境中查詢持倉回調不反回數據的問題。

CTP可以改為自己帳戶接實盤,Virtualapi用戶回測。

問題1:SIMNOW和Virtualapi(VirtualApi 期貨CTP TICK級本地量化交易仿真回測首頁)所有什麼不同?

Virtualapi2.52

SINNOW是上期的CTP接口仿真環境,可以註冊期貨模擬帳戶,用CTP api進行交易,SIMNO的功能主要是用於功能測試。

而Virtualapi相當於你可以在本地計算機架設一套SIMNOW的仿真結算系統,並且可以快速回訪TICK數據文件,主要用於CTP接口的量化交易回測。

問題2:支持Virtualapi的數據文件從哪裡下載?

我們維護了一套支持Virtualapi欄位順序格式的數據採集伺服器,一般每半個月到1個月會打包壓縮到網盤。

mdshare和quicklib量化交易行情數據共享中心不僅提供了網盤下載連結,還提供了可以自己部署的數據採集服務DataCollect.exe。

問題3:Virtualapi支持哪些程式語言?

Virtualapi是對CTP底層仿真,並不是程式語言框架。所以不管是你自己開發的CTP程序還是用了任何程式語言的CTP框架,都可以使用Virtualapi進行回測,只要通過替換原生DLL的方式,並指定數據文件路徑list.csv和指定手續費設置setting.ini,就可以在3分鐘內將你之前開發的CTP策略程序轉換為回測程序,在代碼上可以不做任何修改。

問題4:使用Virtualapi需要注意哪些問題?

CTP是2Tick/秒, Tick之間有0.5秒的延遲,如果你做CTP在行情接收TICK後放入緩衝區,採用另一個線程進行計算,也就是說採用的是生產者消費者模式的話,是不能用於Virtualapi的。

因為Virutlapi是快速回放TICK,如果線程之間價格不一致的話,會導致很大的隨機誤差,也許計算策略的時候已經是5分鐘之前的TICK的價格了,底層結算就會出現誤差。

您可以做一個策略,如果同一個程序用同一組數據文件進行回測,資金曲線不完全一致的話就是這種隨機誤差導致的。

為了避免這個問題的發生,請在使用Virtualapi進行回測的時候,需要在行情回調函數中直接進行策略邏輯的計算,切記不要將Tick放到另一個線程裡進行策略邏輯的計算。

行情回調函數是指以下函數:

///深度行情通知

virtual void OnRtnDepthMarketData(CThostFtdcDepthMarketDataField *pDepthMarketData) {};

問題5 :Virtualapi是免費的嗎?

Virtualapi承諾提供對所有人永久免費的版本。

問題6:Virtualapi支持的數據格式是怎樣的?

CSV數據文件欄位順序:

localtime (本機寫入TICK的時間),

InstrumentID (合約名),

TradingDay (交易日),

ActionDay (業務日期),

UpdateTime (時間),

UpdateMillisec(時間毫秒),

LastPrice (最新價),

Volume(成交量) ,

HighestPrice (最高價),

LowestPrice(最低價) ,

OpenPrice(開盤價) ,

ClosePrice(收盤價),

AveragePrice(均價),

AskPrice1(申賣價一),

AskVolume1(申賣量一),

BidPrice1(申買價一),

BidVolume1(申買量一),

UpperLimitPrice(漲停板價)

LowerLimitPrice(跌停板價)

OpenInterest(持倉量),

Turnover(成交金額),

PreClosePrice (昨收盤),

PreOpenInterest (昨持倉),

PreSettlementPrice (上次結算價),

VirtualApi誕生的技術背景

現在的量化回測軟體和方法有三類,一類是通過文華、TB、MC等商業軟體,在商業軟體中通過編寫交易指標和交易公式,或通過加載用戶自己開發的第三方策略庫進行交易策略的開發和回測;第二類是直接使用交易所、券商、API軟體服務商提供的API或券商等機構提供的行情和交易API直接開發交易策略,或通過一些回測框架調用這些原生API進行回測;第三類是利用聚寬、優礦的網站在線平臺進行回測。

若採用第一類商業軟體開發量化交易回測系統,雖然對從事量化交易的人來說,開發策略需要的工作量較少,對開發者編程能力要求不高。但缺點也是顯而易見的,除了商業軟體本身需要收費提高了交易成本以外,採用商業軟體開發交易策略不夠靈活,使得很多交易策略無法實現。

若採用第二類直接使用API開發策略或採用針對API的回測框架,例如python的各種回測框架、matlaba的各種回測框架、R語言的各種回測框架,PyAlgoTrade、Zipline等、雖然開發策略較為靈活,但缺點是開發交易策略的實盤代碼並不能直接進行回測,必須要採用引入回測框架進行回測,待回測完畢,再將回測完成的參數接入實盤策略代碼中或刪除回測框架部分的代碼接入實盤交易的API,使得量化交易回測代碼和實盤的代碼有較大的改動,增加了策略開發者的工作,也增加了量化交易愛好者時間成本,甚至對很多編程能力有限的量化愛好者來說提搞了研究難度的門檻。

若採用第三類在線回測平臺進行回測,由於需要將編寫的策略在網站指定的伺服器上運行,由於是多用戶共享一臺伺服器,所以回測性能無法得到保證、網站更傾向於採用精度不高的數據進行回測。還由於對策略開發者來說不是使用原生API進行開發策略,所以策略開發的自由度也不夠,很多想法也無法實現。更重要的是,選擇網站在線平臺的方式來開發量化交易策略,就等於默認了網站管理員可隨時查看自己辛辛苦苦開發的策略代碼,保密性讓人擔憂,從事量化交易的專業機構幾乎不會採用在線網站的回測方式。

近年來,量化交易在金融領域應用的越來越廣發,回測系統的設計是量化交易中不可缺失的一部分,但同時也暴露出一些問題,例如商業軟體成本高、自己搭建會測框架時間成本高,難度大、採用第三方回測框架難度大、回測到實盤交易的代碼改動較大、量化策略保密性不高等等。

Virtualapi可以作為期貨CTP TICK級回測的本地仿真環境,實現CTP量化交易。

VN.PY回測可以使用Virtualapi

相關焦點

  • vn.py 1.9.1 發布,開源量化交易程序開發框架
    vn.py 是基於 Python 的開源量化交易程序開發框架,起源於國內私募的自主量化交易系統,目前已經成長為一套全功能的交易程序開發框架。
  • 丁鵬:量化交易中能夠賺錢的比例也就20%!
    量化交易體系主要分成三個部分,第一、分析系統;第二個回測系統;第三,交易系統。為什麼要大家去做複雜的策略呢?因為複雜的策略收益會比較高,簡單的策略大家都會做,所以收益是比較低的。主要差距,一個是策略類別差距很大,國內量化還是以股票為主,國外包括股票、期貨、期權、資產配置組合、策略組合都很多;第二,數據差距,國外都會用到高頻數據甚至微秒級的數據。
  • 人工智慧將在量化交易中起到顛覆性作用_行業新聞_新聞_期貨日報網
    期貨日報網訊(記者 崔蕾)12月19日,由中國期貨業協會、深圳市期貨業協會主辦的「2020年第16屆中國(深圳)國際期貨大會」以線上、線下相結合的方式舉辦,在下午由南華期貨和交通銀行承辦的金融科技與期貨行業融合發展分論壇上,創新工場南京AI研究院執行院長、倍漾科技CEO馮霽介紹了面向數據驅動的金融工程與應用即人工智慧在量化交易方面的應用
  • 外匯交易中心:即日起在外匯市場推出回測及仿真交易平臺服務
    中證網訊(記者 彭揚)中國外匯交易中心1月18日發布《關於在銀行間外匯市場推出回測及仿真交易平臺服務的通知》。通知明確,為滿足市場會員自動化報價和交易的需要,中國外匯交易中心將於即日起在外匯市場推出回測及仿真交易平臺服務。
  • 米筐開源量化交易框架 —— RQAlpha 2.0 發布
    在Ricequant的不懈努力下,我們終於迎來這一次的開源更新,開源整套底層 Python 回測框架,這便是如今RQAlpha 2.0。數據:期貨、股票日數據同步更新,本地 update bundle 即可。 功能:保留股票策略,新支持了期貨策略,期貨與股票的混合策略,用戶在構建策略組合的時候擁有更多的選擇,同時也能實現期貨與現貨的對衝。
  • 一位普通交易者的量化交易進階之路
    )實盤交易大賽量化組第七名、目前任杭州循道量化資產總經理的陳海洋,在本屆實盤大賽頒獎大會量化、外盤交流專場上吐露了他二十多年前的一段慘痛經歷。從資產配置到品種,再到將策略進行各個維度的分散,這就是他交易系統的核心思想。   自從有了系統後,他的交易似乎變得輕鬆了,自己也比以前清閒了,精神壓力小了很多,不會患得患失,只需要無條件執行系統。「未來行情雖然不在自己掌握之中,但是不管出現任何行情,系統都可以從容地應對。」閒下來的他不忘繼續充電,比如說參加培訓。
  • 什麼是量化交易,為何我們要投資量化基金,散戶最終如何賺錢
    由於量化交易在我國的發展時間不長,因此不少交易者對於量化交易都存在系統認知上的偏差,導致大家都認為量化交易是躺著賺錢。但事實的真相真是如此嗎,今天小蚜蟲就為大家揭開量化交易的神秘面紗,一睹量化交易的真容。
  • 對量化交易入門的一點建議
    2、如果,經過1階段之後,你覺得自己仍希望在量化之路上前進一步,可以考慮先看看國內丁鵬的《量化投資》、以及《海龜交易策略》等,比較系統的了解量化交易策略的分析、設計、開發、執行。3、經歷了2階段之後,如果要想進一步在自己交易中實戰,大概率是要碰釘子。
  • 太一控股集團資訊:量化交易之王,大獎章基金之謎
    1978年,40歲時不甘寂寞的西蒙斯需要一個更大的平臺展現自己能力,於是他決定跨界轉型創建了一家投資基金,這就是後來聞名世界的文藝復興公司,該公司以純數學為基礎打造的交易系統收益極高,旗下員工都是計算機博士、數學博士、物理博士等。
  • 最前沿丨量化交易專家:在秒到幾十秒的高頻交易中人工交易收益更高
    麗海弘金副總經理張紅慶日前在由智能投研技術聯盟(ITL)主辦的首屆「1024國際智能投研開發者大會」上指出:目前,在日內交易領域的秒到幾十秒的時間架構內,人類比機器仍有優勢,手工交易員的收益高於機器量化交易。
  • 中國程序化交易歷史與展望及量化就業答疑
    比如2013年前後,中金所下屬的一家信息技術公司推出了一套飛馬系統。飛馬系統應該屬於比較早期在CTP體系之外,並對CTP構成一定挑戰的櫃檯系統。不過飛馬系統挑戰的不是CTP系統的綜合交易平臺的功能,而是專注於把速度做得更快。
  • 金絲路量化科技研究院乾貨合集 量化投資全解析
    量化是一個相對客觀的決策和執行系統; 系統性:量化投資是數據、策略、系統、執行四方面的一個組合,這是一個完整的整體; 概率性:量化投資是去「博」大概率賺錢的機會。理論上講當你的量化策略只要有51%的時候能預測正確市場,那麼就能賺到錢,長期多次交易來看這個策略就是有效的,是可以賺錢的。
  • 原油量化研究系列:基於「繁微數據」的原油多周期擇時預測
    ★基本面量化策略表現Brent原油期貨:月度價格預測,2016年以來樣本外回測年化收益率101.5%,最大回撤-14.9%,年化夏普3.45,勝率高達77.8%,盈虧比4.19,卡爾瑪比率6.81。汽油現貨:2016年以來樣本外回測年化收益率51%,最大回撤-7.5%,年化夏普5,勝率高達77%,盈虧比5.79,卡爾瑪比率6.91。
  • 大摩華鑫基金:量化策略的鈍化和優化
    量化策略的鈍化主要是指模型從之前的「賺大錢」變為不怎麼賺錢甚至虧損的過程。國內外多年實踐表明,市場上並不存在一直在賺錢的「聖杯」策略,所以每個策略都會發生鈍化。無論是基於交易經驗還是歷史回測的策略,都離不開一個共同的信念,那就是過去的市場規律在未來仍能適用,至少是在短期的未來有用。那麼當市場規律發生變化甚至完全改變時,策略便會發生鈍化或失效。
  • 量化私募遭大面積回撤,千億巨頭竟也在列,發生了什麼?背後...
    11月下旬,國內量化私募產品突然大面積熄火,成為近期市場關注的焦點。據券商中國記者從業內了解,部分私募的相關產品上月回撤甚至超過5%,量化中性策略向來以穩健收益為特色,近期的回撤從以往看相當罕見。尤其值得注意的是,此番遭遇大幅回撤的不乏一些頭部明星量化私募,今年勢頭兇猛的千億級量化巨頭明汯投資同樣未能倖免。
  • 凱利公式在商品期貨交易的應用案例
    以下是作者近期與期貨VIP群內客戶關於如何運用凱利公式做好鐵礦石等期貨品種交易的聊天記錄。數道:大家晚上好,明天周一是新的一周的交易,今天群裡進來新的成員,我們老的群員對我們的交易系統也有一個逐步的認識過程,我把我們的交易系統的基本概念給大家做一個介紹。
  • 國債期貨交易中的「理想」與「現實」
    3、國債期貨CTD是高久期還是中低久期完全是由可交割券收益率來決定,極端來看如果7Y國債相對於其他可交割券利差足夠大,其在任何收益率都會成為CTD。 02. 「基差交易主要現券交易對象是CTD」?
  • 八種著名交易系統
    1、拉瑞.威廉士跳空交易系統拉瑞.威廉士簡介:威廉指標的創使人、當今美國著名期貨交易員、作家、專欄編輯、資產管理經理。曾獲羅賓斯杯期貨交易冠軍賽的總冠軍,在不到12個月的時間裡使1萬美元變成了110萬美元,現就職美國國家期貨理事會。跳空交易系統基本理念:拉瑞.威廉士在其著作《短線交易秘訣》中稱,該系統是其研究過以及交易過的最值得信賴的短線形態,許多系統開發人員都把它納入實務操作當中。
  • 盈寬財經準神聯盟:散戶不賺錢,也許量化交易可以幫助你
    簡單來看,期貨市場的多空機制,不管是漲是跌都能賺錢,但是操作期貨能實現穩定盈利的人真心不多,在這個市場上,很容易形成馬太效應——強者越強,弱者越弱。說句很傷人的話,大多數朋友虧錢就是因為沒對手厲害。這種弱小不僅僅是資金小的原因,還包括個人的知識儲備,交易心理等等。
  • 量化交易在疫情這場危機中可以學到什麼?
    傳統上,量化策略通常專注於基於價格時間序列動態(例如統計套利)或基於橫截面數據(例如要素投資)來預測價格。幾年前的歷史預測很有意義,當時數據集很有限,主要覆蓋價格序列。當下的金融發展中,交易員可以訪問各種各樣的實時數據源,使我們能夠試試揣測市場的相關財務變量變化和衡量市場的狀態。即時預測依靠非結構觀測來進行短時預測。