alexxd / stock-data
本包提供实时和历史的全球股票数据,时间分辨率有4种:(1)日度,(2)周度,(3)月度,(4)日内。日度、周度和月度时间序列包含20年以上的历史数据。
1.0.2
2019-11-22 06:53 UTC
Requires
- guzzlehttp/guzzle: ^6.4
Requires (Dev)
- mockery/mockery: ^1.2
- phpunit/phpunit: ~5
This package is auto-updated.
Last update: 2024-09-22 17:46:35 UTC
README
本包提供实时和历史的全球股票数据,时间分辨率有4种:(1)日度,(2)周度,(3)月度,(4)日内。日度、周度和月度时间序列包含20年以上的历史数据。
安装
$ 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');
}
.
.
.
贡献
您可以通过以下三种方式之一进行贡献
许可证
MIT