雅虎 财务CSV文件不会返回道琼斯(^ DJI)

我试图从雅虎检索市场数据。 金融和脚本多年来一直运作良好,但最近,它停止显示道琼斯数据。 这是url:

http://download.finance.yahoo.com/d/quotes.csv?s=^DJI,^IXIC,^GSPC,^TNX&f=snl1d1t1c1ohg

该url应该返回以下数据:

  • 道琼斯
  • 纳斯达克
  • 标准普尔
  • 10年期债券

它实际上没有回到我的CSV中,我尝试了所有我能想到的,但没有用,我没有看到任何人在网上有同样的问题。

任何想法和任何人都有相同的问题?

谢谢。

用INDUreplace^ DJI(这是道指的代号之一) – 这将起作用。

不知道为什么^ DJI上周末停止了工作 – 有人做了“负面的提升”。

Cheerio

GT

据雅虎在:

http://developer.yahoo.net/forum/index.php?showtopic=6943

感谢您写信给Yahoo! 金融。 我了解到,您正在报告无法下载^ DJI的CSV数据。 我当然可以给你更多的信息。 你遇到的限制是由于道琼斯指数的限制。 雅虎 不再能够以这种方式提供道琼斯指数数据。 对于造成的不便,我们深表歉意。 请让我知道,如果我能得到进一步的援助。 再次感谢您联系Yahoo! 金融。 问候,Brett雅虎! 财务客户服务

另一个build议使用INDU的post似乎有效!…不知道雅虎(或道琼斯)是否错过了这个,它最终会消失…

我知道这个问题已经有一段时间了,但是我最近碰到了这个^ DJI和Yahoo! 由于雅虎另一个变化,再次引发的问题。 并提出了一个解决scheme,可以帮助OP和任何其他人通过search到达这个页面。

作为一个背景请注意,有几个URL可能会被用来从雅虎下载历史报价数据。 他们是:

1) http://download.finance.yahoo.com/d/quotes.csv

2) http://ichart.finance.yahoo.com/table.csv

3) http://finance.yahoo.com/q/hp

1)是OP列出的之一,2)实际上是您在报价的网页显示下获得的“下载”链接,3)是正常的历史报价网页URL。

事实certificate,虽然1)自从2011年8月被马里奥·费尔南德斯(Mario Fernandez)提名以来一直被阻止用于^ DJI和其他一些人,2)实际上还在工作,直到前一天。 我知道这一点,因为我一直在使用它,大约一个星期前它停止工作(事实certificate)。 另一方面,2)的好处是,它实际上可以让你获取比通过1)或3)显然可用的数据更多的数据,例如,使用方法2)可以一直检索数据到1928年,但我离题了 无论如何,正如我所说的,2)最近也停止了工作,这让我感到无法保持我的数据集/模型自动更新。

鉴于我实际上使用了我的一些模型等的DJI数据,我最终花了1个小时或2分钟的时间为正常报价页面(例如3号)写了一个页面刮板,这个页面现在将直接从HTML报价网页页。 这是在用Python编写的开源命令行下载器应用程序的情况下,我在过去的几个月里做了一些小的工作。 这是我目前用来例行刷新我的数据集。 有了最新的补丁,OP和其他想下载的DJI有另一种可能的解决scheme来根据需要下载^ DJI。

如果你想尝试一下,那么你需要首先下载并安装Python(在Windows上,Linux和Mac有内置的Python)。我build议使用ActiveState的Python发行版:

http://www.activestate.com/activepython/downloads

注意他们要求注册详情,但不是强制性的。 点击其中一个下载链接后,您可以忽略注册页面。

那么你需要pyQ程序源码。 你可以从这里的项目页面得到这个:

http://bazaar.launchpad.net/~wprins/python-pyq/trunk/view/head:/pyq.py

编辑2016-10-20:代码现在在github上可用,并将在Python 3下运行: https : //github.com/ByteJuggler/pyq

点击“下载”链接,并将脚本保存在合适的地方。 然后打开一个命令提示符,“cd”到你已经下载脚本的文件夹,并尝试用“pyq”运行脚本。 假设已经安装了Python,你应该看到使用情况的摘要。 最简单的forms就是:

pyq IBM

将获取IBM的实时报价行。

就像是:

IBM公司20120601 20120701 IBM

…将从20120601到20120701的date为IBM提取报价。 等等输出实际上是CSV。 如果要将输出保存到文件,则按照正常方式redirect输出:

pyq 20120601 20120701 IBM> ibm.csv

无论如何,希望帮助别人。 (我今天早些时候偶然发现了这个页面,试图弄清楚为什么我的DJI数据集大约一周前就过时了,如果/当我想出一个解决scheme的时候,我决定回到这里)。

编辑:请注意^ DJI你应该引用股票,例如:

pyq 20120601 20120701“^ DJI”>“^ DJI.csv”

我认为你最好联系雅虎! 财务 。 因为他们知道他们的系统,很可能会帮助。

现在,雅虎阻止INDU,你可以使用一个追踪指数的ETF。 我不认为他们会阻止这一点。

我正在使用Google Finance从Y获取数据! 财务已停止工作。 尽pipeGoogle可能会在未来改变他们的政策。 直到这将发生我访问

http://finance.google.com/finance/info?lient=ig&q=INDEXDJX:.DJI&callback= ?

这将返回一个JSONP文档。

以下链接: http : //finance.yahoo.com/q/hp? s=^DJI会给你一些你感兴趣的信息(如Open,DaysHigh和DaysLow)。

此外,下列不起作用的代码:

wget -qO ^DJI.csv "http://ichart.finance.yahoo.com/table.csv?s=^DJI" 

可以用下面的黑客代替:

 (echo "Date,Open,High,Low,Close,Volume,Adj Close" for y in {0..7603..66}; do # increase 7603 if necessary wget -qO- "http://finance.yahoo.com/q/hp?s=^DJI&y=$y" | sed 's/<\/\(td\|a\)>/\n/g' | grep yfnc_tabledata1 | sed -e 's/<.*>//g' -e 's/\([0-9]\),\([0-9]\)/\1\2/g' | grep -v ^$ | awk 'BEGIN {m["Jan"]=1; m["Feb"]=2; m["Mar"]=3; m["Apr"]=4; m["May"]=5; m["Jun"]=6; m["Jul"]=7; m["Aug"]=8; m["Sep"]=9; m["Oct"]=10; m["Nov"]=11; m["Dec"]=12} NR%7==1 {printf "%d-%02d-%02d,",$3,m[$1],$2} NR%7>1 {printf "%s,",$0} NR%7==0' done) > ^DJI.csv 

这将从1985年1月29日起生成一个包含^ DJI每日历史数据的表格。