- API Alpha Vantage:
Alpha Vantage предоставляет широкий спектр данных финансового рынка, включая котировки акций, исторические данные, технические индикаторы и многое другое. Вот пример того, как получить котировки акций с помощью API Alpha Vantage в Python:
import requests
def get_stock_quote(symbol):
api_key = 'YOUR_API_KEY' # Replace with your Alpha Vantage API key
url = f'https://www.alphavantage.co/query?function=GLOBAL_QUOTE&symbol={symbol}&apikey={api_key}'
response = requests.get(url)
data = response.json()
if 'Global Quote' in data:
quote_data = data['Global Quote']
symbol = quote_data['01. symbol']
price = quote_data['05. price']
change_percent = quote_data['10. change percent']
print(f'Symbol: {symbol}')
print(f'Price: {price}')
print(f'Change Percent: {change_percent}')
else:
print('Stock quote not found.')
# Usage
get_stock_quote('AAPL')
- API Yahoo Finance:
Yahoo Finance предлагает богатый набор финансовых данных и API. Несмотря на то, что их официальный API устарел, вы все равно можете получить доступ к данным через неофициальные сторонние библиотеки. Вот пример использования библиотеки yfinance:
import yfinance as yf
def get_stock_info(symbol):
stock = yf.Ticker(symbol)
info = stock.info
if info:
print(f'Symbol: {info["symbol"]}')
print(f'Price: {info["regularMarketPrice"]}')
print(f'Change Percent: {info["regularMarketChangePercent"]}')
else:
print('Stock information not found.')
# Usage
get_stock_info('AAPL')
- API Interactive Brokers:
Interactive Brokers — популярная брокерская фирма, предлагающая API, обеспечивающий программный доступ к их торговой платформе. Вот пример использования API Interactive Brokers с библиотекой ibapiна Python:
from ibapi.client import EClient
from ibapi.wrapper import EWrapper
class MyWrapper(EWrapper):
def __init__(self):
super().__init__()
def error(self, reqId, errorCode, errorString):
print(f'Error: {errorString}')
def tickPrice(self, reqId, tickType, price, attrib):
if tickType == 4: # Last price
print(f'Price: {price}')
def get_last_price(symbol):
app = EClient(MyWrapper())
app.connect('127.0.0.1', 7497, clientId=0) # Replace with your connection details
app.reqMktData(1, symbol, '', False, False, []) # Request market data
app.run()
app.disconnect()
# Usage
get_last_price('AAPL')