Tutorial
Programar órdendes de trading con la API de Alpaca en Python
Automatiza estrategias de trading programando órdenes de compra y venta con la API de Alpaca en Python. Construye bots de trading algorítmico, implementa gestión de riesgo y ejecuta operaciones programáticamente.
En las plataformas de trading, puedes solicitar órdenes de compra o venta sobre un activo financiero.

Si quieres automatizar tus operaciones, puedes programar un bot que ejecute las órdenes por ti.
En este tutorial, aprenderás a solicitar órdenes de manera programática con la API de Alpaca utilizando una cuenta demo.
Disclaimer: Este tutorial tiene fines educativos para enseñarte a programar con casos prácticos. No es una recomendación de inversión.
Preguntas
- ¿Cómo autorizas al código para ejecutar operaciones de trading con tu cuenta de Alpaca?
- ¿Qué información general dispones sobre tu cuenta demo?
- ¿Cómo se crea una orden de compra para un activo financiero?
- ¿Qué significa el parámetro
GTC
en una orden de compra? ¿Por qué es importante? - ¿Cómo se cierra una posición abierta en un activo específico?
- ¿Cómo visualizas la información actualizada de tu portafolio después de realizar operaciones?
Metodología
Crear cuenta en Alpaca
Regístrate en Alpaca y genera una API Key para validar tu acceso programático.
Para evitar riesgos, no registres ningún método de pago al crear tu cuenta.
API_KEY = 'TU_API_KEY'
API_SECRET = 'TU_API_SECRET'
Propiedades de la cuenta
Una vez hayas instalado la librería de Alpaca:
pip install alpaca-py
Creas la instancia del cliente de trading en modo demo, paper=True
, para validar tu conexión a la API.
from alpaca.trading.client import TradingClient
client = TradingClient(API_KEY, API_SECRET, paper=True)
Solicita la información de tu cuenta para verificar que lo tienes todo en orden.
data = client.get_account()
Comienzas con un saldo de $100,000 en tu cuenta demo.

Solicitar primera orden
Vamos all-in al Bitcoin BTCUSD
con el saldo disponible.
Para registrar la orden, necesitas crear un objeto MarketOrderRequest
especificando las condiciones.
notional
es la cantidad de dinero que quieres invertir en la orden. En caso de que quieras comprar un número específico de acciones, debes usar el parámetro qty.GTC
Good Till Cancelled indica que la orden se mantendrá activa hasta que se ejecute.
order = requests.MarketOrderRequest(
symbol='BTCUSD',
notional=100_000,
side=enums.OrderSide.BUY,
time_in_force=enums.TimeInForce.GTC,
)
client.submit_order(order)
Si visitas tus órdenes activas, verás la orden de compra de Bitcoin.
En nuestro caso, la orden se ejecutó comprando 1.40 Bitcoins a un precio medio de $69,837.9552.

La ejecución de la orden en Bitcoin debería ser inmediata. Sin embargo, en otros activos financieros, la orden puede tardar en ejecutarse.
Cerrar posición en activo
Ahora tienes un activo como posición abierta en tu cuenta.
Para cerrar la posición, necesitarás el asset_id
del activo.
position = client.get_open_position('BTCUSD')
client.close_position(symbol_or_asset_id=position.asset_id)

Saldo portafolio
Finalmente, observarás tu portafolio con el saldo actualizado en la plataforma de Alpaca.
Observamos que el saldo ha subido $92.86 tras las operaciones realizadas.

Y así es cómo puedes usar la programación para tomar decisiones que se ven reflejadas en la realidad utilizando APIs.
¿Preguntas? Hablamos abajo en comentarios.
Conclusiones
- Autorización para Operaciones de Trading:
TradingClient
en modo demopaper=True
para operar con la API de trading. - Información de la Cuenta Demo:
client.get_account
obtiene información de la cuenta demo, incluyendo saldo y estado. - Creación de una Orden de Compra:
client.submit_order
crea y envía una orden de compraMarketOrderRequest
para un activo especificando detalles como cantidad y precio. - Uso de GTC en Órdenes:
enums.TimeInForce.GTC
establece que la orden permanezca activa hasta que se ejecute. - Cierre de Posición Abierta:
client.close_position
cierra una posición abierta para un activo específico. - Visualización Actualizada de las Operaciones: toda la información de las operaciones realizadas se refleja en la plataforma de Alpaca.