alexxd/stock-data

本包提供实时和历史的全球股票数据,时间分辨率有4种:(1)日度,(2)周度,(3)月度,(4)日内。日度、周度和月度时间序列包含20年以上的历史数据。

1.0.2 2019-11-22 06:53 UTC

This package is auto-updated.

Last update: 2024-09-22 17:46:35 UTC


README

本包提供实时和历史的全球股票数据,时间分辨率有4种:(1)日度,(2)周度,(3)月度,(4)日内。日度、周度和月度时间序列包含20年以上的历史数据。

Build Status StyleCI Latest Stable Version Total Downloads

安装

$ composer require alexxd/stock-data -vvv

配置

在使用此扩展之前,您需要前往Alphavantage注册您的账户,然后创建一个应用程序以获取您应用程序的API密钥。

用法

use Alexxd\StockData\Stock;

$key = 'xxxxxxxxxxxxxxxxxxxxxxxxxxx';

$stock = new Stock($key);

获取日内股票数据

$response = $stock->getIntradayStock('AAPL');

示例


{
    "Meta Data": {
        "1. Information": "Intraday (5min) open, high, low, close prices and volume",
        "2. Symbol": "AAPL",
        "3. Last Refreshed": "2019-11-20 16:00:00",
        "4. Interval": "5min",
        "5. Output Size": "Compact",
        "6. Time Zone": "US/Eastern"
    },
    "Time Series (5min)": {
        "2019-11-20 16:00:00": {
            "1. open": "262.9000",
            "2. high": "263.0700",
            "3. low": "262.7800",
            "4. close": "262.7900",
            "5. volume": "707185"
        },
        "2019-11-20 15:55:00": {
            "1. open": "262.7200",
            "2. high": "262.8900",
            "3. low": "262.6222",
            "4. close": "262.8900",
            "5. volume": "386239"
        },
        "2019-11-20 15:50:00": {
            "1. open": "262.7100",
            "2. high": "262.9600",
            "3. low": "262.6800",
            "4. close": "262.7250",
            "5. volume": "329007"
        },
        ...
    }
}

获取日度股票数据

$response = $stock->getDailyStock('AAPL');

获取周度股票数据

$response = $stock->getWeeklyStock('AMZN');

获取月度股票数据

$response = $stock->getMonthlyStock('TSLA');

参数

getIntradayStock($symbol, $interval = '5', $format = 'json',$output_size='compact')
getDailyStock($symbol, $format = 'json',$output_size='compact')
getWeeklyStock($symbol, $format = 'json',$output_size='compact')
getMonthlyStock($symbol, $format = 'json',$output_size='compact')

symbol :您选择的股票名称。例如:AAPL

interval:(仅日内需要)时间序列中连续两个数据点之间的时间间隔。支持以下值:1,5,15,30,60

format:默认为format=json。接受的字符串为json和csv,以下为具体说明:json以JSON格式返回日内时间序列;csv以CSV(逗号分隔值)文件返回时间序列。默认值为json。

output_size:默认output_size=compact。接受的字符串为compact和full,以下为具体说明:compact仅返回日内时间序列中的最新100个数据点;full返回完整的日内时间序列。如果您想减少每个API调用的大小,建议使用"compact"选项。

在Laravel中使用

Laravel中使用的安装方式相同,配置在config/services.php中编写

    .
    .
    .
     'stock' => [
        'key' => env('STOCK_API_KEY'),
    ],

然后在.env中配置STOCK_API_KEY

STOCK_API_KEY=xxxxxxxxxxxxxxxxxxxxx

有两种方式获取Alexxd\StockData\Stock实例

方法参数注入

    .
    .
    .
    public function test(Stock $stock) 
    {
        $response = $stock->getIntraDayStock('AAPL');
    }
    .
    .
    .

服务名称访问

    .
    .
    .
    public function test() 
    {
        $response = app('stock')->getIntraDayStock('AAPL');
    }
    .
    .
    .

贡献

您可以通过以下三种方式之一进行贡献

  1. 使用问题跟踪器提交错误报告。
  2. 问题跟踪器上回答问题或修复错误。
  3. 贡献新功能或更新wiki。

许可证

MIT