From 71a01fb5577ae8326072020a8de49361f16bd3de Mon Sep 17 00:00:00 2001 From: TheSiahxyz <164138827+TheSiahxyz@users.noreply.github.com> Date: Thu, 2 Apr 2026 10:08:32 +0900 Subject: refactor: migrate to US stocks with Alpaca API - Replace Binance/ccxt with Alpaca REST client (paper + live) - Add MOC (Market on Close) strategy for overnight gap trading - Wire sentiment into strategy engine main loop - Add EMA + bullish candle entry filters to Asian RSI - Remove crypto-specific exchange factory - Update config: Alpaca keys replace Binance keys - 399 tests passing, lint clean --- shared/src/shared/alpaca.py | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) (limited to 'shared/src') diff --git a/shared/src/shared/alpaca.py b/shared/src/shared/alpaca.py index 3dd752b..7821592 100644 --- a/shared/src/shared/alpaca.py +++ b/shared/src/shared/alpaca.py @@ -1,6 +1,6 @@ """Alpaca Markets API client for US stock trading.""" + import logging -from datetime import datetime, timezone from decimal import Decimal from typing import Any @@ -107,7 +107,8 @@ class AlpacaClient: async def get_orders(self, status: str = "open", limit: int = 50) -> list: return await self._request( - "GET", f"{self._base_url}/v2/orders", + "GET", + f"{self._base_url}/v2/orders", params={"status": status, "limit": limit}, ) @@ -155,19 +156,23 @@ class AlpacaClient: params["end"] = end data = await self._request( - "GET", f"{self._data_url}/v2/stocks/{symbol}/bars", params=params, + "GET", + f"{self._data_url}/v2/stocks/{symbol}/bars", + params=params, ) return data.get("bars", []) async def get_latest_quote(self, symbol: str) -> dict: data = await self._request( - "GET", f"{self._data_url}/v2/stocks/{symbol}/quotes/latest", + "GET", + f"{self._data_url}/v2/stocks/{symbol}/quotes/latest", ) return data.get("quote", {}) async def get_snapshot(self, symbol: str) -> dict: return await self._request( - "GET", f"{self._data_url}/v2/stocks/{symbol}/snapshot", + "GET", + f"{self._data_url}/v2/stocks/{symbol}/snapshot", ) # --- Market Status --- -- cgit v1.2.3