No todos los productos mencionados están disponibles en todas las jurisdicciones.

¿Cómo puedo hacer trading de derivados con Jupyter Notebook?

Publicado el 28 sept 2023Actualizado el 11 sept 2024Lectura de 8 min68

Descubre cómo hacer operaciones de derivados simples con las mismas herramientas. Utiliza las funciones completas disponibles en https://pypi.org/project/python-okx/" title=">python-okx</a> de un nivel superior.

Tipos de derivados

Hay tres tipos de derivados disponibles para operar en OKX:

  • Vencimiento

  • Perpetuos

  • Opciones

Puedes dirigirte a <a href="/learn/bitcoin-derivatives-explained-futures-perpetual-swaps-and-options" título="">Derivados de Bitcoin, explicada: Vencimiento, perpetuos y opciones</a> para saber más sobre las características de los diferentes tipos de derivados en OKX. En este tutorial, usaremos <strong>perpetuos</strong> como ejemplo.

Preguntas frecuentes

1. ¿Cómo puedo obtener los datos del mercado de <a href="/docs-v5/en/?python#order-book-trading-market-data-get-tickers" título=""">¿Conseguir datos del mercado</a>?

También puedes sustituir instType con <strong>EXPRIY</strong> o <strong>OPTION</strong> para tu información.

<contentful-embedded-entry-block data-id="2FcQRQfR9gJfKoYnWUJOz8"></contentful-embedded-entry-block>

2. ¿Cómo puedo conseguir pares de trading disponibles de <a href="/docs-v5/en/?python#public-data-rest-api-get-instruments" title="">Conseguir instrumentos</a>?

De la misma manera, elige el instType para el que te gustaría obtener información.

<contentful-embedded-entry-block data-id="7254eVKH4BjnY4VSQPJQb3"></contentful-embedded-entry-block>

<strong>2.1 Calcula el valor teórico de un contrato de derivados con el parámetro de instrumento ctVal y ctMult</strong>

Para calcular el valor nocional de un contrato de derivados (es decir, futuros, swaps perpetuos y opciones), necesitas <strong>ctVal</strong>(valor del contrato) y <strong>ctMult</strong>(Multiplicador de contratos) de los parámetros del instrumento.

El valor nocional de un contrato de derivados puede calcularse como <strong>ctVal</strong> * <strong>ctMult</strong> (unidad: ctValCcy);

Por ejemplo, a partir de los parámetros del instrumento que se muestran a continuación, podemos calcular el valor nocional de un contrato de perpetuos LTC-USD como: ctVal \* ctMult (unidad:ctValccy) = 10 \* 1 USD = 10 USD

<contentful-embedded-entry-block data-id="eXj3C6yilQe5cbMtKfHB"></contentful-embedded-entry-block>

3. ¿Cómo puedo comprobar tu saldo en <a href="/docs-v5/en/?python#trading-account-rest-api-get-balance" title=""">Conseguir saldo</a>?

<contentful-embedded-intry-block data-id="fzTXSnVBjs6nnqvTab8KE"></contentful-embedded-intry-block>

4. ¿Qué es un modo de cuenta y el modo de margen/trading aptos para operar con derivados?

Como se menciona en nuestro último tutorial, en la cuenta unificada hay cuatro modos de cuenta, como se menciona en el último tutorial:

  • Modo spot,

  • Modo spot y de futuros,

  • Modo de margen multidivisa,

  • Modo de margen del portafolio.

Ten en cuenta que solo los últimos tres modos de margen, a saber, <strong>spot y futuros</strong>, <strong>margen multidivisa</strong> y <strong>margen portafolio</strong>, podrán operar con derivados. Consulta <a href="/help/i-introduction-to-unified-account" título=""">cómo configurar el modo de cuenta</a> para entender las diferencias entre los cuatro modos y cómo cambiar entre ellos a través de nuestra IU web.

<strong>4.1 ¿Consigue la configuración de la cuenta actual del parámetro acctLv en </strong><a href="/docs-v5/en/?python#trading-account-rest-api-get-account-configuration" title="""><strong>Conseguir configuración de la cuenta</strong></a>

Asegúrate de que estás en el modo correcto de cuenta para operar con derivados.

<contentful-embedded-intry-block data-id="0UpvzicW7E2QPNH0LPP6I"></contentful-embedded-intry-block>

5. ¿Cómo puedo establecer el apalancamiento mediante <a href="/docs-v5/en/?python#trading-account-rest-api-set-leverage" title="">Apalancamiento de la cuenta estable</a>?

Un parámetro importante que debemos establecer cuando las operaciones con derivados son <strong>apalancamiento</strong>.

El apalancamiento permite a los traders acceder a una posición con un valor mucho mayor al comprometer solo una pequeña cantidad de dinero. Por lo tanto, las ganancias o pérdidas se amplían en gran medida.

