scheb/yahoo-finance-api

用于访问雅虎财经数据的PHP库

v4.10.1 2024-06-09 11:50 UTC

README

这是一个雅虎财经API的PHP客户端。

Build Status Code Coverage Latest Stable Version Total Downloads License

Logo

由于YQL API已于2017年11月停止使用,此客户端使用非官方API端点进行报价、搜索和历史数据的访问。

⚠️ 警告:这些非官方API可能不稳定,并且随时可能中断。此外,您可能违反了雅虎的服务条款。因此,请自行承担风险使用。

安装

通过Composer下载

composer require scheb/yahoo-finance-api

或者您也可以直接在composer.json中添加包

{
    "require": {
        "scheb/yahoo-finance-api": "^4.0"
    }
}

然后告诉Composer安装此包

composer update scheb/yahoo-finance-api

使用方法

use Scheb\YahooFinanceApi\ApiClient;
use Scheb\YahooFinanceApi\ApiClientFactory;
use GuzzleHttp\Client;

// Create a new client from the factory
$client = ApiClientFactory::createApiClient();

// Or use your own Guzzle client and pass it in
$options = [/* ... */];
$guzzleClient = new Client($options);
$client = ApiClientFactory::createApiClient($guzzleClient);

// Returns an array of Scheb\YahooFinanceApi\Results\SearchResult
$searchResult = $client->search("Apple");

// Returns an array of Scheb\YahooFinanceApi\Results\HistoricalData
$historicalData = $client->getHistoricalQuoteData(
    "AAPL",
    ApiClient::INTERVAL_1_DAY,
    new \DateTime("-14 days"),
    new \DateTime("today")
);

// Retrieve dividends history, returns an array of Scheb\YahooFinanceApi\Results\DividendData
$dividendData = $client->getHistoricalDividendData(
    "AAPL",
    new \DateTime("-5 years"),
    new \DateTime("today")
);

// Retrieve stock split history, returns an array of Scheb\YahooFinanceApi\Results\SplitData
$splitData = $client->getHistoricalSplitData(
    "AAPL",
    new \DateTime("-5 years"),
    new \DateTime("today")
);

// Returns Scheb\YahooFinanceApi\Results\Quote
$exchangeRate = $client->getExchangeRate("USD", "EUR");

// Returns an array of Scheb\YahooFinanceApi\Results\Quote
$exchangeRates = $client->getExchangeRates([
    ["USD", "EUR"],
    ["EUR", "USD"],
]);

// Returns Scheb\YahooFinanceApi\Results\Quote
$quote = $client->getQuote("AAPL");

// Returns an array of Scheb\YahooFinanceApi\Results\Quote
$quotes = $client->getQuotes(["AAPL", "GOOG"]);

// Returns an array of Scheb\YahooFinanceApi\Results\OptionChain
$optionChain = $client->getOptionChain("AAPL");
$optionChain = $client->getOptionChain("AAPL", new \DateTime("2021-01-01"));

版本指导

许可证

此库可在MIT许可证下使用。

贡献

想要为此项目做出贡献?请参阅CONTRIBUTING.md

支持我

我自2014年以来一直在开发这个库。我喜欢听到使用它的人的消息,这给我在开源项目中继续工作的动力。

如果您想让我知道它对您很有用,请在GitHub上给它一个星标 ⭐。

如果您喜欢我的工作并想表示感谢,您可以通过PayPal帮我买一杯啤酒 🍻️。