وسائل لوڈ ہو رہے ہیں... لوڈنگ...

ڈیجیٹل کرنسی کے اختیارات کی مقدار میں تجارت کا آلہ

مصنف:ایجاد کاروں کی مقدار - خواب, تخلیق: 2019-12-27 17:35:30, تازہ کاری: 2023-10-17 21:26:52

开箱即用的数字货币期权量化交易工具

ڈیجیٹل کرنسی کے اختیارات کی مقدار میں تجارت کا آلہ

1، ڈیجیٹل کرنسی کے اختیارات کی مقدار، طریقہ کار کی تجارت

حالیہ برسوں میں بہت سے تبادلے نے ڈیجیٹل کرنسی کے اختیارات کے اس مشتق کی تجارت کی خصوصیات کو کھول دیا ہے، اور روایتی اختیارات کی طرح، اختیارات کی تجارت اور مستقبل کی تجارت وغیرہ کے ساتھ مل کر، بہت سے تجارتی حکمت عملی، تجارتی طریقوں کو یکجا کیا جا سکتا ہے. اگرچہ مارکیٹ میں بہت سے کھلے ذرائع کی مقدار کی تجارت کے اوزار موجود ہیں، لیکن ان کے اوزار کو فریم ورک کی بنیادوں کو جاننے کی ضرورت ہوتی ہے، فریم ورک کی پروگرامنگ کی زبان کو لکھنے کے ساتھ واقف ہیں یا دستی طور پر پیچیدہ تعیناتی، ترتیب، ترمیم کرنے کی ضرورت ہوتی ہے.

发明者量化(FMZ.COM)在早期架构设计时,就考虑了各种金融衍生品量化、程序化交易的支持,非常快捷的接入了期权交易。期权交易基本上和期货交易类似,甚至更加简单。并且没有增加新接口,熟悉使用FMZ的用户不会增加其它学习成本,只用把期权合约当做期货合约一样设置,就可以对期权合约进行行情获取,下单、撤单、查询持仓等操作。

2، براہ راست مقامی پروگرامنگ زبان کا استعمال کرتے ہوئے Deribit ایکسچینج تک رسائی حاصل کریں

مثال کے طور پر، ہم ڈیربٹ ایکسچینج کے اختیارات کے معاہدے کا استعمال کرتے ہیں، مثال کے طور پر، ہم موجودہ کسی بھی اختیارات کے معاہدے کی اشاریہ قیمت حاصل کرنا چاہتے ہیں.

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

开箱即用的数字货币期权量化交易工具

آپ دیکھ سکتے ہیں کہ صرف اس اعداد و شمار کو حاصل کرنے کے لئے، آپ کو N سے زیادہ کوڈ لکھنے کی ضرورت ہے۔

3، انٹرفیس کا استعمال کرتے ہوئے ایجاد کنندہ کوالٹی ٹریڈنگ پلیٹ فارم پیکجنگ

ہم نے FMZ کے ساتھ دو سادہ جملوں میں یہ کام کر لیا ہے۔

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)               # 打印需要的数据,观察
}

开箱即用的数字货币期权量化交易工具

جیسا کہ آپ دیکھ سکتے ہیں ، صرف چند لائنوں کے کوڈ کے ساتھ ، آپ کو مطلوبہ ڈیٹا حاصل کرنا بہت آسان ہے۔

یہ صرف تبادلے کے غیر دستخط شدہ عوامی API انٹرفیس تک رسائی حاصل کرنے کے لئے ہے ، اگر دستخط شدہ نجی انٹرفیس تک رسائی حاصل کی جائے تو یہ زیادہ پیچیدہ ہوگا۔

ہر انٹرفیس کو دستخط ، پیرامیٹرز اور دیگر بہت سارے کام کرنے کی ضرورت ہوتی ہے۔

        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، زیادہ پیچیدہ ضروریات، افعال

اس کے علاوہ ، اگر آپ کو متوازی ، متضاد حصول ، ترتیب دینے والی کارروائیوں کی ضرورت ہے ، اور متضاد کوڈ بیس پر کام کرنے کے لئے استعمال کیا جاتا ہے تو ، آپ کو زیادہ پیچیدہ متضاد پروسیسنگ منطق لکھنے کی ضرورت ہوگی ، جس کی وجہ سے لاک ڈاؤن وغیرہ جیسے منطقی ڈیزائن کے مسائل پیدا ہوسکتے ہیں۔ اگر آپ کو چارٹ دکھانے کی ضرورت ہے تو ، پھر ایک بڑے ذخیرے کے استعمال کو سیکھنے کے ل even ، یہاں تک کہ ایک پروگرامنگ پر مبنی مقداری تاجر کو بھی سیکھنے میں کچھ وقت درکار ہوتا ہے۔ لیکن ایجاد کاروں کا استعمال کرنا بہت آسان ہے ، کیونکہ یہ تمام خصوصیات پہلے سے ہی نصب ہیں ، اور ڈیزائن کردہ کال انٹرفیس بہت آسان ہیں۔ آسان کوڈ کو ہر طرح کی ضروریات کو پورا کرنے کے لئے استعمال کیا جاسکتا ہے۔

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

پلیٹ فارم کے ذریعہ فراہم کردہ ٹیمپلیٹ لائبریری "ڈرائنگ لائن کلاس لائبریری" کا استعمال کرتے ہوئے ، یہ بہت آسان ہے کہ K لائن چارٹ تیار کیا جاسکے:开箱即用的数字货币期权量化交易工具

اس کے علاوہ بھی بہت سی خصوصیات ہیں جن کو دریافت کرنے اور ان کی ترقی کے لیے استعمال کیا جا سکتا ہے۔

5، پیچھے کی طرف نوٹ

اگر براہ راست اوپر کی طرح ایک گو زبان (یا پطرون وغیرہ) کے ساتھ لاگو کیا جاتا ہے تو ، ممکنہ طور پر نئے ساتھیوں کو ، براہ راست >_< سے دور کردیا جاتا ہے۔ ڈیربٹ کے اختیارات کے استعمال کے لئے مثال کی حکمت عملی کے بارے میں مزید معلومات حاصل کریں:https://www.fmz.com/strategy/179475


متعلقہ مواد

مزید معلومات