Les ressources ont été chargées... Je charge...

Une stratégie d'options sur les crypto-monnaies

Auteur:L'inventeur de la quantification - un petit rêve, Créé: 2020-08-11 14:21:28, Mis à jour: 2024-12-10 10:10:30

img

Une stratégie d'options sur les crypto-monnaies

Récemment, l'inventeur de la plate-forme de négociation quantitative a mis à niveau son système de retouche pour prendre en charge le retouche des options de monnaie numérique, cette fois avec le support de la plate-forme de trading quantitative.DeribitNous avons donc de meilleurs outils pour apprendre à négocier des options et pour vérifier les stratégies.

Deribit réévaluer les options

Définition du système de retoucheDeribitL'option est de type européen, avec un contrat d'une valeur de 1 BTC.BTC-7AUG20-12750-C

Objets de marque Date de prise de pouvoir Le prix du droit de passage Options (hausse ou baisse)
BTC 7AUG20 12750 C
Le Bitcoin Le 7 août 20 Le prix de vente est de 12750 Le droit de voir
BTC 7AUG20 12750 P
Le Bitcoin Le 7 août 20 Le prix de vente est de 12750 Options à la baisse

Les opérations telles que la mise en place de contrats, l'acquisition de titres sont les mêmes que pour les contrats à terme de crypto-monnaie. Le contrat a été signé:exchange.SetContractType("BTC-7AUG20-12750-C")Acquérir une participation:var pos = exchange.GetPosition()

Le prix d'un contrat d'options est le montant de l'option d'un contrat d'options que l'acheteur doit payer au vendeur de l'option. L'acheteur obtient le droit de passage et le vendeur a l'obligation de passage. Le contrat d'options est négociable avant le droit de passage (par exemple, l'équilibre, la conclusion de l'obligation).

Exemples de portefeuilles d'options courants

Il y a aussi des gens qui vendent des options et achètent du liquide.

/*backtest
start: 2020-07-27 00:00:00
end: 2020-08-05 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Deribit","currency":"BTC_USD"},{"eid":"OKEX","currency":"BTC_USDT","balance":100000}]
*/

function main() {
    exchanges[0].SetContractType('BTC-7AUG20-12750-C');
    var initSpotAcc = _C(exchanges[1].GetAccount)
    var isFirst = true
    while(true) {
        var optionTicker = exchanges[0].GetTicker()
        var spotTicker = exchanges[1].GetTicker()
        if(isFirst) {
            exchanges[0].SetDirection("sell")
            exchanges[0].Sell(optionTicker.Buy, 1)
            exchanges[1].Buy(spotTicker.Sell, 1)
            
            isFirst = false 
        }
        
        var optionPos = _C(exchanges[0].GetPosition)
        var nowSpotAcc = _C(exchanges[1].GetAccount)
        var diffStocks = (nowSpotAcc.Stocks - initSpotAcc.Stocks)
        var diffBalance = (nowSpotAcc.Balance - initSpotAcc.Balance)
        var spotProfit = diffBalance + diffStocks * spotTicker.Last
        var optionProfit = optionPos[0].Profit * spotTicker.Last
        LogProfit(spotProfit + optionProfit)
        $.PlotLine("现货", spotProfit)
        $.PlotLine("期权", optionProfit)
        Sleep(500)
    }
}

img

Les options peuvent servir à un certain degré de protection contre les actifs achetés au comptant. Elles sont généralement utilisées lorsque l'on est optimiste sur le comptant et que l'on souhaite en avoir. Le risque réside dans la baisse du prix du comptant.

En outre, la liquidité du marché des options de crypto-monnaie est généralement très faible, et il est souvent impossible de trouver une contrepartie.

De même, nous pouvons remplacer le cash par des futures, avec le code suivant:

/*backtest
start: 2020-07-27 00:00:00
end: 2020-08-05 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Deribit","currency":"BTC_USD"},{"eid":"Futures_OKCoin","currency":"BTC_USD"}]
*/

function main() {
    exchanges[0].SetContractType('BTC-7AUG20-12750-C');
    exchanges[1].SetContractType("quarter")
    var isFirst = true
    while(true) {
        var optionTicker = exchanges[0].GetTicker()
        var futuresTicker = exchanges[1].GetTicker()
        if(isFirst) {
            exchanges[0].SetDirection("sell")
            exchanges[0].Sell(optionTicker.Buy, 1)
            
            exchanges[1].SetDirection("buy")
            exchanges[1].Buy(futuresTicker.Sell, _N(1 * futuresTicker.Sell / 100, 0))
            
            isFirst = false 
        }
        
        var optionPos = _C(exchanges[0].GetPosition)
        var futuresPos = _C(exchanges[1].GetPosition)
        
        
        var futuresProfit = futuresPos[0].Profit 
        var optionProfit = optionPos[0].Profit
        LogProfit(futuresProfit + optionProfit)
        $.PlotLine("期货", futuresProfit)
        $.PlotLine("期权", optionProfit)
        Sleep(500)
    }
}

Les résultats sont les suivants:img

Les contrats à terme peuvent réduire la quantité d'argent qu'ils occupent, mais le risque est légèrement plus élevé par rapport aux contrats à terme.

Il y a aussi beaucoup d'autres combinaisons d'options:

  • Les prix des options sur le marché haussier sont inférieurs à l'écart des prix des options sur le marché haussier.
  • Les prix des options en baisse sur le marché baissier

Si vous êtes intéressé, vous pouvez faire des recherches dans un système de retouche.


Relationnée

Plus de