Il existe de nombreux échanges de futures en crypto-monnaie, mais il n'y a pas beaucoup d'échanges sur le marché actuellement, comme Deribit, BitMEX. Dans le domaine de la négociation quantitative, le trading d'options comporte également plusieurs stratégies, telles que la stratégie d'options mentionnée dans certaines informations:
Le type | |||||
---|---|---|---|---|---|
La stratégie de direction: | Acheter des options sur les titres | Vente d'options à la baisse | Le prix de l'ail est en baisse | Les prix des taureaux baissent | |
– | Acheter des options à la baisse | Vente d'options sur le prix | Les marchés baissiers ont vu le prix de l'aluminium baisser | Les prix baissent en baisse | |
La stratégie de fluctuation: | Vente à l'extérieur | Vente à grande échelle | Les achats à travers | Acheter une large gamme | |
La stratégie de couverture: | Préparez-vous à voir | Les réservations baissent | Les guêpes protectrices | Une baisse protectrice | |
– | Le double de tête | Les deux bouts de tête | – | – |
Cité parConnexion
La stratégie de négociation d'options nécessite toujours une base solide, les opérations de base, l'enregistrement, l'acquisition, le retrait et l'acquisition de titres doivent être familiarisés. La stratégie est toujours utilisée par les plateformes de négociation quantitative des inventeurs, bien que les plateformes de négociation quantitative des inventeurs soient actuellement principalement utilisées dans le domaine de la négociation quantitative des devises numériques.
L'API est documentée:https://docs.deribit.com/v2/?javascript#public-get_last_settlements_by_instrumentLe disque:https://docs.deribit.com/v2/?javascript#public-get_last_settlements_by_instrument
Il est possible d'enregistrer un compte sur le site Web de l'analogue, d'ouvrir l'API KEY et d'accéder à l'API KEY.
Il y a quatre concepts de base à comprendre pour les options:
En regardant la documentation API de Deribit Exchange, on peut voir que l'interface de marché de Deribit n'est qu'une entrée pour accéder au marché des contrats à terme ou des options.instrument_name
Si les paramètres sont différents (instrument_name est réglé via la fonction SetContractType), vous pouvez essentiellement utiliser l'interface pour obtenir le marché.GetTicker
Le marché des options est un marché où les investisseurs peuvent acheter des titres.
Bien sûr, l'inventeur de la plateforme de trading quantifié est enveloppé par défaut dans le disque dur de Deribit, nous devons d'abord passer au disque analogique en utilisant le code suivant:
exchange.IO("base", "https://test.deribit.com")
Et puis nous avons mis en place les contrats d'options actuels.BTC-27DEC19-7000-P
Je ne sais pas.
C'est la date de mise en marché: 27 DEC 19, le prix de mise en marché: 7 000 options à la baisse
exchange.SetContractType("BTC-27DEC19-7000-P")
Ensuite, nous écrivons ensemble, nous laissons le code fonctionner et nous testons comment obtenir ce contrat d'options.
function main () {
exchange.IO("base", "https://test.deribit.com")
exchange.SetContractType("BTC-27DEC19-7000-P")
var ticker = exchange.GetTicker()
Log(ticker)
}
Les outils de débogage peuvent être utilisés pour effectuer des tests pratiques:Le prix de l'appareil est identique à celui du disque.
Les autres interfaces utilisées par le secteur sont cohérentes et ne seront pas décrites ici, mais il convient de noter:
Les transactions d'options ne sont pas très actives, et il arrive parfois que le marché n'ait pas de paiement, ou qu'il n'y ait pas d'ordre de vente, à ce moment-là, les inventeurs quantifient le bas de la plate-forme de négociation pour détecter un nombre de zéro, ce qui rend l'erreur, ce qui peut être utilisé.SetErrorFilter("Invalid ticker")
Il y a des gens qui ne sont pas d'accord avec cette erreur.GetRawJSON
Les fonctions peuvent être utilisées pour obtenir des données d'emballage d'informations primitives sur le marché, et j'ai écrit ici un exemple pour une fonction similaire:
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
}
Il a écrit sur son téléphone:Log($.GetTicker(exchange))
L'opération suivante est très simple, comparée à la négociation de contrats à terme, il n'y a que deux directions d'achat et de vente.Sell
,Buy
Les fonctions sont classées comme suit:
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))
}
Les commandes qui viennent d'être passées apparaissent également sur le disque.
etexchange.GetOrder(id)
Vous pouvez consulter les informations relatives à votre commande.
Le retrait est également utiliséCancelOrder
Les opérations de dépôt de titres sont des opérations de dépôt de titres, comme les opérations de dépôt de titres.
Les conditions d'acquisition des actifs disponibles dans le compte sont les mêmes que pour les contrats à terme.GetAccount
Les fonctions peuvent être utilisées.
Affichage sur la page de l'analogue
Le code d'exécution est obtenu:
Il est impossible d'utiliser directement les emballages.GetPosition
La fonction est terminée, car les transactions par défaut Deribit sont des transactions à terme, et non des transactions d'options, et ne peut être utilisé que pour obtenir des positions futures.
Il faut donc que nous enveloppions nous-mêmes la fonction d'acquisition d'options.
L'interface des fonctions pour obtenir le stockage sur la documentation de l'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
}
AppeléeLog($.GetPosition(exchange))
Il est possible d'imprimer des informations sur les stocks.
Ainsi, les opérations de base peuvent être réalisées, et le reste peut être étudié dans les stratégies de trading d'options.