Alpha Vantage – интеграция API бесплатных акций в PHP
Недавно я работал над проектом, в котором мы хотели интегрировать бесплатные стандартные API. В ходе исследования мы наткнулись на сервис Alpha Vantage, который бесплатно предоставляет данные об акциях. В бесплатном плане они предоставляют 5 запросов API в минуту и 500 запросов в день. Этой квоты достаточно для небольших приложений. Однако, если вам нужно больше ресурсов, ознакомьтесь с их планами премиум-класса.
Alpha Vantage предоставляет конечную точку для получения данных о запасах. Используя их API-интерфейсы, мы можем получать данные о запасах в течение дня, дня, недели, месяца. Они также предоставляют фундаментальные данные, такие как обзор компании, прибыль, отчет о прибылях и убытках, баланс и т.д. Также можно получить курсы обмена между разными валютами.
В этой статье мы изучаем, как получить данные об акциях с помощью Alpha Vantage на PHP. Для начала возьмите свой ключ API с веб-сайта Alpha Vantage.
Интегрируйте API бесплатных акций в PHP
Чтобы получить данные о запасах, нам нужно отправить HTTP-запросы на предоставленную конечную точку Alpha Vantage. Это можно сделать с помощью cURL. Лично я люблю Guzzle именно за это. Здесь я также собираюсь отправлять HTTP-запросы и обрабатывать ответы с помощью Guzzle.
Установите библиотеку Guzzle с помощью команды:
composer require guzzlehttp/guzzle
При взаимодействии с API Alpha Vantage нам необходимо отправлять запросы GET в их конечную точку API. Конечная точка API https://www.alphavantage.co/query
одинакова для всех запросов. Единственное изменение будет в параметрах «GET». Начнем с практического получения данных о запасах.
Получите данные в течение дня
В документации по API Alpha Vantage вы найдете подробную информацию о конечных точках и их параметрах.
Вы можете получить внутридневные данные по любой акции следующим образом. В качестве примера я использую компанию IBM.
<?php
require_once "vendor/autoload.php";
use GuzzleHttpClient;
$client = new Client([
// Base URI is used with relative requests
'base_uri' => 'https://www.alphavantage.co',
]);
$response = $client->request('GET', '/query', [
'query' => [
'function' => 'TIME_SERIES_INTRADAY',
'symbol' => 'IBM',
'interval' => '5min',
'apikey' => 'YOUR_API_KEY',
]
]);
$body = $response->getBody();
$arr_body = json_decode($body);
print_r($arr_body);
Замените заполнитель YOUR_API_KEY своим фактическим ключом API. Здесь я использую параметр функции as TIME_SERIES_INTRADAY
и интервал as 5min
.
Ежедневные данные
Вы можете получать ежедневные данные о запасах, используя ту же конечную точку, но с разными параметрами, как показано ниже.
$response = $client->request('GET', '/query', [
'query' => [
'function' => 'TIME_SERIES_DAILY',
'symbol' => 'IBM',
'apikey' => 'YOUR_API_KEY',
]
]);
В приведенном выше запросе API требуется параметр функции TIME_SERIES_DAILY
.
Фундаментальные данные
Выбирая правильные акции, вы, вероятно, захотите взглянуть на фундаментальные детали компании. Вы можете легко получить эти детали с помощью Alpha Vantage.
Обзор компании
$response = $client->request('GET', '/query', [
'query' => [
'function' => 'OVERVIEW',
'symbol' => 'IBM',
'apikey' => 'YOUR_API_KEY',
]
]);
Прибыль компании
$response = $client->request('GET', '/query', [
'query' => [
'function' => 'EARNINGS',
'symbol' => 'IBM',
'apikey' => 'YOUR_API_KEY',
]
]);
Отчеты о доходах
$response = $client->request('GET', '/query', [
'query' => [
'function' => 'INCOME_STATEMENT',
'symbol' => 'IBM',
'apikey' => 'YOUR_API_KEY',
]
]);
Баланс
$response = $client->request('GET', '/query', [
'query' => [
'function' => 'BALANCE_SHEET',
'symbol' => 'IBM',
'apikey' => 'YOUR_API_KEY',
]
]);
Обратите внимание, что вы получите подробную информацию об этих конечных точках и их параметрах в документации по их API.
Курсы валют
Если вы хотите получить в реальном времени и исторические курсы форекс (FX), вы можете сделать это, используя приведенный ниже код. В этом коде я получаю курс доллара США к валюте INR.
$response = $client->request('GET', '/query', [
'query' => [
'function' => 'CURRENCY_EXCHANGE_RATE',
'from_currency' => 'USD',
'to_currency' => 'INR',
'apikey' => 'YOUR_API_KEY',
]
]);
Таким же образом пользователи могут получать исторические курсы форекс (FX) между двумя валютами.
$response = $client->request('GET', '/query', [
'query' => [
'function' => 'FX_DAILY',
'from_symbol' => 'USD',
'to_symbol' => 'INR',
'apikey' => 'YOUR_API_KEY',
]
]);
В приведенном выше коде есть параметр функции, FX_DAILY
который дает вам ежедневные курсы валют. Вы можете получить еженедельные данные с параметром FX_WEEKLY
, ежемесячные данные с FX_MONTHLY
.
Все дело в интеграции бесплатных API-интерфейсов в PHP с Alpha Vantage. Я хотел бы услышать ваши мысли и предложения в разделе комментариев ниже.
Статьи по Теме
- Как читать и писать файлы электронных таблиц в PHP
- Как создавать собрания Zoom с помощью PHP и JWT
- Запись данных в лист OneDrive с помощью Microsoft Graph API и PHP