Source code for py_alpaca_api.stock

from py_alpaca_api.stock.assets import Assets
from py_alpaca_api.stock.auctions import Auctions
from py_alpaca_api.stock.history import History
from py_alpaca_api.stock.latest_quote import LatestQuote
from py_alpaca_api.stock.logos import Logos
from py_alpaca_api.stock.metadata import Metadata
from py_alpaca_api.stock.predictor import Predictor
from py_alpaca_api.stock.quotes import Quotes
from py_alpaca_api.stock.screener import Screener
from py_alpaca_api.stock.snapshots import Snapshots
from py_alpaca_api.stock.trades import Trades
from py_alpaca_api.trading.market import Market


[docs] class Stock: def __init__( self, api_key: str, api_secret: str, api_paper: bool, market: Market ) -> None: headers = { "accept": "application/json", "APCA-API-KEY-ID": api_key, "APCA-API-SECRET-KEY": api_secret, } base_url = ( "https://paper-api.alpaca.markets/v2" if api_paper else "https://api.alpaca.markets/v2" ) data_url = "https://data.alpaca.markets/v2" self._initialize_components( headers=headers, base_url=base_url, data_url=data_url, market=market ) def _initialize_components( self, headers: dict[str, str], base_url: str, data_url: str, market: Market, ): self.assets = Assets(headers=headers, base_url=base_url) self.auctions = Auctions(headers=headers) self.history = History(headers=headers, data_url=data_url, asset=self.assets) self.logos = Logos(headers=headers) self.quotes = Quotes(headers=headers) self.screener = Screener( data_url=data_url, headers=headers, market=market, asset=self.assets ) self.predictor = Predictor(history=self.history, screener=self.screener) self.latest_quote = LatestQuote(headers=headers) self.metadata = Metadata(headers=headers) self.snapshots = Snapshots(headers=headers) self.trades = Trades(headers=headers)