數字貨幣合約做市策略


更多精彩內容,歡迎關注公眾號:數量技術宅,也可添加技術宅個人微信號:sljsz01,與我交流。

做市策略原理

做市策略(market-maker strategy)是一種風險中立(risk-neutral)盤口價差套利策略,由於其交易頻率很高,也歸屬到高頻交易的范疇。

做市策略的基本原理是:在盤口Orderbook的買單合適位置、賣單合適位置,插入委買單和委賣單,如果插入的兩個單子都成交的話,做市商就吃到了買賣單之間的價差,而整個過程結束后,做市商所持有的頭寸並沒有變化。如果買賣單之間的價差扣除各種交易手續費之后還有盈余,那么該做市商就獲得了相應的盈利。

對於數字貨幣交易所來說,交易所更加支持流動性提供者的掛單行為,特別是在更為需要深度的合約市場,掛單(Maker)會比吃單(Taker),收取更為低廉的手續費。甚至對於交易量、資金量大的賬戶,會提供零費率、負費率(返還)的佣金比率。

雖然做市有獲取盤口買賣價差、更低廉的費率這些優勢,然后做市也有其風險所在, 這是因為,做市商本質上是整個市場的交易對手方。如果市場呈現急劇的單邊行情,做市策略下達的買賣委托單會大概率出現單邊成交的情況,而這些成交的頭寸,往往與市場的單邊趨勢是反向的,積聚的頭寸,容易在單向行情中虧損。比如下圖的市場環境中,做市策略比較容易累積多單而出現虧損。

因此,我們的做市策略,在進行做市交易前,在選擇是否下達做市指令之前,會預判一下市場的趨勢明顯程度,我們采用的是過去30分鍾K線的5周期均線和30周期均線來判斷,之所以選擇這個K線周期和計算周期,是為考慮了市場中期的趨勢,k線和計算周期太短,太容易受到短期價格噪音的干擾,周期太長,則會比較遲緩,在趨勢轉向時不夠靈活。

當30分鍾K的短周期均線位於長周期均線之上時,我們只做多頭方向的做市,即選擇合適的價格,先掛多頭開倉單,成交后再掛多頭平倉單;而當30分鍾K的短周期均線位於長周期均線之下,我們只做空頭方向的做市,先選擇合適的價格掛空頭開倉單,成交后掛空頭平倉單。

火幣交割合約API的實現

在描述完做市策略的原理后,我們接下來就調用火幣交割合約API,以API為基礎框架,來實現我們這一個做市策略的交易系統。之所以選擇合約API,是因為合約可以雙向操作,手續費更低,並且可以加杠桿交易,比起現貨交易更加的靈活。

第一部分,我們先確定策略需要交易的參數,比如交易的品種:contract,交易的合約:deliverate,掛單距離最新買一、賣一盤的價格偏移:offset,每次下單的合約張數:lots。這些參數,是該策略交易最核心的參數,我們在系統初始化時就指定好,大家也可以根據想要交易的不同品種,自行修改。

第二部分,是策略大方向的判斷,我們通過30分鍾k的雙均線,來判斷趨勢,以及做市的開倉方向。變量j的正負號,告訴我們短期均線是位於長期均線的上方還是下方,j>0,進入多頭開倉的邏輯,j<0,進入空頭開倉的邏輯。

第三部分,多頭做市,多頭做市包括開倉、平倉部分,在確定趨勢是多頭后,我們通過rest接口,讀取盤口最新的買一檔價格bid1,但我們並不直接在bid1掛單,因為盤口的買賣價差ask1-bid1,不一定夠來回的手續費。我們通過offset參數來調節。bid1-offset作為買開倉掛單的參數。掛單后,我們判斷開倉價格相比較最新盤口的bid1是否需要移動,如果bid1移動,需要重新計算買掛單價掛單。

對於平倉來說,當我們的開倉掛單成交,立即讀取盤口最新的賣盤價格ask1。同樣的道理,我們並不直接掛ask1,再次通過offset參數調節。這樣一來,我們每次一買一賣的利潤,相當於ask1-bid1+2*offset,相比較單純的盤口的買賣價差ask1-bid1,多了一部分讓我們可以自主控制的額外調節變量,通過調節該變量,我們既可以控制下單的頻率,也可以控制策略的平均盈利幅度。

第四部分,空頭做市,空頭做市的實現與多頭做市是鏡像對稱的,我們通過先掛ask1+offset的空頭開倉單,成交后再掛bid1-offset的多頭平倉單,實現的過程,可以參考多頭做市。下圖是策略開始運行后,系統打印的部分監控日志。

可能的改進方向

以上,我們介紹了做市策略的原理,以及用api實現做市策略,並開啟實盤的全過程。

對於這個策略,他的基礎思路,還是相對簡單的,如果我們要做出印鈔機式的斜45度向上的做市高頻策略,可以在這個策略的基礎上加以改進,此處我們提出幾個改進的思路,供大家后續研究時參考。

首先,選擇費率盡可能低的交易所、賬戶,比如bm,這個大家耳熟能詳的負費率做市交易所,或是在交易所有費率優惠活動的時候,比如近期火幣對所有的HUSD交易的maker都是零費率,無疑也為策略提供了用武之地。

其次,對於掛單時機的選擇,我們目前只是在掛單策略中加入了趨勢的判斷,除此之外,還可以引入更多的盤口擇時信號,比如order imbalance相關方向信號,等等。

此外,還可以考慮加入一定的風控機制,例如累積一定單邊頭寸只平倉;行情快速反向移動時對價、超價止損等。

想要獲取本次分享的完整代碼,或是任何關於數據分析、量化投資的問題,歡迎添加技術宅微信:sljsz01,與我交流

 


往期干貨分享推薦閱讀

數字貨幣資金費策略

分享一個年化15%以上的無風險套利機會

網格交易系統開發

通過深度學習股價截面數據分析和預測股票價格

Omega System Trading and Development Club內部分享策略Easylanguage源碼

一個真實數據集的完整機器學習解決方案(下)

一個真實數據集的完整機器學習解決方案(上)

如何使用交易開拓者(TB)開發數字貨幣策略

股指期貨高頻數據機器學習預測

如何使用TradingView(TV)回測數字貨幣交易策略

如何投資股票型基金?什么時間買?買什么?

【數量技術宅|量化投資策略系列分享】基於指數移動平均的股指期貨交易策略

AMA指標原作者Perry Kaufman 100+套交易策略源碼分享

【 數量技術宅 | 期權系列分享】期權策略的“獨孤九劍”

【數量技術宅|金融數據系列分享】套利策略的價差序列計算,恐怕沒有你想的那么簡單

【數量技術宅|量化投資策略系列分享】成熟交易者期貨持倉跟隨策略

如何獲取免費的數字貨幣歷史數據

【數量技術宅|量化投資策略系列分享】多周期共振交易策略

【數量技術宅|金融數據分析系列分享】為什么中證500(IC)是最適合長期做多的指數

商品現貨數據不好拿?商品季節性難跟蹤?一鍵解決沒煩惱的Python爬蟲分享

【數量技術宅|金融數據分析系列分享】如何正確抄底商品期貨、大宗商品

【數量技術宅|量化投資策略系列分享】股指期貨IF分鍾波動率統計策略

【數量技術宅 | Python爬蟲系列分享】實時監控股市重大公告的Python爬蟲


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM