Đổi mới API tương lai Deribit để phù hợp với giao dịch định lượng quyền chọn

Tác giả:Giấc mơ nhỏ, Tạo: 2019-10-29 14:57:54, Cập nhật: 2023-10-17 21:20:50

img

Các sàn giao dịch tương lai tiền kỹ thuật số hiện đã có rất nhiều, nhưng như các sản phẩm phái sinh tương lai, giao dịch quyền chọn tiền kỹ thuật số, hiện tại không có nhiều sàn giao dịch trên thị trường, hỗ trợ giao dịch quyền chọn là Deribit, BitMEX. Trong lĩnh vực giao dịch định lượng, giao dịch quyền chọn cũng có nhiều chiến lược khác nhau, chẳng hạn như tìm kiếm các chiến lược quyền chọn được đề cập trong một số thông tin:

Loại
Chiến lược định hướng: Mua quyền chọn mua tiền Bán quyền giảm giá Thị trường bò nhìn thấy giá kim cương thấp Thị trường bò giảm giá
Mua quyền giảm giá Bán quyền chọn Thị trường gấu chứng kiến giá dầu giảm Thị trường gấu giảm
Chiến lược biến động: Bán qua đường Bán rộng Mua qua đường Mua rộng
Chiến lược bù đắp: Đứng sẵn sàng xem Đánh giá Những con chim bảo vệ Sự suy giảm bảo vệ
Đa đầu Tăng độ không

Dựa trênKết nối

Viết chiến lược giao dịch tùy chọn vẫn cần phải xây dựng một nền tảng vững chắc trước, các hoạt động cơ bản như đặt hàng, mua thị trường, rút tiền, lấy cổ phần, v.v. nên được quen thuộc.

Thông tin liên quan

Tài liệu API:https://docs.deribit.com/v2/?javascript#public-get_last_settlements_by_instrumentĐĩa giả:https://docs.deribit.com/v2/?javascript#public-get_last_settlements_by_instrument

Bạn có thể đăng ký tài khoản trên trang web đĩa tương tự, mở API KEY, truy cập vào API KEY.img

Có 4 khái niệm cơ bản cần hiểu khi giao dịch quyền chọn:img

  • Ngày thực thi: Các bên có quyền chọn hoàn thành giao dịch hợp đồng quyền chọn vào ngày đó.
  • Giá quyền hành: Vào ngày quyền hành, hai bên có nhiều không gian quyền chọn hoàn tất giao dịch hợp đồng quyền chọn với giá quyền hành.
  • Giá quyền chọn: Đó là giá của tùy chọn, giống như tương lai hiện tại, đề nghị có giá mua và giá bán. Điều đáng chú ý là do khả năng thanh khoản của các quyền chọn thường kém hơn so với tiền mặt và tiền mặt, nên giá mua bán có thể chênh lệch rất lớn, đặc biệt cần lưu ý ở đây! Sau khi giao dịch, giá giao dịch là chi phí cho nhiều quyền chọn, khi đó nhiều quyền được quyền (làm việc quyền chọn); và một phần của quyền chọn không có tiền, thêm một nghĩa vụ, một khi nhiều quyền yêu cầu thực hiện quyền, không có quyền phải hợp tác.
  • Theo đó, các nhà đầu tư đã đưa ra các lựa chọn khác nhau. Các quyền chọn mua là quyền mua một số Bitcoin nhất định vào một ngày hoạt động nhất định, với một mức giá hoạt động nhất định, với nghĩa vụ hỗ trợ nhiều đầu; và các quyền chọn mua là quyền bán Bitcoin nhất định vào một ngày hoạt động nhất định, với giá hỗ trợ nhiều đầu.

Việc thu thập thông tin

Nhìn vào tài liệu API của sàn giao dịch Deribit, chúng ta có thể thấy rằng giao diện thị trường của Deribit chỉ được truyền để truy cập thị trường tương lai hoặc quyền chọn.instrument_nameCác tham số khác nhau (instrument_name được thiết lập thông qua hàm SetContractType), thì về cơ bản bạn có thể sử dụng cùng với giao diện lấy thị trườngGetTickerNhững người tham gia vào cuộc họp này nói rằng:

Dĩ nhiên, mặc định các nhà phát minh bao gồm các sàn giao dịch định lượng là ổ đĩa thực của sàn giao dịch Deribit, trước tiên chúng ta phải chuyển sang ổ đĩa tương tự bằng cách sử dụng mã sau:

exchange.IO("base", "https://test.deribit.com")

Và sau đó chúng ta sẽ thiết lập hợp đồng quyền chọn hiện tại.BTC-27DEC19-7000-PĐịa điểm: Đây là ngày quyền hành là: 27 DEC 19, giá quyền hành là: 7000

exchange.SetContractType("BTC-27DEC19-7000-P")

