Comment trader au comptant avec Jupyter Notebook ?

Date de publication : 29 sept. 2023Date de mise à jour : 18 août 2024Lecture de 10 min276

Découvrez comment vous pouvez faire du trading au comptant en appelant les fonctions de la bibliothèque python-okx sur un Jupyter Notebook.

1. Comment exécuter des extraits de code Python dans un Jupyter Notebook ?

CT-web-spottrading-howtoapi-1

Le Jupyter Notebook est un outil incroyablement puissant et facile à utiliser pour le développement et l'analyse des données Python. Vous pouvez exécuter un serveur Jupyter Notebook sur Windows, Mac ou Linux. Ce tutoriel constitue un guide assez complet sur la façon de mettre en place un Jupyter Notebook.

2. Comment puis-je installer le package Python-okx ?

Une fois que vous commencez à exécuter un Jupyter Notebook, vous pouvez installer le package python-okx en exécutant simplement pip Install python-okx dans le notebook ou dans un terminal (ou via une invite de commande pour Windows) :

CT-web-spottrading-howtoapi-2

3. Comment créer des clés API ?

  1. Après vous être connecté sur OKX, accédez à Trader> Trading en mode démo pour créer des clés API à des fins de test

    CT-web-trade-demo trading

    Ouvrez la page Trading en mode démo

  2. Accédez à Compte > API pour créer des clés API

    CT-web-profile-API

    Ouvrez l'API pour créer des clés API

  3. Créez des clés API pour vos comptes principaux et sous-comptes

    CT-web-API-create

    Sélectionnez Créer une clé API

  4. Sélectionnez Trader dans Autorisations afin de trader avec la clé API

    CT-web-API-trade

    Sélectionnez Trader dans Autorisations

  5. Vous avez désormais accès à votre clé API, à votre clé secrète et à votre phrase secrète. Gardez-les en lieu sûr !

  6. Instanciez les variables python pour enregistrer les détails de votre API dans le notebook et les utiliser ultérieurement

    Python
    1 api_key = "xxxxx"
    2 secret_key = "xxxxx"
    3 passphrase = "xxxxxx"

4. Comment puis-je importer des modules OKX ?

Dans python-okx, il existe plusieurs modules basés sur nos modules API REST. Lisez notre guide pour apprendre comment importer des modules OKX.

  • Trader

  • Trading de blocs

  • Financement

  • Compte

  • Convertir

  • Revenu

  • Sous-compte

  • MarketData

  • PublicData

  • TradingData

  • Statut

  • NDBroker

  • FDBroker

Pour importer le module Trader, vous pouvez exécuter :

Python
1 import okx.Trade as Trade

Vous êtes maintenant prêt à utiliser les fonctionnalités complètes disponibles dans python-okx !

5. Comment accéder à nos données de marché ?

Apprenez à accéder à nos données de marché et utilisez le code ci-dessous.

Python
1  import okx.MarketData as MarketData
2  flag = "1"  # live trading: 0, demo trading: 1
3  marketDataAPI = MarketData.MarketAPI(flag=flag)
4  result = marketDataAPI.get_tickers(instType="SPOT")print(result)

6. Comment puis-je lire les paires de trading disponibles ?

Apprenez à lire les paires de trading disponibles et utilisez le code ci-dessous.

Python
1   import okx.PublicData as PublicData
2
3   flag = "1"  # live trading: 0, demo trading: 1
4
5   PublicDataAPI = PublicData.PublicAPI(flag=flag)
6
7    result = PublicDataAPI.get_instruments(
8        instType="SPOT"
9    )
10  print(result)

7. Comment puis-je consulter le solde de mon compte ?

Apprenez à consulter le solde de votre compte en lisant notre guide dédié.

Remarque : Pour le trading au comptant sous « cash » tdMode, vous devez principalement vérifier les paramètres cashBal, frozenBal pour chaque ccy sous détails, et le paramètre totalEq.

Python
1   import okx.Account as Account
2   flag = "1"  # live trading: 0, demo trading: 1
3
4   accountAPI = Account.AccountAPI(api_key, secret_key, passphrase, False, flag)
5
6   result = accountAPI.get_account_balance()
7   print(result)

8. Comment accéder aux quatre modes de compte différents?

Dans notre système de comptes unifiés, il existe quatre modes de compte :

  • Mode Au comptant

  • Mode Au comptant et de contrats à terme

  • Mode de marge multidevise

  • Mode de marge du portefeuille

Pour comprendre la différence entre les différents modes et apprendre à configurer le mode votre de compte via l'interface Web, lisez notre guide dédié.

En mode de marge ou de trading, le paramètre tdMode détermine le type de marge de votre position, que vous devez définir à chaque passation d'un nouvel ordre.

Pour le trading en mode Au comptant ou Au comptant et de contrats à terme, veuillez définir tdMode='cash'.

Pour le trading au comptant en mode de marge multidevises ou en mode de marge du portefeuille, veuillez définir tdMode = 'cross'.

Vous trouverez ci-dessous une rapide description du mode de configuration de votre compte actuel.

9. Comment puis-je trouver le mode de configuration de mon compte actuel ?

Apprenez à déterminer le mode de votre compte actuel en lisant notre guide dédié et en saisissant le paramètre acctLv.

Python
1 import okx.Account as Account
2
3 flag = "1"  # live trading: 0, demo trading: 1
4 
5 accountAPI = Account.AccountAPI(api_key, secret_key, passphrase, False, flag)
6 result = accountAPI.get_account_config()
7 print(result)
8 
9 if result['code'] == "0":
10     acctLv = result["data"][0]["acctLv"]
11     if acctLv == "1":
12         print("Simple mode")
13     elif acctLv == "2":
14        print("Single-currency margin mode")
15     elif acctLv == "3":
16        print("Multi-currency margin mode")
17     elif acctLv == "4":
18        print("Portfolio margin mode")

