Type/to search
8
Follow
1364
Followers
Chuyển đổi API Deribit Futures để phù hợp với giao dịch định lượng tùy chọn
Original
Created 2019-10-29 14:57:54  Updated 2024-12-16 11:24:47
 0
 3118

img

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

kiểu
Chiến lược định hướng:Mua quyền chọn muaBán quyền chọn bánBull Call SpreadBull Put Spread
--Mua quyền chọn bánBán quyền chọn muaBear Call SpreadBear Put Spread
Chiến lược biến động:Bán StraddleBán Wide StraddleMua StraddleMua Wide Straddle
Chiến lược phòng ngừa rủi ro:Cuộc gọi được bảo hiểmCovered PutCuộc gọi bảo vệBảo vệ Đặt
--Giới hạn dài gấp đôiGiới hạn gấp đôi vị thế bán khống----

Trích dẫn từkết nối

Để viết một chiến lược giao dịch quyền chọn, trước tiên bạn vẫn cần phải đặt nền tảng vững chắc và quen thuộc với các hoạt động cơ bản như đặt lệnh, thu thập thông tin thị trường, hủy lệnh và nắm giữ vị thế. Việc viết chiến lược vẫn sử dụng Nền tảng giao dịch định lượng Inventor, mặc dù Nền tảng giao dịch định lượng Inventor hiện nay chủ yếu hỗ trợ giao dịch tiền tệ sang tiền tệ, giao dịch hợp đồng và giao dịch đòn bẩy trong lĩnh vực giao dịch định lượng tiền kỹ thuật số. Không có nhiều thông tin liên quan đến giao dịch quyền chọn. Dưới đây, chúng tôi sẽ lấy sàn giao dịch "Deribit" làm ví dụ để giới thiệu cách sử dụng Nền tảng giao dịch định lượng Inventor để chơi giao dịch quyền chọn tiền kỹ thuật số.

Thông tin liên quan đến Deribit

Tài liệu API: https://docs.deribit.com/v2/?javascript#public-get_last_settlements_by_instrument
Đĩa mô phỏng: 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 nền tảng mô phỏng, kích hoạt API KEY và lấy API KEY. Cấu hình trên Nền tảng giao dịch định lượng Inventor cũng giống như cấu hình tài khoản thực.
img

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

  • Ngày thực hiện: Ngày mà bên mua và bên bán quyền chọn hoàn tất việc giao hợp đồng quyền chọn.
  • Giá thực hiện: Vào ngày thực hiện, bên mua và bên bán quyền chọn hoàn tất việc giao hợp đồng quyền chọn theo giá thực hiện.
  • Phí bảo hiểm: Đây là giá của một quyền chọn. Giống như hợp đồng tương lai giao ngay, báo giá bao gồm giá mua và giá bán.
    Điều đáng chú ý là do tính thanh khoản của quyền chọn thường kém hơn so với hợp đồng tương lai và hợp đồng giao ngay nên chênh lệch giá mua-bán có thể lớn, do đó cần đặc biệt chú ý đến điều này! Sau khi giao dịch hoàn tất, giá giao dịch là chi phí của quyền chọn dài. Vào thời điểm này, vị thế dài có được quyền (quyền thực hiện quyền chọn); và vị thế ngắn của quyền chọn, với tư cách là bên nhận được phí bảo hiểm , có nghĩa vụ bổ sung. Khi vị thế mua yêu cầu thực hiện quyền, vị thế bán phải hợp tác.
  • Quyền chọn mua và bán:
    Quyền chọn mua là quyền mà người nắm giữ quyền chọn mua dài hạn phải yêu cầu người nắm giữ quyền chọn bán ngắn hạn mua một lượng Bitcoin nhất định với mức giá thực hiện nhất định vào ngày thực hiện nhất định và người nắm giữ quyền chọn bán ngắn hạn có nghĩa vụ hợp tác với người nắm giữ quyền chọn mua dài hạn. người nắm giữ. Quyền chọn bán là quyền mà người nắm giữ quyền chọn dài hạn phải yêu cầu người nắm giữ quyền chọn ngắn hạn mua một lượng Bitcoin nhất định với giá thực hiện nhất định vào ngày thực hiện nhất định. Vào ngày thực hiện nhất định, người bán khống được yêu cầu bán số bitcoin đã cho ở một mức giá thực hiện nhất định và người bán khống có nghĩa vụ hợp tác với người bán mua.