Sau đó lấy, chúng tôi viết cùng nhau, để mã chạy, kiểm tra việc mua hợp đồng quyền chọn này.

function main () {
    exchange.IO("base", "https://test.deribit.com")
    exchange.SetContractType("BTC-27DEC19-7000-P")
    var ticker = exchange.GetTicker()
    Log(ticker)
}

Các công cụ kiểm tra có thể dễ dàng sử dụng:imgBạn có thể thấy giá tương tự như trên đĩa điện tử.img

Các công ty khác trong ngành cũng sử dụng các giao diện liên kết tương tự, nhưng không thể nói về điều này ở đây. Giao dịch quyền chọn không hoạt động nhiều, giao dịch đôi khi xảy ra không có thanh toán, hoặc không có lệnh bán, khi đó, nhà phát minh định lượng nền tảng giao dịch đáy sẽ phát hiện ra một số 0 và sẽ báo cáo lỗi, có thể sử dụng.SetErrorFilter("Invalid ticker")Những người khác cũng có thể sử dụng những thông tin này.GetRawJSONTrong khi đó, các chức năng có thể lấy dữ liệu thông tin sơ bộ của thị trường, và tôi đã viết một ví dụ về việc thực hiện các chức năng tương tự:

function init() {
    SetErrorFilter("Invalid ticker")
}

$.GetTicker = function(e) {
    var ticker = e.GetTicker()
    if (!ticker) {
        try {
            var ret = JSON.parse(e.GetRawJSON())
            return {
                Info : ret,
                High : ret.result.stats.high,
                Low : ret.result.stats.low, 
                Buy : ret.result.best_bid_price,
                Sell : ret.result.best_ask_price,
                Last : ret.result.last_price, 
                Volume : ret.result.stats.volume,
                OpenInterest : 0,
                Time : new Date().getTime()
            }
        } catch (err) {
            Log(err)
        }
    }
    
    return ticker
}

Người ta gọi điện thoại và viết:Log($.GetTicker(exchange))

Dưới đây

Các giao dịch dưới đây rất đơn giản, chỉ mua và bán hai hướng so với giao dịch tương lai.Sell,BuyCác hàm dưới đây.

function main () {
    exchange.IO("base", "https://test.deribit.com")
    exchange.SetContractType("BTC-27DEC19-7000-P")
    
    var id = exchange.Buy(0.017, 1)
    Log(exchange.GetOrder(id))
}

img

Một số người đã đăng ký đăng ký đăng ký vào trang web của mình.img

exchange.GetOrder(id)Bạn có thể truy vấn thông tin đặt hàng.

Thu hồi

Việc rút tiền cũng được sử dụng bởiCancelOrderTrong khi đó, các công cụ khác cũng có thể được sử dụng.img

Nhận tài sản có sẵn

Nhận tài sản có sẵn trong tài khoản cũng giống như giao dịch tương lai, gọi trực tiếpGetAccountCác hàm có thể.

Hiển thị trên trang giao dịch giảimg

Nhận mã chạy:img

Nhận thông tin lưu trữ

Không thể sử dụng trực tiếp các sản phẩm được đóng gói trong kho.GetPositionChức năng này chỉ được sử dụng để có được cổ phiếu tương lai vì mặc định giao dịch Deribit là giao dịch tương lai, chứ không phải giao dịch quyền chọn. Vì vậy, chúng ta phải tự mình đóng gói các chức năng để có được quyền sở hữu.

Giao diện chức năng lấy kho trên tài liệu API:img

$.GetPosition = function(e) {
    // /private/get_positions
    // currency  , kind 
    
    var positions = [] 
    var currency = e.GetCurrency()
    var arr = currency.split("_")
    var baseCurrency = arr[0]
    
    try {
        var ret = e.IO("api", "GET", "/api/v2/private/get_positions", "currency=" + baseCurrency + "&kind=option")
        for (var i in ret.result) {
            if (ret.result[i].size == 0 || ret.result[i].direction == "zero") {
                continue    
            } 
            
            var pos = {
                Info : ret.result[i], 
                Amount : ret.result[i].size,
                FrozenAmount : 0,
                Price : ret.result[i].average_price,
                Profit : ret.result[i].floating_profit_loss,
                MarginLevel : 0,
                Margin : 0,
                ContractType : ret.result[i].instrument_name,
                Type : ret.result[i].direction == "buy" ? ORDER_TYPE_BUY : ORDER_TYPE_SELL,
            }
            
            positions.push(pos)
        }
    } catch (err) {
        Log(err)
        positions = null
    }
    
    return positions
}

Gọi điệnLog($.GetPosition(exchange))Bạn có thể in thông tin lưu trữ.img img

Như vậy, các hoạt động cơ bản có thể được thực hiện, và phần còn lại có thể được nghiên cứu chiến lược giao dịch quyền chọn.


Có liên quan

Thêm nữa