Es gibt viele digitale Währungs-Futures-Börsen, aber als Futures-Derivate, digitale Währungs-Optionshandel, gibt es derzeit nur wenige Börsen auf dem Markt, die Optionshandel unterstützen, wie Deribit, BitMEX. Im Bereich der Quantitative Handel, Optionshandel gibt es auch verschiedene Strategien, wie zum Beispiel die Optionshandel-Strategie, die in einigen Informationen erwähnt wird:
Typ | |||||
---|---|---|---|---|---|
Die strategische Richtung: | Kauf von Zinsoptionen | Verkauf von Optionen | Die Bullen sehen die Preise schlecht. | Die Preise sind schlecht | |
– | Kauf von Abwärtstrophen | Verkauf von Optionen | Der Bärenmarkt sieht die Preise für Aluminium schlechter | Der Börsenmarkt geht schief | |
Die Strategie der Volatilität: | Verkauf von Transforms | Verkauf von Breitband | Kauf von Transform | Kauf von Breitband | |
Die Absicherungsstrategie: | Auf der Hut! | Bereitschaft zum Fallen | Schutzwürmer | Protektiver Rückgang | |
– | Mehrspitzige Grenzen | Zweihöhe | – | – |
Auszug vonVerbindungen
Die Strategie für den Handel mit Optionen erfordert eine solide Grundlage, die grundlegenden Operationen wie Aufzeichnungen, Marktbeschaffungen, Abhebungen und Haltebeschaffungen sind vertraut. Die Strategie wird immer noch mit der Quantitative Handelsplattform der Erfinder erstellt, obwohl die Quantitative Handelsplattform der Erfinder derzeit hauptsächlich für den Bereich der Quantitative Handel mit digitalen Währungen unterstützt.
Die API-Dokumentation:https://docs.deribit.com/v2/?javascript#public-get_last_settlements_by_instrumentDie Simulation:https://docs.deribit.com/v2/?javascript#public-get_last_settlements_by_instrument
Sie können sich auf der Analogdisk-Website registrieren, den API KEY öffnen und auf den API KEY zugreifen.
Es gibt vier grundlegende Konzepte, die man verstehen muss, wenn man mit Optionen handelt:
Die API-Dokumentation der Börse Deribit zeigt, dass der Markt-Interface von Deribit für den Zugriff auf den Futures- oder Optionsmarkt lediglich eingegeben wird.instrument_name
Wenn die Parameter unterschiedlich sind (instrument_name wird über die Funktion SetContractType eingestellt), dann kann man im Wesentlichen die Benutzeroberfläche entlang der Benutzeroberfläche abrufen.GetTicker
Der Markt für Optionen.
Natürlich ist der Inventor der quantitativen Handelsplattform standardmäßig mit der echten Festplatte der Börse Deribit verpackt. Zuerst müssen wir mit dem folgenden Code auf die analoge Festplatte wechseln:
exchange.IO("base", "https://test.deribit.com")
Und dann setzen wir das gegenwärtige als Optionskontrakt ein.BTC-27DEC19-7000-P
Ich bin nicht derjenige.
Dies ist ein Purchase-Datum von 27 DEC 19 und ein Purchase-Preis von 7000.
exchange.SetContractType("BTC-27DEC19-7000-P")
Dann bekommen wir, wir schreiben zusammen, wir lassen den Code laufen, um zu testen, wie man diesen Optionsvertrag bekommt.
function main () {
exchange.IO("base", "https://test.deribit.com")
exchange.SetContractType("BTC-27DEC19-7000-P")
var ticker = exchange.GetTicker()
Log(ticker)
}
Es ist sehr einfach, mit Debugging Tools zu testen:Sie können sehen, dass der Preis mit dem Preis auf der Analogplatte übereinstimmt.
In den übrigen Branchen gibt es einheitliche Anrufe, die hier nicht beschrieben werden.
Der Handel mit Optionen ist nicht sehr aktiv, und es kann manchmal vorkommen, dass die Börse nicht bezahlt oder nicht verkauft wird.SetErrorFilter("Invalid ticker")
Ich habe das Gefühl, dass ich das nicht kann.GetRawJSON
Die Funktion erhält die ursprünglichen Informationen, um die Daten zu verpacken, die in den Märkten verwendet werden, und hier habe ich ein Beispiel für eine ähnliche Funktion geschrieben:
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
}
Der Anruf lautet:Log($.GetTicker(exchange))
Die Handhabung ist sehr einfach, im Vergleich zu Futures handelt es sich nur um ein Kauf und Verkauf in zwei Richtungen.Sell
,Buy
Die Funktion wird angezeigt.
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))
}
Auf der Simulationsplatte erscheint auch die gerade eingegangene Bestellung.
undexchange.GetOrder(id)
Sie können sich nach den Bestellinformationen erkundigen.
Das gleiche Verfahren wird auch verwendet.CancelOrder
Die Funktion ist die gleiche wie bei Futures-Handel.
Erhalten Sie die verfügbaren Vermögenswerte für das Konto, genauso wie beim Futures-Handel, und rufen Sie direkt anGetAccount
Die Funktion kann auch.
Anzeige auf der Seite der simulierten Börse
Die Ausführungskode wurde abgerufen:
Sie können nicht direkt mit verpackten Produkten in Lager gehalten werden.GetPosition
Die Funktion ist nicht mehr verfügbar, da der Default-Deribit-Handel Futures-Trading und nicht Options-Trading ist und nur Futures-Holdings mit dieser Funktion erhalten werden können.
Das bedeutet, dass wir die Funktion der Optionshaltung selbst verpacken müssen.
Funktions-Interface, um die API-Dokumentation zu erhalten:
$.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
}
AnrufeLog($.GetPosition(exchange))
Sie können die Informationen ausdrucken.
Das bedeutet, dass die grundlegenden Operationen realisiert werden können, und der Rest kann auf Optionshandelsstrategien untersucht werden.