【发布时间】:2012-07-17 05:44:30
【问题描述】:
我想开发一个小型应用程序来自动从 Google Finance 获取股票价格并将其存储在我的本地机器中以供将来分析。
谁能告诉我如何开始?
我知道一些 C#。是否适合此目的?
提前谢谢你。
【问题讨论】:
-
Stock Data Downloader 允许根据 Google 财经数据下载历史股票价格。在您要执行分析的大多数情况下,这应该足够了。
标签: google-finance
我想开发一个小型应用程序来自动从 Google Finance 获取股票价格并将其存储在我的本地机器中以供将来分析。
谁能告诉我如何开始?
我知道一些 C#。是否适合此目的?
提前谢谢你。
【问题讨论】:
标签: google-finance
Google Finance Gadget API 已正式成为 deprecated since October 2012,但截至 2014 年 4 月,它仍然有效:
http://www.google.com/finance/info?q=NASDAQ:ADBE
请注意,如果您的申请是针对public consumption, using the Google Finance API is against Google's terms of service。
这给出了一个 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;
}
?>
【讨论】:
CURLOPT_PROXY 并从欧盟以外的服务器获取免费 IP。