使用Alpha Vantage CLI获取股市数据

在进行数据分析和可视化时,股市数据是决策过程中不可或缺的一部分。为了更好地理解这些数据,经常将其渲染成图表。尽管Yahoo金融API已经停止服务,但Alpha Vantage提供了一个新的免费股市API,它同样易于使用,并且提供每日和日内数据。创建了一个开源的命令行应用程序来下载这些数据。此外,还可以参考描述股市API标准和最佳实践的文章,例如,根据股票分割和股息调整历史股价。

本文将介绍名为alpha-vantage-cli的工具。将展示如何使用这个工具从命令行下载股市数据,并提供从命令行和Node.jsJavaScript代码中使用它的示例。下载的CSV文件内容如下:

目录

  • 获取Alpha Vantage API密钥
  • 使用命令行应用程序
  • Node.js安装
  • 安装命令行应用程序
  • 从命令行获取股市数据
  • 使用代码模块
  • 安装代码模块
  • 从代码获取股市数据
  • 获取源代码
  • 需要支持?
  • 工作原理
  • 结论
  • 资源
  • 历史

获取Alpha Vantage API密钥

Alpha Vantage是免费的,但要使用它,必须注册一个API密钥。请按照注册。以下示例使用的是'demo' API密钥,请意识到这有非常有限的使用次数。

使用命令行应用程序

可以使用alpha-vantage-cli作为命令行应用程序下载股市数据到CSV文件。

首先,需要安装Node.js。这相当简单,请查看了解更多细节。

安装Node.js后,可以通过npm运行以下命令来安装这个工具:

npm install -g alpha-vantage-cli

这将全局安装该工具,以便可以从任何目录运行它。可以使用--version参数检查它是否安装正确:

alpha-vantage-cli --version

这应该显示该工具的最新版本。还有一个--help参数,将帮助理解工具的选项:

alpha-vantage-cli --help

最小使用方式如下:

alpha-vantage-cli --type= --symbol= --api-key=

例如,下载微软的每日数据:

alpha-vantage-cli --type=daily --symbol=MSFT --api-key=demo --out=MSFT-daily.csv

这将数据下载到名为MSFT-daily.csv的文件中。参见本文开头的截图,了解每日数据的外观。也可以这样下载日内数据:

alpha-vantage-cli --type=intraday --symbol=MSFT --api-key=demo --out=MSFT-intraday.csv

这将数据下载到名为MSFT-intraday.csv的文件中。日内数据的外观与每日数据相似:

注意每日和日内数据的时间戳差异。还有其他各种选项,包括设置日内数据的间隔。请使用工具的--help参数获取详细信息。

使用代码模块

alpha-vantage-cli也可以导入到Node.js脚本中从代码中使用。

要使用,请在Node.js项目中使用npm本地安装:

npm install --save alpha-vantage-cli

以下是从JavaScript代码文件中使用的示例。不要忘记用自己的API密钥替换!

var AlphaVantageAPI = require('alpha-vantage-cli').AlphaVantageAPI; var yourApiKey = 'demo'; var alphaVantageAPI = new AlphaVantageAPI(yourApiKey, 'compact', true); alphaVantageAPI.getDailyData('MSFT') .then(dailyData => { console.log("Daily data:"); console.log(dailyData); }) .catch(err => { console.error(err); });

上面的示例代码获取每日数据。获取日内数据几乎相同,只需使用getIntradayData函数即可。alpha-vantage-cli也可以从TypeScript代码中使用,请查看Github页面获取更多示例。

获取源代码

alpha-vantage-cli的源代码可在Github上找到:

需要支持?

需要帮助开始使用alpha-vantage-cli吗?更愿意使用桌面应用程序而不是命令行工具吗?请成为The Data Wrangler的赞助人,将乐意帮助。

工作原理

alpha-vantage-cli使用request-promise从Alpha Vantage股票历史API下载数据。手动下载数据相当简单。可以尝试自己通过在浏览器中打开以下链接:

沪ICP备2024098111号-1
上海秋旦网络科技中心:上海市奉贤区金大公路8218号1幢 联系电话:17898875485