新聞中心
這篇文章主要講解了“Go語(yǔ)言怎么訪問(wèn)Deribit交易所”,文中的講解內(nèi)容簡(jiǎn)單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來(lái)研究和學(xué)習(xí)“Go語(yǔ)言怎么訪問(wèn)Deribit交易所”吧!
創(chuàng)新互聯(lián)是專業(yè)的大足網(wǎng)站建設(shè)公司,大足接單;提供成都做網(wǎng)站、網(wǎng)站制作,網(wǎng)頁(yè)設(shè)計(jì),網(wǎng)站設(shè)計(jì),建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行大足網(wǎng)站開(kāi)發(fā)網(wǎng)頁(yè)制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛(ài)的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來(lái)合作!
1、數(shù)字貨幣期權(quán)量化、程序化交易
最近有不少交易所都陸續(xù)開(kāi)啟了數(shù)字貨幣期權(quán)這個(gè)衍生品的交易功能,和傳統(tǒng)期權(quán)類似,期權(quán)交易和期貨交易等相結(jié)合,可以組合出不少交易策略,交易方法。雖然市面上有不少開(kāi)源的量化交易工具,不過(guò)這些工具動(dòng)輒需要了解框架底層,熟悉編寫框架的編程語(yǔ)言或者需要自己手動(dòng)進(jìn)行復(fù)雜的調(diào)試,配置,修改。對(duì)于程序化交易、量化交易入門的新手實(shí)在不是很方便。大量的本應(yīng)該專注于交易策略,交易思路的時(shí)間都被投入到了程序調(diào)試,編程語(yǔ)言學(xué)習(xí)中了。
發(fā)明者量化(FMZ.COM)在早期架構(gòu)設(shè)計(jì)時(shí),就考慮了各種金融衍生品量化、程序化交易的支持,非常快捷的接入了期權(quán)交易。期權(quán)交易基本上和期貨交易類似,甚至更加簡(jiǎn)單。并且沒(méi)有增加新接口,熟悉使用FMZ的用戶不會(huì)增加其它學(xué)習(xí)成本,只用把期權(quán)合約當(dāng)做期貨合約一樣設(shè)置,就可以對(duì)期權(quán)合約進(jìn)行行情獲取,下單、撤單、查詢持倉(cāng)等操作。
2、直接使用原生編程語(yǔ)言訪問(wèn)Deribit交易所
我們就以Deribit交易所期權(quán)合約為例,比如我們要獲取當(dāng)前某個(gè)期權(quán)合約的指數(shù)價(jià)格。
用Go語(yǔ)言實(shí)現(xiàn):
package main import "net/http" import "io/ioutil" import "fmt" import "encoding/json" func main() { // 獲取行情, 訪問(wèn)接口:https://www.deribit.com/api/v2/public/ticker?instrument_name=BTC-27DEC19-7250-P resp, err := http.Get("https://www.deribit.com/api/v2/public/ticker?instrument_name=BTC-27DEC19-7250-P") if err != nil { panic(err) } defer resp.Body.Close() body, err := ioutil.ReadAll(resp.Body) if err != nil { panic(err) } ret := string(body) fmt.Println("這只是字符串?dāng)?shù)據(jù)ticker:", ret) fmt.Println("需要轉(zhuǎn)換為JSON格式") type js struct { data interface{} } ticker := new(js) json.Unmarshal([]byte(ret), &ticker.data) fmt.Println("ticker:", ticker) fmt.Println("ticker 中的標(biāo)記價(jià)格數(shù)據(jù)index_price:", ticker.data.(map[string]interface{})["result"].(map[string]interface{})["index_price"]) }
可以看到只為了獲取這個(gè)數(shù)據(jù),寫了N多一堆代碼。
3、使用發(fā)明者量化交易平臺(tái)封裝的接口
我們使用FMZ簡(jiǎn)單兩句就搞定了。
function main() { exchange.IO("base", "https://test.deribit.com") # 切換為 交易所提供的模擬盤 exchange.SetContractType("BTC-3JAN20-7250-P") # 設(shè)置期權(quán)合約 var ticker = exchange.GetTicker() # 獲取期權(quán)行情 Log(ticker.Info.result.index_price) # 打印需要的數(shù)據(jù),觀察 }
可以看到,短短幾行代碼,就很簡(jiǎn)單的獲取到了需要的數(shù)據(jù)。
這僅僅是訪問(wèn)了交易所的非簽名的公共API接口,如果訪問(wèn)簽名的私有接口會(huì)更加復(fù)雜。
每個(gè)接口還要做一大堆的簽名、參數(shù)等處理:
strBody := "" strQuery := "" ts := toString(time.Now().UnixNano() / 1e6) nonce := toString(time.Now().UnixNano() / 1e6) uri := resource if httpMethod == "GET">
4、更加復(fù)雜的需求、功能
不僅如此,如果用到需要并發(fā)、異步獲取行情,下單操作,又要用到處理異步的代碼庫(kù),需要編寫更加復(fù)雜的異步處理邏輯,一個(gè)不留神還可能造成鎖死等邏輯設(shè)計(jì)問(wèn)題。如果再需要用到圖表顯示,接著要學(xué)習(xí)一大堆庫(kù)的使用,即使是一個(gè)有編程基礎(chǔ)的量化交易者,也需要一定時(shí)間學(xué)習(xí)。不過(guò)使用發(fā)明者量化就簡(jiǎn)單的多了,因?yàn)檫@些功能都已經(jīng)封裝好了,設(shè)計(jì)的調(diào)用接口都非常簡(jiǎn)單易用。可以用很少的代碼實(shí)現(xiàn)各種需求的功能。
function main(){ exchange.IO("base", "https://test.deribit.com") exchange.SetContractType("BTC-27DEC19-7250-P") while(1){ var records = exchange.GetRecords() Log(records) $.PlotRecords(records, "K") Sleep(1000) } }
使用平臺(tái)提供的模板庫(kù)「畫線類庫(kù)」,很簡(jiǎn)單的就可以實(shí)現(xiàn)畫出K線圖表:
感謝各位的閱讀,以上就是“Go語(yǔ)言怎么訪問(wèn)Deribit交易所”的內(nèi)容了,經(jīng)過(guò)本文的學(xué)習(xí)后,相信大家對(duì)Go語(yǔ)言怎么訪問(wèn)Deribit交易所這一問(wèn)題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!
本文名稱:Go語(yǔ)言怎么訪問(wèn)Deribit交易所
轉(zhuǎn)載源于:http://ef60e0e.cn/article/jjjosi.html