Интеграция AI-трейдинг-бота с Alpaca Markets API
Alpaca — брокер с API-first подходом для US equity и crypto рынков. Нет комиссий за акции, официальная Python библиотека, paper trading аккаунт для тестирования. Популярный выбор для старта algo trading.
Быстрый старт
from alpaca.trading.client import TradingClient
from alpaca.trading.requests import MarketOrderRequest, LimitOrderRequest
from alpaca.trading.enums import OrderSide, TimeInForce
from alpaca.data.historical import StockHistoricalDataClient
from alpaca.data.requests import StockBarsRequest
from alpaca.data.timeframe import TimeFrame
from datetime import datetime
API_KEY = "your_api_key"
SECRET_KEY = "your_secret_key"
# Paper trading (paper=True для тестирования)
trading_client = TradingClient(API_KEY, SECRET_KEY, paper=True)
data_client = StockHistoricalDataClient(API_KEY, SECRET_KEY)
# Получение исторических данных
request_params = StockBarsRequest(
symbol_or_symbols=["AAPL", "TSLA"],
timeframe=TimeFrame.Hour,
start=datetime(2024, 1, 1),
end=datetime(2025, 1, 1)
)
bars = data_client.get_stock_bars(request_params)
df = bars.df
# AI сигнал на основе данных
signal = run_ml_model(df['AAPL'])
# Исполнение
if signal == 'buy':
order_data = LimitOrderRequest(
symbol="AAPL",
qty=10,
side=OrderSide.BUY,
time_in_force=TimeInForce.DAY,
limit_price=185.50
)
order = trading_client.submit_order(order_data)
print(f"Submitted: {order.id}")
# Статус аккаунта
account = trading_client.get_account()
print(f"Equity: ${account.equity}, Buying Power: ${account.buying_power}")
Streaming real-time данные
from alpaca.data.live import StockDataStream
stream = StockDataStream(API_KEY, SECRET_KEY)
async def on_bar(bar):
# Обновление ML модели в реальном времени
signal = update_model_and_predict(bar.symbol, bar)
if signal:
await execute_trade(bar.symbol, signal)
stream.subscribe_bars(on_bar, "AAPL", "TSLA")
stream.run()
Alpaca Paper Trading + Paper счёт с $100k виртуальных денег — идеальная среда для тестирования перед live. Срок интеграции: 3–5 дней.







