Создание торгового бота в реальном времени с помощью ИИ и Питона

Создание торгового бота в реальном времени с помощью ИИ и Питона

29 июля 2025 г.

За последние несколько месяцев я погрузился в мир ИИ, но на этот раз я нацелился на финансовые рынки. Я хотел посмотреть, сможет ли кто -то с основными инструментами создать торговый бот, способный анализировать реальные данные на фондовом рынке. Моделирование стратегий покупки/продажи, все с бесплатными инструментами и API в реальном времени. Идея заключалась не только в том, чтобы следовать тенденциям, но и создать что -то функциональное и реальное. Эта статья является частью моего продолжающегося путешествия, чтобы проверить пределы доступной разработки ИИ, по одному проекту за раз.


Разбивая его с помощью ИИ

У меня была особая задача: могу ли я создать торговый бот в реальном времени, используя реальные финансовые данные, не полагаясь на дорогостоящее программное обеспечение?


CHATGPT помог разбить процесс на управляемые шаги:

  • Как подключиться к API данных в реальном времени.
  • Как рассчитать основные индикаторы, такие как простое скользящее среднее (SMA).
  • Как реализовать стратегию, используя эти индикаторы.
  • Как смоделировать сделки и журналы результатов.
  • Как преобразовать сценарий Python в рабочий .exe, чтобы сделать его доступным для людей без установленного Python.


Конечно, были технические сбои, проблемы с зависимостью, модельную упаковку и ограничения по ставке API, но с каждым шагом я получал новую информацию о логике торговли и автоматизации.


Как работает торговый бот?


1. Бот основан на простой стратегии:

Когда краткосрочная скользящая средняя (например, 5-дневная SMA) пересекается выше долгосрочного среднего (например, 15-дневного SMA), это потенциальный сигнал покупки. Когда он пересекается ниже, это сигнал продажи.


2. Логический пример (упрощенный)


# Detect SMA crossover
if sma_5.iloc[i] > sma_15.iloc[i] and sma_5.iloc[i - 1] <= sma_15.iloc[i - 1]:
    signal = 'buy'
elif sma_5.iloc[i] < sma_15.iloc[i] and sma_5.iloc[i - 1] >= sma_15.iloc[i - 1]:
    signal = 'sell'

Эта логика проверяет кроссовер, сравнивая текущие и предыдущие значения краткосрочных и долгосрочных скользящих средних.


3. Ключевые шаги в боте:

  • Получите данные в реальном времени

Используя API, как двенадцать данных или финансы Yahoo, он получает внутридневные или ежедневные цены на акции.


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


  • Рассчитать индикаторы

Мы рассчитываем средние перемещения с пандами:


data['SMA_5'] = data['close'].rolling(window=5).mean()
data['SMA_15'] = data['close'].rolling(window=15).mean()


  • Применить стратегию

BOT сканирует каждую новую точку данных, оценивает логику кроссовера и определяет, должна ли торговать.


  • Имитировать сделки

Каждый сигнал о покупке/продаже записывается в журнале с информацией о временных точках, цене и получении прибыли/убытков.


  • Выходные результаты

Файл CSV генерируется для хранения истории торговли, и, необязательно, отображается сюжет.


data.to_csv("trades.csv")


  • Визуализация

Наметить цену и сигналы, используя Matplotlib:


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



Интеграции Python используются

Вот основные инструменты и интеграции, используемые в этом проекте:


Инструмент/Библиотека Цель

  1. Панды:Манипулирование данными и расчет индикаторов
  2. matplotlib:Визуализация цен и сделок
  3. API Twelvedata:Данные фондового рынка в реальном времени (бесплатный уровень доступны)
  4. Pyinstaller:Преобразовать сценарий .py в приложение .exe


Необязательный:

  1. ифинансированиеВ качестве альтернативного API для ежедневных данных.
  2. ТАдля предварительно построенных технических индикаторов, если это необходимо.



Почему я это построил

Это было не о том, чтобы победить фондовый рынок. Речь шла о том, чтобы доказать, что с помощью сегодняшних инструментов и некоторых руководств по искусственному интеллекту каждый может создать полезный, работающий проект, даже в сложном мире финансовых данных.


Подобный бот может служить многим целям:

  • Инструмент обучения для людей, изучающих алгоритмическую торговлю.
  • Прототип для разработчиков, создающих полные торговые платформы.
  • Песочница для тестирования различных стратегий без риска денег.


Последние мысли

Торговый проект научил меня чем -то ценным: вам не нужны дорогие инструменты, чтобы начать строительство. Вам просто нужен вопрос и готовность сохранять итерацию.


Если вы заинтересованы в создании своей собственной версии, я загрузил все в GitHub, включая:


Код Python, файлы .exe, полная Readme.

И страница, чтобы увидеть результаты самостоятельно.


Если вы читаете это, спрашивая, можете ли вы построить что -то подобное, перестаньте спрашивать. Начните строить.


Оригинал
PREVIOUS ARTICLE
NEXT ARTICLE