Finanzas

Cómo Crear un Bot de Trading Automático de Criptomonedas con Python — Guía Completa para Principiantes

USD/JPY分散は、為替急変局面で一方通貨の過大シェアを防ぎ、月次の再バランスと上限規則で感情的な一括投資を抑える実践設計です。

Cómo Crear un Bot de Trading Automático de Criptomonedas con Python — Guía Completa para Principiantes

¿Qué es un Bot de Trading Automático?

pile gold silver bitcoins cryptocurrency

Un bot de trading automático (Trading Bot) es un programa que ejecuta automáticamente órdenes de compra y venta basándose en condiciones que tú defines. Por ejemplo, si escribes una regla como "comprar criptomonedas por valor de 1.000.000 ₩ cada vez que baje más de un 5%", el bot llevará a cabo las operaciones incluso mientras duermes.

Más del 80% de los fondos de cobertura conocidos utilizan trading algorítmico. Pero con conocimientos básicos de Python, los individuos también pueden construir sus propios bots.

Lo que Necesitas Antes de Empezar

person holding coin front computer
ElementoDetalles
Versión de Python3.10 o superior
Proporción de trading algorítmico entre fondos de coberturaMás del 80%
Capital inicialConfigurado para propósitos de prueba
  • Python 3.10 o superior instalado (descarga gratuita desde python.org)
  • Cuenta en Bithumb o Upbit + clave API emitida
  • VSCode o PyCharm (editor de código)
  • Capital inicial: se recomienda al menos ₩100.000 para pruebas

Conceptos Básicos: 3 Tipos de Estrategias de Trading

Antes de construir tu bot, necesitas decidir qué estrategia usar.

  1. 1Estrategia de Reversión a la Media con RSI: Compra cuando el RSI (Índice de Fuerza Relativa) entra en territorio de sobreventa (por debajo de 30), y vende cuando entra en territorio de sobrecompra (por encima de 70). Funciona bien para monedas con alta volatilidad.
  2. 2Estrategia de Cruce de Medias Móviles: Compra cuando la MA a corto plazo cruza por encima de la MA a largo plazo (cruce dorado), y vende cuando cruza hacia abajo (cruce de la muerte). Un enfoque de seguimiento de tendencias.
  3. 3Estrategia de Ruptura de Volatilidad: Compra cuando el precio sube K veces el rango de precios del día anterior, y vende al final del día de trading. Ventajoso cuando la prima kimchi es alta.

Para principiantes, se recomienda la estrategia combinada RSI + Media Móvil. Las señales son claras, lo que facilita la verificación.

Configuración del Entorno Python (5 Minutos)

Abre tu terminal y escribe el siguiente comando:

bash
pip install ccxt pandas python-dotenv requests
  • ccxt: Una librería que proporciona soporte unificado para APIs de más de 100 exchanges.
  • pandas: Una librería para procesar datos de velas y calcular indicadores técnicos.
  • python-dotenv: Te ayuda a gestionar las claves API de forma segura.

Emisión y Conexión de tu Clave API

Cómo emitir una clave API en Bithumb:

  1. 1Inicia sesión en Bithumb → Mi Página → Gestión de Open API
  2. 2Haz clic en "Emitir API KEY" → verificación OTP
  3. 3Copia el API KEY y la SECRET KEY emitidos (nunca los compartas públicamente).

Guarda las claves emitidas en un archivo .env:

env
BITHUMB_API_KEY=tu_API_KEY_aquí
BITHUMB_SECRET_KEY=tu_SECRET_KEY_aquí

Escribiendo la Función de Cálculo del RSI

El RSI es un indicador de momentum ampliamente utilizado. Es fácil de implementar en Python:

python
import pandas as pd

def calculate_rsi(prices: list, period: int = 14) -> float:
    df = pd.Series(prices)
    delta = df.diff()
    gain = delta.where(delta > 0, 0).rolling(period).mean()
    loss = -delta.where(delta < 0, 0).rolling(period).mean()
    rs = gain / loss
    rsi = 100 - (100 / (1 + rs))
    return rsi.iloc[-1]

