alpaca-trading
Trading API de Alpaca: órdenes, posiciones, cuenta. Paper trading y live trading de acciones, crypto y opciones.
Market Data API de Alpaca: acciones, crypto, opciones. Historical y real-time data para 5000+ stocks.
$ npx -y skills add gauss314/skills --skill alpaca-data --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/alpaca-dataContext preview
The summary Claude sees to decide when to auto-load this skill.
Market Data API de Alpaca: acciones, crypto, opciones. Historical y real-time data para 5000+ stocks.
name: alpaca-data description: "Market Data API de Alpaca: acciones, crypto, opciones. Historical y real-time data para 5000+ stocks." license: MIT
API de datos de mercado con datos históricos y en tiempo real para acciones, crypto y opciones.
**Base URL:** `https://data.alpaca.markets` **SDK:** `pip install alpaca-py` **Docs:** [docs.alpaca.markets](https://docs.alpaca.markets/us/docs/about-market-data-api)
---
1. Ir a [app.alpaca.markets](https://app.alpaca.markets) 2. Crear cuenta (paper trading es gratis) 3. Ir a "API Keys" → Generate New Keys 4. Guardar **API Key** y **Secret Key**
import os
from alpaca.data.historical import StockHistoricalDataClient
# Keys (requerido para datos de acciones)
API_KEY = os.getenv("APCA_API_KEY_ID")
SECRET_KEY = os.getenv("APCA_API_SECRET_KEY")
client = StockHistoricalDataClient(API_KEY, SECRET_KEY)
# Crypto NO requiere keys
from alpaca.data.historical import CryptoHistoricalDataClient
crypto_client = CryptoHistoricalDataClient()**⚠️ NUNCA hardcodear keys en código que se comparte.**
---
| Plan | Requests/Min | Datos | |------|-------------|-------| | **Free (IEX)** | 200 | ~5 años historia, 1 exchange | | **Paid (SIP)** | Mayor | Todas las bolsas US, ~7 años |
---
| Feed | Descripción | Costo | |------|-------------|-------| | `iex` | Investors Exchange (~2.5% del volumen) | Gratis | | `sip` | Todas las bolsas US (consolidado) | Paid | | `boats` | Blue Ocean ATS (horas extendidas) | Paid | | `otc` | Over-the-counter | Paid |
**Free tier = solo IEX**
---
from alpaca.data.requests import StockBarsRequest
from alpaca.data.timeframe import TimeFrame
from datetime import datetime
request = StockBarsRequest(
symbol_or_symbols=["AAPL", "GOOGL"],
timeframe=TimeFrame.Day,
start=datetime(2023, 1, 1),
end=datetime(2024, 12, 31),
feed="iex" # free tier
)
bars = client.get_stock_bars(request)
df = bars.df # DataFrame**TimeFrames disponibles:**
from alpaca.data.requests import StockQuotesRequest
request = StockQuotesRequest(
symbol_or_symbols=["AAPL"],
start=datetime(2024, 1, 1),
end=datetime(2024, 1, 31),
feed="iex"
)
quotes = client.get_stock_quotes(request)from alpaca.data.requests import StockTradesRequest
request = StockTradesRequest(
symbol_or_symbols=["AAPL"],
start=datetime(2024, 1, 1),
feed="iex"
)
trades = client.get_stock_trades(request)# Latest bar bars = client.get_stock_latest_bar(["AAPL", "GOOGL"]) # Latest quote quotes = client.get_stock_latest_quote(["AAPL"]) # Latest trade trades = client.get_stock_latest_trade(["AAPL"])
from alpaca.data.requests import SnapshotRequest
request = SnapshotRequest(
symbol_or_symbols=["AAPL", "GOOGL"]
)
snapshots = client.get_snapshot(request)---
**No requiere API keys**
from alpaca.data.historical import CryptoHistoricalDataClient
from alpaca.data.requests import CryptoBarsRequest
from alpaca.data.timeframe import TimeFrame
from datetime import datetime
client = CryptoHistoricalDataClient()
request = CryptoBarsRequest(
symbol_or_symbols=["BTC/USD", "ETH/USD"],
timeframe=TimeFrame.Day,
start=datetime(2023, 1, 1),
end=datetime(2024, 12, 31)
)
bars = client.get_crypto_bars(request)
df = bars.dffrom alpaca.data.requests import CryptoLatestQuoteRequest request = CryptoLatestQuoteRequest(symbol_or_symbols=["BTC/USD"]) quotes = client.get_crypto_latest_quote(request)
---
# Obtener contratos disponibles
from alpaca.data.requests import OptionContractsRequest
request = OptionContractsRequest(
underlying_symbols=["AAPL"],
expiration_date_gte="2024-01-01", # desde esta fecha
expiration_date_lte="2024-12-31", # hasta esta fecha
strike_price_gte=100, # strikes mínimo
strike_price_lte=200 # strikes máximo
)
contracts = client.get_option_contracts(request)from alpaca.data.requests import OptionBarsRequest
# Buscar contract ID primero
contract_id = "6e58f870-fe73-4583-81e4-b9a37892c36f"
request = OptionBarsRequest(
symbol_or_contract_ids=[contract_id],
start=datetime(2024, 1, 1),
end=datetime(2024, 1, 31)
)
bars = client.get_option_bars(request)---
Ver [./references/options_reference.md](./references/options_reference.md) para:
---
from alpaca.data.requests import StockNewsRequest
request = StockNewsRequest(
symbol_or_symbols=["AAPL", "GOOGL"],
start=datetime(2024, 1, 1),
end=datetime(2024, 1, 31)
)
news = client.get_stock_news(request)---
from alpaca.data.requests import MostActivesRequest
request = MostActivesRequest(
by="volume", # volume, share, number
top=10,
date="2024-01-15"
)
movers = client.get_most_actives(request)---
from alpaca.data.stream import StockDataStream
ws = StockDataStream(API_KEY, SECRET_KEY)
async def handle_bar(bar):
print(bar)
ws.subscribe_bars(handle_bar, "AAPL", "GOOGL")
ws.run()---
Open-source collection of skills compatible with the SKILL.md standard. Developed for the AI courses at UCEMA.
Trading API de Alpaca: órdenes, posiciones, cuenta. Paper trading y live trading de acciones, crypto y opciones.
API de datos financieros de EE.UU.: acciones, forex, crypto, indicadores técnicos, fundamental data.
Academic backtesting framework for quantitative research. ~30 risk and performance ratios, 10 classes of indicators, event-driven…
Quotes, fundamentals, insider, analyst ratings, earnings estimates, financial summary, income/balance/cashflow detail y company…
API de Estadísticas Monetarias v4.0 del BCRA con 638 series macroeconómicas (reservas, tipo de cambio, tasas, M1/M2/M3,…