Comment trader au comptant avec Jupyter Notebook ?

Date de publication : 29 sept. 2023Date de mise à jour : 24 avr. 2024Lecture de 8 min131

Découvrez comment trader au comptant simplement en appelant les fonctions de la bibliothèque python-okx dans 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 Python et l'analyse de données. Vous pouvez exécuter un serveur Jupyter Notebook sous Windows, Mac OS ou Linux. Ce tutoriel fournit un guide assez complet sur la création et l’exécution d’un Jupyter Notebook.

2. Comment installer le paquet python-okx ?

Une fois que vous avez exécuté un Jupyter Notebook, vous pouvez installer le paquet python-okx en exécutant simplement la commande pip install python-okx dans le notebook ou dans un terminal (ou via l'invite de commande pour Windows) :

CT-web-spottrading-howtoapi-2

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

1. Après vous être connecté à OKX, rendez-vous sur 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. Allez dans Compte -> API pour créer des clés API

CT-web-profile-API

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

3. Créez des clés API pour les différents comptes principaux/sous-comptes que vous pourriez avoir

CT-web-API-create

Sélectionnez Créer une clé API

4. Dans Autorisations, sélectionnez Trader pour trader avec la clé API

CT-web-API-trade

Sélectionnez Trader dans Autorisations

5. Vous avez maintenant accès à votre clé API, votre clé secrète et votre passphrase. Conservez-les en lieu sûr !

6. Instanciez des variables python pour enregistrer les détails de votre API dans le notebook en vue d'une utilisation ultérieure

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

```
api_key = "xxxxx"
secret_key = "xxxxx"
passphrase = "xxxxxx"
```


4. Comment importer des modules OKX ?

Dans python-okx, il y a plusieurs modules basés sur nos modules d'API REST. Consultez notre guide pour apprendre à importer des modules OKX.

  • Trade

  • BlockTrading

  • Funding

  • Account

  • Convert

  • Earning

  • SubAccount

  • MarketData

  • PublicData

  • TradingData

  • Status

  • NDBroker

  • FDBroker

Pour importer le module Trade, vous pouvez exécuter la commande suivante :

1 import okx.Trade as Trade

```
import okx.Trade as Trade
```

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

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

Consultez cette page pour en savoir plus sur l’accès à nos données de marché et reportez-vous au code ci-dessous.

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)

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

6. Comment lire les paires de trading disponibles ?

Consultez cette page pour en savoir plus sur la lecture de nos paires de trading disponibles et reportez-vous au code ci-dessous.

```
import okx.PublicData as PublicData

flag = "1" # live trading: 0, demo trading: 1

PublicDataAPI = PublicData.PublicAPI(flag=flag)

result = PublicDataAPI.get_instruments(
instType="SPOT"
)
print(result)
```

7. Comment lire le solde de mon compte ?

Pour plus d'informations sur la lecture du solde de votre compte, consultez notre guide dédié.

Remarque : Pour le trading au comptant, dans tdMode "cash", vous devez surtout vérifier les paramètres cashBal et frozenBal pour chaque ccy sous details, ainsi que le paramètre totalEq .

```
import okx.Account as Account
flag = "1" # live trading: 0, demo trading: 1

accountAPI = Account.AccountAPI(api_key, secret_key, passphrase, False, flag)

result = accountAPI.get_account_balance()
print(result)
```

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

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

  • Compte simple

  • Compte sur marge à devise unique

  • Compte sur marge multidevise

  • Compte sur marge du portefeuille

Pour comprendre la différence entre les différents modes du compte et comment configurer le mode du compte via l'interface web, consultez notre guide dédié. En mode marge ou en mode trading, le paramètre tdMode détermine la marge à laquelle votre position sera soumise, que vous devez configurer à chaque nouvelle passation d’ordre. Pour le trading au comptant en mode de compte simple ou sur marge à devise unique, définissez tdMode= 'cash'. Pour le trading au comptant en mode de compte sur marge multidevise ou sur marge de portefeuille, définissez tdMode = 'cross'. Vous trouverez ci-dessous une explication rapide de la manière de déterminer le mode de configuration de votre compte actuel.

9. Comment savoir dans quel mode mon compte actuel a été configuré ?