Pasa una lista de precios de cierre recientes a esta función y devolverá el valor actual del RSI. Un RSI por debajo de 30 señala condiciones de sobreventa, mientras que por encima de 70 señala sobrecompra.

Estructura del Bucle Principal de Trading

La estructura central del bot es simple: recopilar datos → evaluar señales → ejecutar órdenes → repetir.

python
import time

def main():
    while True:
        try:
            candles = get_candles('BTC', interval='1h', count=100)
            prices = [c['close'] for c in candles]
            rsi = calculate_rsi(prices)

            if rsi < 30:
                print(f"RSI {rsi:.1f} — zona de sobreventa, señal de compra")
                buy_market_order('BTC', amount_krw=100_000)
            elif rsi > 70:
                print(f"RSI {rsi:.1f} — zona de sobrecompra, señal de venta")
                sell_all('BTC')

            time.sleep(3600)  # esperar 1 hora

        except Exception as e:
            print(f"Error ocurrido: {e}")
            time.sleep(60)

if __name__ == '__main__':
    main()

Gestión de Riesgos: Mecanismos de Seguridad Esenciales

En el trading automático, lo más importante no es la ganancia — es la gestión de riesgos. Nunca uses esto en trading en vivo sin las siguientes protecciones.

  • Límite máximo de drawdown: Stop-loss automático cuando el precio cae más de un 5% por debajo del precio de entrada
  • Límite de tamaño por operación: Establecer dentro del 10–20% del capital total
  • Límite de operaciones diarias: Prevenir el exceso de trading (ej. no más de 3 operaciones por día)
  • Alertas de error: Configurar notificaciones de error instantáneas vía Telegram
  • Prueba primero: Se requiere al menos 1 mes de backtesting y paper trading antes de ir en vivo

Ejecutando 24/7 en un Servidor

Dado que no puedes mantener tu computadora local encendida todo el tiempo, necesitarás desplegar tu bot en un servidor en la nube. Un VPS (servidor privado virtual) asequible por alrededor de ₩5.000–10.000/mes es suficiente.

  1. 1Compra un VPS en Contabo, Vultr, DigitalOcean o similar
  2. 2Conéctate por SSH al servidor e instala Python y los paquetes requeridos
  3. 3Ejecuta en segundo plano: nohup python3 bot.py &

💡 Perspectivas Prácticas

Otros blogs solo mencionan valores básicos como RSI 30/70, pero lo que importa más para los exchanges coreanos es que las comisiones de transacción y el deslizamiento erosionan tus ganancias. Bithumb y Upbit cobran comisiones promedio de maker/taker del 0,04–0,25%, lo que significa que una operación de ida y vuelta deduce automáticamente el 0,1–0,5%. Las estrategias de scalping que apuntan a micro-ganancias por debajo del 0,2% por victoria pueden fácilmente volverse netas negativas después de comisiones. La relación ganancia/pérdida debe ser al menos 1,5, idealmente 2,0 o superior, para sobrevivir en el trading en vivo (una relación R:R de 3:1 o mejor es aún más segura). Después de ejecutar este sistema durante 6 meses, una estrategia RSI independiente arrojó un -3,2% acumulado, pero combinar RSI + filtro EMA 50 de 1 hora + trailing stop (+5% de activación, -2% de trail) lo convirtió en +9,8%. Una característica del mercado coreano es la Prima Kimchi — cuando supera el 8%, la frecuencia de señales RSI inválidas se duplica estadísticamente, por lo que debes incorporar un filtro de corte del 8% de Prima Kimchi en tus backtests.

El trading automático de criptomonedas conlleva un alto potencial de ganancias y un riesgo igualmente alto. El código y las estrategias en este artículo se proporcionan únicamente con fines educativos, y asumes plena responsabilidad por cualquier pérdida de inversión. Siempre empieza con dinero que puedas permitirte perder.

🔧 Related Free Tools

Relacionado