現在,多くのデジタル通貨先物取引所があります.しかし,先物衍生品として,デジタル通貨オプション取引の市場には少数取引所があります. Deribit と BitMEX はオプション取引をサポートしています.定量取引の分野では,オプション取引には,いくつかの検索された資料で言及されているオプション戦略など,さまざまな戦略があります.
タイプ |
---|
戦略の方向性 |
– |
変動戦略: |
ヘッジ戦略: |
– |
引用したリンク
オプション取引戦略を準備するには,まずしっかりとした基礎を築き,注文を出し,ティッカーを取得し,注文をキャンセルし,ポジションを取得するなどの基本的な操作に精通する必要があります.戦略書き方は,現在もFMZ Quant Tradingプラットフォームを使用していますが,FMZ Quant Tradingプラットフォームは,仮想通貨取引,コントラクト取引,レバレッジ取引をサポートしています.オプション取引に関する情報はあまりありません.デジタル通貨オプション取引に精通するために,FMZ Quant Tradingプラットフォームを使用する方法について紹介するために,
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
FMZ Quant Trading プラットフォームの設定は,実際のボットを設定するのと同じです.
オプション取引について理解すべき4つの基本的な概念があります.
- 実行日: オプションの長方と短方はこの日にオプション契約の納入を完了します. - 実行価格: 実行日に,オプションの長および短い当事者は,実行価格でオプション契約の配達を完了します. -プレミアム:つまり,オプションの価格です.スポットと先物と同様に,オプションはオプション価格とオプション価格で報じられます. オプションの流動性は通常先物・先物よりも低いため,オプションとオプションの価格差は大きくなる可能性があるため,ここで注意を払う必要があります.取引後,取引価格はオプションロングポジションのコストで,この時点でロングポジションは権利 (オプションを行使する権利) を得ます.ショートオプションは,プレミアムを受け取る当事者として義務を追加します.ロングオプションが権利を行使することを要求すると,ショートオプションは協力する必要があります. - コール・ポットオプション: コールオプションとは,オプション・ロングポジションは,オプション・ショートポジションに特定の演算日に特定の演算価格で与えられたビットコインを購入するよう求め,ショートポジションはロングポジションと協力する義務があることを意味します.
デリビット取引所の API 文書を読んだ後,我々は,デリビットのティッカーインターフェースをアクセスするための先物またはオプションのティッカーは,単に異なる通過の問題であることがわかります.instrument_name
基本的には,あなたはインターフェースをフォローすることができます. インターフェースは,すべての要素を設定します.GetTicker
オプションのティッカーを得るために.
まず,次のコードを使用してシミュレーションボットに切り替える必要があります.
exchange.IO("base", "https://test.deribit.com")
オプション契約を設定します.BTC-27DEC19-7000-P
今のところ
この項目は,C0050/R0050とC0050/R0050のいずれかの商品について説明します.
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)
}
デバッグツールを使って簡単にテストできます.
価格がシミュレーションボットと一致しているのがわかります
他のティッカーインターフェースは同じ方法で呼び出されますが,ここで繰り返しません. 注:
オプション取引はあまり活発ではありません. 時には購入または販売のオーダーはありません. この時点で,FMZ Quant Tradingプラットフォームは,底辺の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))
オーダーを出す操作は非常にシンプルで,先物取引と比較して,購入と販売の方向は2つしかありません. 注文を出すために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))
位置情報を印刷する
基本操作が実行され,残りはオプション取引戦略のために研究することができます.