Pour en savoir plus sur la façon de déterminer le mode de configuration de votre compte actuel, consultez notre guide dédié et saisissez le paramètre acctLv.

```
import okx.Account as Account

flag = "1" # live trading: 0, demo trading: 1

accountAPI = Account.AccountAPI(api_key, secret_key, passphrase, False, flag) result = accountAPI.get_account_config()
print(result)

if result['code'] == "0":
acctLv = result["data"][0]["acctLv"]
if acctLv == "1":
print("Simple mode")
elif acctLv == "2":
print("Single-currency margin mode")
elif acctLv == "3":
print("Multi-currency margin mode")
elif acctLv == "4":
print("Portfolio margin mode")
```

10. Comment passer des ordres au comptant en mode simple ou en mode de marge sur devise unique ?

10.1 Comment passer un ordre à cours limité ?

Pour en savoir plus sur la passation d’ordres à cours limité en mode de compte simple ou sur marge à devise unique, consultez notre guide dédié.

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

```
# limit order
result = tradeAPI.place_order(
instId="BTC-USDT",
tdMode="cash",
side="buy",
ordType="limit",
px="19000",
sz="0.01"
)
print(result)

if result["code"] == "0":
print("Successful order request,order_id = ",result["data"][0]["ordId"])
else:
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 la passation d’ordres au prix du marché en mode de compte simple ou sur marge à devise unique, consultez notre guide dédié.

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

```
# market order
result = tradeAPI.place_order(
instId="BTC-USDT",
tdMode="cash",
side="buy",
ordType="market",
sz="100",
)
print(result)
```

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

En 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 le BTC et la devise de cotation est l'USDT.

Par défaut, tgtCcy = quote_ccy pour les ordres d'achat, ce qui signifie que la valeur sz que vous avez spécifiée est exprimée dans la devise de cotation. Par ailleurs, la valeur par défaut de tgtCcy pour les ordres de vente est base_ccy, ce qui signifie que la valeur sz que vous avez spécifiée est exprimée dans 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 d'une valeur de 100 USD.

```
# market order
result = tradeAPI.place_order(
instId="BTC-USDT",
tdMode="cash",
side="buy",
ordType="market",
sz="100",
tgtCcy="quote_ccy" # this determines the unit of the sz parameter.
)
print(result)
```

10.4 Comment utiliser le paramètre d'identification de l’ordre du client clOrdId ?

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

```
# market order
result = tradeAPI.place_order(
instId="BTC-USDT",
tdMode="cash",
side="buy",
ordType="market",
sz="100",
clOrdId="003" # you can define your own client defined order ID
)
print(result)
```

11. Comment obtenir des informations sur un ordre donné ?

Pour en savoir plus sur l’obtention d’informations sur un ordre donné, consultez notre guide dédié.

Avec ordId

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

Avec clOrdId

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

12. Comment annuler un ordre ?

Pour plus d'informations sur la façon d’annuler un ordre, consultez notre guide dédié.

Vous pouvez également utiliser clOrdId au lieu de ordId.

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

13. Comment modifier un ordre ?

Pour plus d'informations sur la façon de modifier un ordre, consultez notre guide dédié.

Vous pouvez également utiliser clOrdId au lieu de ordId.

```
result = tradeAPI.amend_order(
instId="BTC-USDT",
ordId="489103565508685824",
newSz="0.012"
)
print(result)
```

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

Pour plus d'informations sur la façon d’accéder à la liste des ordres ouverts, consultez notre guide dédié.

```
result = tradeAPI.get_order_list()
print(result)
```

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

15.1 Au cours des 7 derniers jours

Pour en savoir plus sur l’accès à l'historique des ordres des 7 derniers jours, consultez notre guide dédié.

```
result = tradeAPI.get_orders_history(
instType="SPOT"
)
print(result)
```

15.2 Au cours des 3 derniers mois

Pour plus d'informations sur l’accès à l'historique des ordres des 3 derniers mois, consultez notre guide dédié.

```
result = tradeAPI.get_orders_history_archive(
instType="SPOT"
)
print(result)
```

16. Comment aller plus loin avec l'API OKX et un Notebook Jupyter ?

Pour plus d'exemples, téléchargez le Jupyter Notebook complet ici. Si vous avez des questions sur nos API, vous pouvez les poser sur le canal Telegram d’aide sur l’API OKX.