Thông tin thị trường

Theo tài liệu API của Deribit Exchange, giao diện thị trường của Deribit chỉ truyền dữ liệu để truy cập thông tin 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 bởi hàm SetContractType), do đó về cơ bản bạn có thể sử dụng giao diện để lấy thông tin thị trường.GetTickerNhận báo giá cho các lựa chọn.

Tất nhiên, gói mặc định của Inventor Quantitative Trading Platform là thị trường thực tế của Deribit Exchange. Trước tiên, chúng ta phải chuyển sang thị trường mô phỏng và sử dụng mã sau:

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

Sau đó, chúng tôi hiện đang thiết lập một hợp đồng tùy chọnBTC-27DEC19-7000-P
Đây là quyền chọn bán có ngày thực hiện: 27/12/19 và giá thực hiện: 7000

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

Sau đó lấy nó. Chúng tôi cùng nhau viết nó, chạy mã và thử nghiệm để lấy thông tin thị trường của 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) }

Sử dụng các công cụ gỡ lỗi có thể rất tiện lợi để kiểm tra:
img
Bạn có thể thấy giá cả phù hợp với giá trên đĩa mô phỏng.
img

Các phương pháp gọi của các giao diện thị trường khác đều giống nhau và sẽ không được nhắc lại ở đây. Cần lưu ý rằng:
Giao dịch quyền chọn không thực sự sôi động. Đôi khi sẽ không có lệnh mua hoặc lệnh bán nào trên thị trường. Lúc này, lớp dưới cùng của Nền tảng giao dịch định lượng Inventor sẽ phát hiện giá trị 0 và báo lỗi. Bạn có thể sử dụngSetErrorFilter("Invalid ticker")Bỏ qua lỗi này và sử dụngGetRawJSONHàm này lấy thông tin gốc của thị trường và đóng gói dữ liệu. Sau đây tôi viết một ví dụ để đạt được các hàm 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 }

Khi gọi hãy viết:Log($.GetTicker(exchange))

Đặt hàng

Hoạt động đặt lệnh rất đơn giản. So với giao dịch tương lai, chỉ có hai hướng: mua và bán. Cũng sử dụngSell,BuyTrình tự chức năng.

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

Lệnh vừa đặt cũng xuất hiện trên bảng giao dịch mô phỏng.
img

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

Hủy đơn hàng

Phương pháp tương tự được sử dụng để hủy đơn hàng.CancelOrderChức năng này giống như chức năng hủy lệnh trong giao dịch tương lai.
img

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

Việc có được các tài sản có sẵn trong một tài khoản cũng giống hệt như trong giao dịch tương lai. Gọi trực tiếpGetAccountChức năng.

Hiển thị trên trang trao đổi mô phỏng
img

Chạy mã để nhận được:
img

Nhận thông tin vị trí

Đối với các vị trí giữ, bạn không thể trực tiếp sử dụng góiGetPositionchức năng này, vì theo mặc định, các giao dịch Deribit là giao dịch tương lai, không phải giao dịch quyền chọn và chỉ có chức năng này mới có thể được sử dụng để có được vị thế tương lai.
Do đó, chúng ta phải đóng gói chức năng tự mình có được vị thế quyền chọn.

Giao diện chức năng để lấy vị trí trong 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ọiLog($.GetPosition(exchange))Bạn có thể in thông tin vị trí.
img
img

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

Related Recommendations
Comment
All comments (0)
No data
No data
  • 1
iPhone Download
Forums
PINE Language
© 2015 - ∞ INVENTOR PTE LTD (SG)