디지털 화폐 선물 거래소는 이미 많이 있지만, 선물 파생물, 디지털 화폐 옵션 거래로 현재 시장에 있는 거래소는 거의 없습니다. 옵션 거래를 지원하는 거래소는 Deribit, BitMEX입니다. 양적 거래 분야에서 옵션 거래는 또한 다양한 전략을 가지고 있습니다. 예를 들어 검색에 일부 자료에 언급 된 옵션 전략:
유형 | |||||
---|---|---|---|---|---|
인도적 전략: | 유가증권 구매 | 파산 옵션 판매 | 황소 시장에서 오리온 가격이 낮다 | 쇠시장 부진 | |
– | 파산 옵션 구매 | 파인옵션 판매 | 곰 시장은 오리온 가격의 부진을 보았습니다. | 곰 시장의 부진 | |
유동성 전략: | 파는 스프레스 | 파는 넓은 스핀 들 | 횡단선 구매 | 폭넓은 범위를 구입 | |
헤드리지 전략: | 준비해 보세요 | 기하급수 | 보호용 비둘기 | 보호적 부진 | |
– | 다목적 이중적 | 공허한 양쪽 경계 | – | – |
이 문서는연결
옵션 거래 전략을 작성하기 위해서는 기본 주문, 시장 획득, 주문 철회, 보유 등의 작업에 익숙해야 한다. 전략 작성에는 여전히 발명자의 양적 거래 플랫폼을 사용한다. 비록 발명자의 양적 거래 플랫폼은 현재 디지털 통화 양적 거래 분야에 대한 지원이 주로 동전 거래, 계약 거래, 레버리지 거래이다. 옵션 거래에 대한 관련 정보는 많지 않다. 아래의 "데리빗" 거래소를 예로, 발명자의 양적 거래 플랫폼을 사용하여 디지털 통화 옵션 거래를하는 방법을 소개한다.
API 문서:https://docs.deribit.com/v2/?javascript#public-get_last_settlements_by_instrument모형 디스크:https://docs.deribit.com/v2/?javascript#public-get_last_settlements_by_instrument
아날로그 디스크 웹사이트에서 계정을 등록하고, API KEY를 열고, API KEY에 액세스할 수 있다.
옵션 거래에 대해 이해해야 할 네 가지 기본 개념은 다음과 같습니다.
데리빗 거래소의 API 문서를 보면, 데리빗 시장 인터페이스는 선물 또는 옵션 시장에 접근하기 위해 입력된 것입니다.instrument_name
매개 변수가 다르지만 (instrument_name는 SetContractType 함수를 통해 설정된) 기본적으로 시장을 얻는 인터페이스를 따라 사용할 수 있습니다.GetTicker
이 자금에 대해 많은 사람들이 알고 있습니다.
물론, 발명자의 양자 거래 플랫폼 패키지는 기본적으로 Deribit 거래소의 실제 디스크입니다. 먼저 다음 코드를 사용하여 아날로그 디스크로 전환합니다:
exchange.IO("base", "https://test.deribit.com")
그리고 우리는 현재 옵션 계약으로 설정합니다.BTC-27DEC19-7000-P
[중고]
이것은 27DEC19의 승권 날짜이며, 승권 가격은 7000입니다.
exchange.SetContractType("BTC-27DEC19-7000-P")
그리고 우리는 함께 작성하고 코드를 실행하여 이 옵션 계약을 얻는 방법을 테스트합니다.
function main () {
exchange.IO("base", "https://test.deribit.com")
exchange.SetContractType("BTC-27DEC19-7000-P")
var ticker = exchange.GetTicker()
Log(ticker)
}
이 사이트는 Google의 웹 사이트입니다. 이 사이트는 Google의 웹 사이트입니다이 비디오는 이 비디오에서 볼 수 있는 것과 비슷합니다.
다른 산업의 인터페이스 호출 방식은 동일하며, 여기에 더 이상 설명되지 않습니다.
옵션 거래는 매우 활발하지 않으며, 거래소에서는 때때로 결제 또는 판매 명령이 없는 상황이 발생할 수 있습니다. 이 경우 발명가는 거래소 바닥을 정량화하여 0의 숫자를 감지하고 오류를 나타냅니다.SetErrorFilter("Invalid ticker")
이 오류를 무시하고,GetRawJSON
이 함수는 시장의 원시 정보 포장을 얻을 수 있습니다.
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
}
이 글은 "이번 전화는Log($.GetTicker(exchange))
아래와 같은 동작은 매우 간단하며, 선물 거래에 비해 두 방향으로만 구매 및 판매가 가능합니다.Sell
,Buy
이 함수들은 다음과 같습니다:
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))
}
이 엑스페라에는 이미 주문한 상품이 등장합니다.
그리고exchange.GetOrder(id)
주문 정보를 확인하세요.
이 방법은CancelOrder
퓨처스 거래에서 환불하는 것과 같은 함수.
계좌 사용 가능한 자산은 선물 거래에서와 마찬가지로 바로 호출합니다.GetAccount
이 함수들은 다음과 같습니다.
모의 거래소 페이지에서 표시
실행 코드 획득:
하지만, 이 모든 것들은 단지 소매에만 적용되는 것이 아닙니다.GetPosition
이 함수는 기본으로 거래되는 데리빗 거래가 옵션 거래가 아닌 선물 거래이기 때문에 선물 보유를 얻을 수 있습니다.
그래서 이것은 우리가 직접 선택권을 보유하는 함수를 포장해야 할 것입니다.
API 문서에 저장된 함수 인터페이스를 가져옵니다:
$.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
}
전화Log($.GetPosition(exchange))
이 자료를 인쇄할 수도 있습니다.
이렇게 하면 기본 동작이 모두 실현되고 나머지는 옵션 거래 전략을 연구할 수 있습니다.