我想开发一个小型应用程序来自动从 Google Finance 获取股票价格并将其存储在我的本地机器中以供将来分析。
谁能给我一些线索如何开始?
我知道一些 C#。它适合这个目的吗?
先感谢您。
我想开发一个小型应用程序来自动从 Google Finance 获取股票价格并将其存储在我的本地机器中以供将来分析。
谁能给我一些线索如何开始?
我知道一些 C#。它适合这个目的吗?
先感谢您。
Google Finance Gadget API自 2012年10 月起正式弃用,但截至 2014 年 4 月,它仍然有效:
http://www.google.com/finance/info?q=NASDAQ:ADBE
请注意,如果您的应用程序是供公众使用的,那么使用 Google Finance API 将违反 Google 的服务条款。
这给出了一个 JSON 响应,在切掉前两个字符 ('//') 后,可以使用 C# 中的简单 JSON 解析器对其进行解析。
要再次下载历史数据,您可以使用 Google API。
给出从 startdate 到 enddate 的日终股票价格的 CSV。使用简单的 CSV 解析器从存储在数据库中的数据中获取有意义的数据。但是,此 format=csv 选项不适用于少数证券交易所。
如果您想下载历史数据,您可以使用 Google Finance API(截至 2016 年 5 月仍然有效)。您不必提供结束日期,它会自动获取从开始日期(或者如果股票当时没有交易则更晚)到最后一个完整交易日期的数据:
http://www.google.com/finance/historical?q=NASDAQ:AAPL&startdate=Jan+01%2C+2000&output=csv
请记住,Google Finance API 仅供个人使用。我建议你他们的服务条款。
如果您只想下载最新日期(这可能有助于更新您的本地数据库),您可以使用由 Hongtao Cai 开发的 googlefinance 库:
我刚刚用 PHP 实现了这个。它可能有用。
<?php
echo readGoogle('AAPL', 'Aug+21%2C+2017', 'Aug+22%2C+2017');
function readGoogle($ticker, $startDate, $endDate) {
$fp = fopen("http://finance.google.com/finance/historical?q=".$ticker."&startdate=".$startDate."&enddate=".$endDate."&output=csv", 'r');
if (FALSE === $fp) return 'Can not open data.';
$buffer = '';
while (!feof($fp)) $buffer .= implode(',', (array)fgetcsv($fp, 5000));
fclose($fp);
return $buffer;
}
?>