Los operadores pueden tener hasta un apalancamiento de 125x cuando operan con derivados en OKX. Puedes leer <a href="/trade-market/position/swap" title=""">referencias sobre cómo establecer el apalancamiento</a> para los diferentes niveles de apalancamiento permitidos en los diferentes niveles de posiciones.

<contentful-embedded-asset-block data-id="4HT2QgALjLBAmIbOqXRzva"></contentful-embedded-asset-block>

Esto es lo que significan los gráficos que aparecen más arriba:

  • <strong>Máx. Apalancamiento:</strong> El múltiplo máximo de veces del capital prestado para aumentar la rentabilidad potencial de una inversión.

  • <strong>Relación de margen inicial (IMR):</strong> Margen necesario para mantener las posiciones actuales.

  • <strong>Relación de margen de mantenimiento (MMR):</strong>Se necesita un margen mínimo para mantener las posiciones actuales. La liquidación tendrá lugar si el capital de la cuenta cae por debajo del margen de mantenimiento.

Por ejemplo, cuando quieres operar con 3000 contratos de perpetuos de ETHUSDT, puedes aprovechar un máximo de 75 veces el capital que posees. IMR = 1 / 75 = 1,3 %, y deberás mantener un 0,8 % de MMR o superior para evitar la liquidación.

Hay 9 situaciones diferentes para la configuración del apalancamiento a través de las API abiertas de OKX. Consulta <a href="/docs-v5/en/?python#trading-account-rest-api-set-leverage" title="">Establece situaciones de apalancamiento</a> para diferentes casos.

En el caso de los swaps perpetuos, hay 3 situaciones diferentes para establecer el apalancamiento:

  • Establece un apalancamiento para las operaciones <strong>SWAP</strong> con margen cruzado</strong> a nivel de contrato.

  • Establece un apalancamiento para los instrumentos <strong>SWAP</strong>en el modo de operaciones <strong>aislated-margin</strong> y <strong>compra/venta</strong>en el modo de posición a nivel de contrato.

  • Establece un apalancamiento para los instrumentos <strong>SWAP</strong>en el modo de operaciones <strong>aislated-margin</strong> y <strong>long/short</strong>en el modo de posición a nivel del contrato y de la posición.

El siguiente ejemplo muestra cómo configurar el apalancamiento para un contrato y una posición SWAP únicos, en comparación con todos los contratos SWAP para un determinado subyacente.

<contentful-embedded-entry-block data-id="6Fgd0xhu4smxAFI0JarV1U"></contentful-embedded-entry-block>

Recuerda que el parámetro de solicitud <strong>PosSide</strong> solo se requiere cuando el modo de margen está aislado en el modo <strong>Long/Short</strong>Posesión de órdenes para <strong>EXPRIA/PERPETUO</strong> instrumentos (consulta las situaciones 6 y 9 en <a href="/docs-v5/en/?python#trading-account-rest-api-set-leverage" title="">Establecer escenarios de apalancamiento</a>).

6. ¿Cómo puedo cursar órdenes en diferentes modos de posición (colocación de órdenes): long/short y comprar/vender?

Hay dos modos de posición (colocación de órdenes) al realizar operacionesGananza y PERPETUO: <strong>Long/Short</Sorng> y <strong>comprar/vender</strong> (neto).

Puedes cambiar el modo de posición (colocación de órdenes) entre <strong>lang/short</strong> y <strong>compra/venta</strong> (neta), a través de la API <a href="/docs-v5/en/?python#trading-account-rest-api-set-position-mode" title="">Modo de posición estable</a>:

<contentful-embedded-intry-block data-id="78hCVusHZFLb8W6kZBv4n7"></contentful-embedded-intry-block>

O, de lo contrario, puedes hacerlo a través de <strong>Ajustes</strong> en la web como se explica a continuación:

<contentful-embedded-asset-block data-id="1QjNrvVZmUV6p8GUUNOfKGU"></contentful-embedded-asset-block>

En el modo <strong>compra/venta</strong> (neto), la posición de un determinado contrato es la cantidad neta de tus operaciones de compra y venta. Cuando cursas órdenes a través de <a href="/docs-v5/en/?python#order-book-trading-trade-trade-post-place-order" title=""">Cursar orden</a>, el parámetro de solicitud <strong>PosSide</strong> no es obligatorio. Si lo superas, el único valor válido es <strong>net/strong>.

