...
WEB и WordPress новости, темы, плагины. Здесь мы делимся советами и лучшими решениями для сайтов.

Alpha Vantage – интеграция API бесплатных акций в PHP

221

Недавно я работал над проектом, в котором мы хотели интегрировать бесплатные стандартные 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. Я хотел бы услышать ваши мысли и предложения в разделе комментариев ниже.

Статьи по Теме

Источник записи: artisansweb.net

Этот веб-сайт использует файлы cookie для улучшения вашего опыта. Мы предполагаем, что вы согласны с этим, но вы можете отказаться, если хотите. Принимаю Подробнее