avatar of 发明者量化-小小梦 发明者量化-小小梦
fokus pada mesej peribadi
4
fokus pada
1271
Pengikut

Alat dagangan kuantitatif pilihan mata wang digital yang luar biasa

Dicipta dalam: 2019-12-27 17:35:30, dikemas kini pada: 2023-10-17 21:26:52
comments   0
hits   2907

Alat dagangan kuantitatif pilihan mata wang digital yang luar biasa

Alat dagangan kuantitatif pilihan mata wang digital yang luar biasa

1. Dagangan kuantitatif dan terprogram bagi pilihan mata wang digital

Baru-baru ini, banyak bursa telah mula berdagang derivatif pilihan mata wang digital Sama seperti pilihan tradisional, gabungan perdagangan pilihan dan perdagangan niaga hadapan boleh mencipta pelbagai strategi dan kaedah perdagangan. Walaupun terdapat banyak alat perdagangan kuantitatif sumber terbuka di pasaran, alat ini selalunya memerlukan pemahaman rangka kerja asas, membiasakan diri dengan bahasa pengaturcaraan yang digunakan untuk menulis rangka kerja, atau melakukan penyahpepijatan, konfigurasi dan pengubahsuaian yang kompleks secara manual. Ia tidak begitu mudah untuk orang baru yang baru dalam perdagangan program dan perdagangan kuantitatif. Banyak masa yang sepatutnya tertumpu pada strategi perdagangan dan idea perdagangan dihabiskan untuk penyahpepijatan program dan pembelajaran bahasa pengaturcaraan.

Semasa mereka bentuk seni bina awalnya, FMZ.COM mengambil kira sokongan untuk perdagangan kuantitatif dan terprogram bagi pelbagai derivatif kewangan, dan dengan cepat disambungkan kepada perdagangan opsyen. Dagangan opsyen pada asasnya serupa dengan dagangan niaga hadapan, atau lebih mudah. Dan tiada antara muka baharu ditambah Pengguna yang biasa menggunakan FMZ tidak akan menanggung sebarang kos pembelajaran tambahan Mereka hanya perlu menyediakan kontrak opsyen sebagai kontrak niaga hadapan untuk mendapatkan maklumat pasaran, membuat pesanan, membatalkan pesanan, menyemak kedudukan dan melaksanakan yang lain. operasi pada kontrak opsyen.

2. Akses pertukaran Deribit secara langsung menggunakan bahasa pengaturcaraan asli

Mari kita ambil kontrak opsyen pertukaran Deribit sebagai contoh, kita ingin mendapatkan harga indeks kontrak opsyen semasa.

Dilaksanakan dalam Go:

package main 

import "net/http"
import "io/ioutil"
import "fmt"
import "encoding/json"



func main() {
    // 获取行情, 访问接口: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("这只是字符串数据ticker:", ret)
    fmt.Println("需要转换为JSON格式") 

    type js struct {
        data interface{}
    }

    ticker := new(js)

    json.Unmarshal([]byte(ret), &ticker.data)

    fmt.Println("ticker:", ticker) 
    fmt.Println("ticker 中的标记价格数据index_price:", ticker.data.(map[string]interface{})["result"].(map[string]interface{})["index_price"])
}

Alat dagangan kuantitatif pilihan mata wang digital yang luar biasa

Anda dapat melihat bahawa banyak kod telah ditulis hanya untuk mendapatkan data ini.

3. Gunakan antara muka yang dikapsulkan oleh Platform Dagangan Kuantitatif Pencipta

Kami menggunakan FMZ untuk melakukannya dalam dua ayat sahaja.

function main() {
    exchange.IO("base", "https://test.deribit.com")   # 切换为 交易所提供的模拟盘
    exchange.SetContractType("BTC-3JAN20-7250-P")     # 设置期权合约
    var ticker = exchange.GetTicker()                 # 获取期权行情
    Log(ticker.Info.result.index_price)               # 打印需要的数据,观察
}

Alat dagangan kuantitatif pilihan mata wang digital yang luar biasa

Seperti yang anda lihat, dengan hanya beberapa baris kod, adalah sangat mudah untuk mendapatkan data yang diperlukan.

Ini hanya mengakses antara muka API awam yang tidak ditandatangani untuk mengakses antara muka peribadi yang ditandatangani akan menjadi lebih rumit.

Setiap antara muka juga perlu melakukan banyak tandatangan, parameter dan pemprosesan lain:

        strBody := ""
	strQuery := ""
	ts := toString(time.Now().UnixNano() / 1e6)
	nonce := toString(time.Now().UnixNano() / 1e6)
	uri := resource
	if httpMethod == "GET" {
		strQuery = encodeParams(params, false)
		uri = fmt.Sprintf("%s?%s", resource, strQuery)
	} else if httpMethod == "POST" {
		if len(raw) > 0 && len(raw[0]) > 0 {
			strBody = raw[0]
		} else {
			strBody = json_encode(params)
		}
	}

	strRequestDate := fmt.Sprintf("%s\n%s\n%s\n", httpMethod, uri, strBody)
	strToSign := fmt.Sprintf("%s\n%s\n%s", ts, nonce, strRequestDate)
	h := hmac.New(sha256.New, []byte(p.secretKey))
	h.Write([]byte(strToSign))
	strSign := hex.EncodeToString(h.Sum(nil))

	req := Request{
		Method:  httpMethod,
		Uri:     fmt.Sprintf("%s%s", p.apiBase, uri),
		Timeout: p.timeout,
		Body:    strBody,
	}

4. Keperluan dan fungsi yang lebih kompleks

Bukan itu sahaja, jika anda perlu mendapatkan maklumat pasaran dan membuat pesanan secara serentak dan tidak segerak, dan menggunakan perpustakaan kod yang mengendalikan operasi tak segerak, anda perlu menulis logik pemprosesan tak segerak yang lebih kompleks, yang mungkin menyebabkan masalah reka bentuk logik seperti kebuntuan jika anda tidak berhati-hati. Jika anda perlu menggunakan paparan carta sekali lagi, anda perlu belajar cara menggunakan banyak perpustakaan Walaupun untuk pedagang kuantitatif dengan pengetahuan asas pengaturcaraan, ia akan mengambil sedikit masa untuk belajar. Walau bagaimanapun, adalah lebih mudah untuk menggunakan Pengkuantitian Pencipta, kerana fungsi ini telah dikapsulkan dan antara muka panggilan yang direka bentuk adalah sangat mudah dan mudah digunakan. Anda boleh menggunakan kod yang sangat sedikit untuk melaksanakan pelbagai fungsi yang diperlukan.

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)
    }
}

Menggunakan perpustakaan templat “Perpustakaan Garis Lukisan” yang disediakan oleh platform, adalah sangat mudah untuk melukis carta garis K: Alat dagangan kuantitatif pilihan mata wang digital yang luar biasa

Terdapat banyak lagi ciri untuk diterokai dan dibangunkan!

5. Postscript

Jika anda menggunakan bahasa Go (atau Python, dsb.) seperti di atas untuk melaksanakannya, pelajar baharu mungkin tidak digalakkan secara langsung >_< Untuk contoh strategi tentang pilihan Deribit, lihat: https://www.fmz.com/strategy/179475