10. Comment passer des ordres au comptant en utilisant le mode Au comptant ou Au comptant et de contrats à terme ?

10.1 Comment passer un ordre à cours limité ?

Apprenez à passer un ordre à cours limité en mode Au comptant ou Au comptant et de contrats à terme en lisant notre guide dédié.

Voici un exemple d'achat de 0,01 BTC au prix de 19 000 USDT.

Python
1 # limit order
2 result = tradeAPI.place_order(
3     instId="BTC-USDT",
4     tdMode="cash",
5     side="buy",
6     ordType="limit",
7     px="19000",
8     sz="0.01"
9 )
10 print(result)
11 
12 if result["code"] == "0":
13     print("Successful order request,order_id = ",result["data"][0]["ordId"])
14 else:
15     print("Unsuccessful order request,error_code = ",result["data"][0]["sCode"], ", Error_message = ", result["data"][0]["sMsg"])

10.2 Comment passer un ordre au prix du marché ?

Pour plus d'informations sur le titre comment passer un ordre au prix du marché en mode Au comptant ou Au comptant et de contrats à terme, veuillez lire notre guide dédié.

Voici un exemple d'achat de BTC d'une valeur de 100 USD au prix du marché actuel.

Python
1 #  market order
2 result = tradeAPI.place_order(
3     instId="BTC-USDT",
4     tdMode="cash",
5     side="buy",
6     ordType="market",
7     sz="100",
8 )
9 print(result)

10.3 Comment utiliser le paramètre de devise cible tgtCcy pour le trading au comptant ?

Dans le cadre du trading au comptant, le paramètre tgtCcy détermine l'unité du paramètre de taille sz, qui peut être soit la devise de base, soit la devise de cotation de la paire de trading. Par exemple, dans la paire BTC-USDT, la devise de base est BTC et la devise de cotation est USDT.

Par défaut, tgtCcy = quote_ccy pour les ordres d'achat, ce qui signifie que le paramètre sz spécifié se réfère à la devise de cotation. Parallèlement, la valeur par défaut de tgtCcy pour les ordres de vente est base_ccy, ce qui signifie que le paramètre sz spécifié se réfère à la devise de base.

Dans l'exemple ci-dessous, vous êtes sur le point de passer un ordre au prix du marché pour acheter des BTC valant 100 USD.

Python
1 #  market order
2 result = tradeAPI.place_order(
3     instId="BTC-USDT",
4     tdMode="cash",
5     side="buy",
6     ordType="market",
7     sz="100",
8     tgtCcy="quote_ccy" # this determines the unit of the sz parameter.
9 )
10 print(result)

10.4 Comment utiliser le paramètre d'ID d'ordre client clOrdId ?

Lorsque vous passez un ordre, vous pouvez indiquer votre propre ID d'ordre client en indiquant le paramètre clOrdId, qui peut ensuite être utilisé comme identifiant à la place de ordId lors de lors de l'annulation, de la modification ou de la récupération du point de terminaison d'un ordre.

Python
1 #  market order
2 result = tradeAPI.place_order(
3     instId="BTC-USDT",
4     tdMode="cash",
5     side="buy",
6     ordType="market",
7     sz="100",
8     clOrdId="003" # you can define your own client defined order ID
9 )
10 print(result)

11. Comment puis-je obtenir des détails sur un ordre donné ?

Apprenez à obtenir les détails d’un ordre donné en lisant notre guide dédié.

11.1 Utilisation de ordId

Python
1 result = tradeAPI.get_order(instId="BTC-USDT", ordId="497819823594909696")
2 print(result)

11.2 Utilisation de clOrdId

Python
1 result = tradeAPI.get_order(instId="BTC-USDT", clOrdId="002")
2 print(result)

12. Puis-je annuler un ordre ?

Apprenez à annuler un ordre en lisant notre guide dédié.

Vous pouvez également utiliser clOrdId au lieu de ordId.

Python
1 result = tradeAPI.cancel_order(instId="BTC-USDT", ordId = "489093931993509888")
2 print(result)

13. Comment modifier un ordre ?

Apprenez à modifier un ordre en lisant notre guide dédié.

Vous pouvez également utiliser clOrdId au lieu de ordId.

Python
1 result = tradeAPI.amend_order(
2     instId="BTC-USDT",
3     ordId="489103565508685824",
4     newSz="0.012"
5 )
6 print(result)

14. Comment accéder à la liste des ordres ouverts ?

Apprenez à consulter la liste des ordres ouverts en lisant notre guide dédié.

Python
1 result = tradeAPI.get_order_list()
2 print(result)

15. Comment puis-je accéder à l'historique des ordres ?

15.1 Au cours des 7 derniers jours

Apprenez à accéder à l'historique des ordres des 7 derniers jours en lisant notre guide dédié.

Python
1 result = tradeAPI.get_orders_history(
2     instType="SPOT"
3 )
4 print(result)

15.2 Au cours des 3 derniers mois

Apprenez à accéder à l'historique des ordres des 3 derniers mois en lisant notre guide dédié.

Python
1 result = tradeAPI.get_orders_history_archive(
2     instType="SPOT"
3 )
4 print(result)

16. Comment puis-je aller plus loin avec l'API OKX et le Jupyter Notebook ?

Pour plus d'exemples, téléchargez le Jupyter Notebook complet ici.

Si vous avez des questions concernant nos API, vous pouvez rejoindre notre communauté API et les poser.