Alpha Vantage – Zintegruj bezpłatne API giełdowe w PHP
Ostatnio pracowałem nad projektem, w którym chcieliśmy zintegrować darmowe API giełdowe. Podczas badań natrafiliśmy na usługę Alpha Vantage, która udostępnia dane giełdowe za darmo. W bezpłatnym abonamencie zapewniają 5 żądań API na minutę i 500 żądań dziennie. Ten limit jest wystarczający dla małych aplikacji. Jeśli jednak potrzebujesz więcej zasobów, sprawdź ich plany premium.
Alpha Vantage daje punkt końcowy do pobrania danych giełdowych. Korzystając z ich interfejsów API, możemy pobierać dane giełdowe w ciągu dnia, dnia, tygodnia, miesiąca. Dostarczają również podstawowe dane, takie jak przegląd firmy, zarobki, rachunek zysków i strat, bilans itp. Można również uzyskać kursy wymiany między różnymi walutami.
W tym artykule dowiemy się, jak uzyskać dane giełdowe za pomocą Alpha Vantage w PHP. Aby rozpocząć, pobierz klucz API ze strony Alpha Vantage.
Zintegruj bezpłatne API giełdowe w PHP
Aby pobrać dane giełdowe, musimy wysyłać żądania HTTP do podanego punktu końcowego Alpha Vantage. Można to zrobić za pomocą cURL. Osobiście uwielbiam Guzzle do tego celu. Tutaj również zamierzam wysyłać żądania HTTP i obsługiwać odpowiedzi za pomocą Guzzle.
Zainstaluj bibliotekę Guzzle za pomocą polecenia:
composer require guzzlehttp/guzzle
Podczas interakcji z API Alpha Vantage musimy wysyłać żądania GET do ich punktu końcowego API. Punkt końcowy interfejsu API https://www.alphavantage.co/query
jest taki sam dla wszystkich żądań. Jedyną zmianą będą parametry ‘GET’. Zacznijmy praktycznie od pobrania danych giełdowych.
Uzyskaj dane w ciągu dnia
W dokumentacji API Alpha Vantage znajdziesz szczegółowe informacje o punkcie końcowym i jego parametrach.
Możesz uzyskać dane w ciągu dnia o dowolnych akcjach w następujący sposób. Jako przykład używam firmy ‘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);
Zastąp symbol zastępczy YOUR_API_KEY swoim rzeczywistym kluczem API. Tutaj używam parametru funkcji jako TIME_SERIES_INTRADAY
i interwału jako 5min
.
Dane dzienne
Możesz uzyskać dzienne dane o zapasach przy użyciu tego samego punktu końcowego, ale z różnymi parametrami w następujący sposób.
$response = $client->request('GET', '/query', [
'query' => [
'function' => 'TIME_SERIES_DAILY',
'symbol' => 'IBM',
'apikey' => 'YOUR_API_KEY',
]
]);
W powyższym żądaniu API wymaganym parametrem funkcji jest TIME_SERIES_DAILY
.
Podstawowe dane
Wybierając odpowiednie akcje, prawdopodobnie chcesz przyjrzeć się podstawowym szczegółom firmy. Możesz łatwo uzyskać te szczegóły dzięki Alpha Vantage.
Informacje o Firmie
$response = $client->request('GET', '/query', [
'query' => [
'function' => 'OVERVIEW',
'symbol' => 'IBM',
'apikey' => 'YOUR_API_KEY',
]
]);
Zarobki firmy
$response = $client->request('GET', '/query', [
'query' => [
'function' => 'EARNINGS',
'symbol' => 'IBM',
'apikey' => 'YOUR_API_KEY',
]
]);
Oświadczenia o dochodach
$response = $client->request('GET', '/query', [
'query' => [
'function' => 'INCOME_STATEMENT',
'symbol' => 'IBM',
'apikey' => 'YOUR_API_KEY',
]
]);
Bilans
$response = $client->request('GET', '/query', [
'query' => [
'function' => 'BALANCE_SHEET',
'symbol' => 'IBM',
'apikey' => 'YOUR_API_KEY',
]
]);
Pamiętaj, że szczegółowe informacje o tych punktach końcowych i ich parametrach znajdziesz w ich dokumentacji API.
Kursy wymiany walut
Jeśli chcesz uzyskać aktualne i historyczne kursy walut (FX), możesz to zrobić za pomocą poniższego kodu. W tym kodzie otrzymuję kurs USD waluty INR.
$response = $client->request('GET', '/query', [
'query' => [
'function' => 'CURRENCY_EXCHANGE_RATE',
'from_currency' => 'USD',
'to_currency' => 'INR',
'apikey' => 'YOUR_API_KEY',
]
]);
W ten sam sposób użytkownicy mogą pobierać historyczne kursy forex (FX) między 2 walutami.
$response = $client->request('GET', '/query', [
'query' => [
'function' => 'FX_DAILY',
'from_symbol' => 'USD',
'to_symbol' => 'INR',
'apikey' => 'YOUR_API_KEY',
]
]);
Powyższy kod ma parametr funkcji, dzięki FX_DAILY
któremu otrzymasz dzienne kursy forex. Możesz uzyskać dane tygodniowe za pomocą parametru FX_WEEKLY
, dane miesięczne za pomocą FX_MONTHLY
.
Wszystko sprowadza się do integracji darmowych API w PHP z Alpha Vantage. Chciałbym usłyszeć wasze przemyślenia i sugestie w sekcji komentarzy poniżej.
Powiązane artykuły
- Jak czytać i zapisywać pliki arkuszy kalkulacyjnych w PHP
- Jak tworzyć spotkania Zoom za pomocą PHP i JWT
- Zapisuj dane do arkusza OneDrive za pomocą Microsoft Graph API i PHP