En el modo <strong>long/short</strong>, las posiciones en Long y en Short de un determinado contrato serán independientes las unas de las otras y deberán cerrarse por separado. Cuando cursas órdenes a través de <a href="/docs-v5/en/?python#order-book-trading-trade-trade-post-place-order" title=""">Cursar orden</a>, el parámetro de solicitud <strong>PosSide</strong> es obligatorio. Los valores válidos son <strong>long</strong> o <strong>short</strong>. A continuación se muestra cómo establecer el parámetro <strong>side</strong> (side of the trade) y <strong>PosSide</strong> (side of the position) cuando cursas una orden en diferentes escenarios:

  • Cursa una orden de compra y aumenta tu posición en Long: <strong>side</strong> = compra, <strong>PosSide</strong> = long

  • Cursa una orden de venta y aumenta tu posición en Short: <strong>side</strong> = vende, <strong>PosSide</strong> = Short

  • Cursar una orden de venta y cerrar/reducir una posición en Long: <strong>side</strong> = vender, <strong>posSide</strong> = long

  • Cursa una orden de compra y cierra/reduce una posición en Short: <strong>side</strong> = compra, <strong>PosSide</strong> = Short ¡Después estarás listo para cursar órdenes derivadas!

<strong>6.1 Cursar una orden límite mediante </strong><a href="/docs-v5/en/?python#order-book-trading-trade-post-place-order" title=""><strong>Cursar orden</strong></a>

Comprar un contrato de permuta de 100 BTC-USDT al precio de 19 000 USDT.

<contentful-embedded-intry-block data-id="3SmGHM7Ske1GTTzoVO0rZa"></contentful-embedded-intry-block>

<strong>6.2 Cursar una orden a mercado a través de </strong><a href="/docs-v5/en/?python#order-book-trading-trade-post-place-order" title=""><strong>Cursar orden</strong></a>

Comprar un contrato de permuta de 100 BTC-USDT al precio de mercado.

<contentful-embedded-intry-block data-id="2RFpmWXRTjZ90YZjXNs0B"></contentful-embedded-intry-block>

7. ¿Cómo puedo obtener los detalles/el estado de una determinada orden (referido a <a href="/docs-v5/en/?python#order-book-trading-trade-get-order-list" title=""">Conseguir detalles de la orden</a>)?

Aparte de <strong>ordId</strong>, también puedes especificar <strong>clOrdId</strong> para obtener los detalles de la orden.

<contentful-embedded-entry-block data-id="2UuqJD36pvG726gZ6cw0Fv"></contentful-embedded-entry-block>

8. ¿Cómo cancelo una orden mediante <a href="/docs-v5/en/?python#order-book-trading-trade-trade-post-cancel-order" title="">Cancelar orden</a>?

<contentful-embedded-intry-block data-id="5V54jqdrqC4WNTH1S6prYx"></contentful-embedded-intry-block>

9. ¿Cómo puedo corregir una orden mediante <a href="/docs-v5/en/?python#order-book-trading-trade-trade-post-modend-order" título="">Modificar orden</a>?

También utilizas <strong>clOrdId</strong> en lugar de <strong>ordId</strong>. Este ejemplo muestra la revisión de un nuevo tamaño.

<contentful-embedded-intry-block data-id="1mL6TGv5N054mz5RRTcRHo"></contentful-embedded-intry-block>

10. ¿Cómo puedo obtener la lista de órdenes abiertas a través de <a href="/docs-v5/en/?python#order-book-trading-trade-get-order-list" título="">¿Conseguir la lista de órdenes</a>?

<contentful-embedded-entry-block data-id="2rJdJhMxGBexJZVq3t6fXD"></contentful-embedded-entry-block>

11. ¿Cómo puedo obtener el historial de órdenes a través de <a href="/docs-v5/en/?python#order-book-trading-trade-trade-get-order-history-last-7-days" título=""">Conseguir historial de órdenes (últimos 7 días)</a> y <a href="/docs-v5/en/?python#order-book-trading-trade-trade-get-order-history-últimos 3 meses" título="">Conseguir historial de órdenes (últimos 3 meses)</a>?

<contentful-embedded-intry-block data-id="3FWLPl8DXQLoze2DJisYMM"></contentful-embedded-intry-block>

12. ¿Cómo puedo obtener los detalles de la transacción mediante <a href="/docs-v5/en/?python#order-book-trading-trade-get-transaction-details-last-3-days" title=""">Conseguir detalles de la transacción (últimos 3 días)</a> y <a href="/docs-v5/en/?python#order-book-trading-trade-trade-get-transaction-details-last-3-months" título="">Conseguir detalles de la transacción (últimos 3 meses)</a>?

<contentful-embedded-intry-block data-id="4havuzTAQrl4JFPS3YgNE0"></contentful-embedded-intry-block>

13. ¿Cómo puedo obtener posiciones mediante <a href="/docs-v5/en/?python#trading-account-rest-api-get-positions" título=""">¿Conseguir posiciones</a>?

Cuando tu cuenta está en el modo <strong>net/strong>, aparecerá la posición <strong>net</strong> de cada contrato; cuando tu cuenta está en el modo <strong>long/short</strong>, la posición en long/short de cada contrato se mostrará por separado.

<contentful-embedded-intry-block data-id="1Me7RYOkHKj5UCbapZxle8"></contentful-embedded-intry-block>

Por ejemplo, puedes hacer un seguimiento de tus ganancias y pérdidas no realizadas</strong> a través del parámetro de respuesta <strong>upl</strong>.

Más ejemplos

Para obtener más ejemplos, descarga el libro de notas de Jupyter completo <a href="https://github.com/okxapi/python-okx/blob/master/example/trade_derivatives_en.ipynb" title="">aquí</a>.

Si tienes alguna pregunta sobre nuestras API, puedes unirte a <a href="https://www.okx.com/campaigns/telegram-community-migration" title=">Nuestra comunidad de API</a> y preguntarles si tienes alguna duda sobre ellas en la comunidad.