Home Ciencia y Tecnología Construir un bot comercial en tiempo actual usando AI y Python

Construir un bot comercial en tiempo actual usando AI y Python

46
0

En los últimos meses, me he estado sumergiendo profundamente en el mundo de la IA, pero esta vez, puse mi vista en los mercados financieros. Quería ver si alguien con herramientas básicas podría construir un bot de negociación capaz de analizar datos reales del mercado de valores. Simulando estrategias de compra/venta, todas con herramientas gratuitas y API en tiempo actual. La thought no period solo seguir las tendencias, sino construir algo funcional y actual. Este artículo es parte de mi viaje continuo para probar los límites del desarrollo de IA accesible, un proyecto a la vez.

Rompiéndolo con AI

Tuve un desafío específico: ¿podría construir un bot de negociación en tiempo actual utilizando datos financieros reales sin depender de un software program costoso?

ChatGPT ayudó a dividir el proceso en pasos manejables:

  • Cómo conectarse a una API de datos de acciones en tiempo actual.
  • Cómo calcular los indicadores básicos como el promedio móvil easy (SMA).
  • Cómo implementar una estrategia utilizando esos indicadores.
  • Cómo simular las operaciones y los resultados de registro.
  • Cómo convertir el script de Python en un .exe de trabajo para que sea accesible para las personas sin Python instalado.

Por supuesto, hubo hipo técnico, problemas de dependencia, envases de modelos y límites de tarifa de API, pero con cada paso, obtuve nuevas concepts sobre la lógica y la automatización comerciales.

¿Cómo funciona el bot de comercio?

1. El bot se basa en una estrategia easy:

Cuando un promedio móvil a corto plazo (como una SMA de 5 días) cruza por encima de un promedio a largo plazo (como una SMA de 15 días), esa es una señal de compra potencial. Cuando cruza a continuación, esa es una señal de venta.

2. Ejemplo lógico (simplificado)

# Detect SMA crossover
if sma_5.iloc[i] > sma_15.iloc[i] and sma_5.iloc[i - 1] <= sma_15.iloc[i - 1]:
    sign = 'purchase'
elif sma_5.iloc[i] < sma_15.iloc[i] and sma_5.iloc[i - 1] >= sma_15.iloc[i - 1]:
    sign = 'promote'

Esta lógica verifica un cruce comparando los valores actuales y anteriores de los promedios móviles a corto y largo plazo.

3. Pasos clave en el bot:

Utilizando una API como doce datos o finanzas de Yahoo, obtiene precios de acciones intradía o diarias.

from twelvedata import TDClient
td = TDClient(apikey="YOUR_API_KEY")
knowledge = td.time_series(image="AAPL", interval="1min").as_pandas()

Calculamos los promedios móviles con pandas:

knowledge['SMA_5'] = knowledge['close'].rolling(window=5).imply()
knowledge['SMA_15'] = knowledge['close'].rolling(window=15).imply()

El bot escanea cada nuevo punto de datos, evalúa la lógica del crossover y determina si se debe hacer un comercio.

Cada señal de compra/venta se registra en un registro con información de tiempo, precio e información de ganancias/pérdidas.

Se genera un archivo CSV para almacenar el historial comercial, y opcionalmente, se muestra una gráfica.

knowledge.to_csv("trades.csv")

Grabe el precio y las señales usando matplotlib:

plt.plot(knowledge['close']) plt.plot(knowledge['SMA_5']) plt.plot(knowledge['SMA_15']) plt.scatter(buy_signals, ...) 

Integraciones de Python utilizadas

Aquí están las herramientas e integraciones centrales utilizadas en este proyecto:

Herramienta/Propósito de la biblioteca

  1. pandas: Manipulación de datos y cálculo del indicador
  2. matplotlib: Visualización del precio y las operaciones
  3. API de Twelvedata: Datos del mercado de valores en tiempo actual (nivel gratuito disponible)
  4. Pyinstaller: Convertir el script .py a la aplicación .exe

Opcional:

  1. yfinance Como API alternativa para datos diarios.
  2. ejército de reserva para indicadores técnicos prebuidados si es necesario.

Por qué lo construí

No se trataba de vencer al mercado de valores. Se trataba de demostrar que con las herramientas de hoy y alguna orientación de IA, cualquiera puede construir un proyecto útil y de trabajo, incluso en el complejo mundo de datos financieros.

Un bot como este puede cumplir muchos propósitos:

  • Una herramienta de aprendizaje para personas que estudian el comercio algorítmico.
  • Un prototipo para los desarrolladores que construyen plataformas comerciales completas.
  • Un sandbox para probar diferentes estrategias sin arriesgar dinero.

Pensamientos finales

El proyecto de comercio me enseñó algo valioso: no necesita herramientas costosas para comenzar a construir. Solo necesita una pregunta y una voluntad de seguir iterando.

Si está interesado en crear su propia versión, he subido todo a GitHub, que incluye:

El código Python, los archivos .exe, un readme completo.

Y una página para ver los resultados usted mismo.

Si está leyendo esto preguntando si puede construir algo así, deje de preguntar. Empiece a construir.

fuente

LEAVE A REPLY

Please enter your comment!
Please enter your name here