Downloading Yahoo data

thanks to M.Kishinevsky and M. Higgs

from http://www.gummy-stuff.org/Yahoo-data.htm

Here's a neat way to download stock data from Yahoo, perhaps into a spreadsheet (so you can play with the data):

http://finance.yahoo.com/d/quotes.csv?s= a BUNCH of STOCK SYMBOLS separated by “+” &f=a bunch of special tags

for example: http://finance.yahoo.com/d/quotes.csv?s=XOM+BBDb.TO+JNJ+MSFT&f=snd1l1yr

where some special tags are (thanks to Mike):

a Ask a2 Average Daily Volume a5 Ask Size
b Bid b2 Ask (Real-time) b3 Bid (Real-time)
b4 Book Value b6 Bid Size c Change & Percent Change
c1 Change c3 Commission c6 Change (Real-time)
c8 After Hours Change (Real-time) d Dividend/Share d1 Last Trade Date
d2 Trade Date e Earnings/Share e1 Error Indication (returned for symbol changed / invalid)
e7 EPS Estimate Current Year e8 EPS Estimate Next Year e9 EPS Estimate Next Quarter
f6 Float Shares g Day's Low h Day's High
j 52-week Low k 52-week High g1 Holdings Gain Percent
g3 Annualized Gain g4 Holdings Gain g5 Holdings Gain Percent (Real-time)
g6 Holdings Gain (Real-time) i More Info i5 Order Book (Real-time)
j1 Market Capitalization j3 Market Cap (Real-time) j4 EBITDA
j5 Change From 52-week Low j6 Percent Change From 52-week Low k1 Last Trade (Real-time) With Time
k2 Change Percent (Real-time) k3 Last Trade Size k4 Change From 52-week High
k5 Percebt Change From 52-week High l Last Trade (With Time) l1 Last Trade (Price Only)
l2 High Limit l3 Low Limit m Day's Range
m2 Day's Range (Real-time) m3 50-day Moving Average m4 200-day Moving Average
m5 Change From 200-day Moving Average m6 Percent Change From 200-day Moving Average m7 Change From 50-day Moving Average
m8 Percent Change From 50-day Moving Average n Name n4 Notes
o Open p Previous Close p1 Price Paid
p2 Change in Percent p5 Price/Sales p6 Price/Book
q Ex-Dividend Date r P/E Ratio r1 Dividend Pay Date
r2 P/E Ratio (Real-time) r5 PEG Ratio r6 Price/EPS Estimate Current Year
r7 Price/EPS Estimate Next Year s Symbol s1 Shares Owned
s7 Short Ratio t1 Last Trade Time t6 Trade Links
t7 Ticker Trend t8 1 yr Target Price v Volume
v1 Holdings Value v7 Holdings Value (Real-time) w 52-week Range
w1 Day's Value Change w4 Day's Value Change (Real-time) x Stock Exchange
y Dividend Yield

For example, if y'all copy and paste this URL into your browser address:

http://finance.yahoo.com/d/quotes.csv?s=BBDB.TO+NT.TO+GE+MSFT&f=snl1d1t1ohgdr 

you'll get something which looks like:

and

http://finance.yahoo.com/d/quotes.csv?s=GE&f=nkqwxyr1l9t5p4 

gives this:

"GENERAL ELEC CO",32.98,"Jun 26","21.30 - 32.98","NYSE",2.66,"Jul 25",28.55,"Jul 3","-0.21%"

whereas, to get the data already in a spreadsheet (so you can play it), you can use (for example):

http://finance.yahoo.com/d/quotes.csv?s=XOM+EK+JNJ+MSFT&f=snd1t1l1ohgvwdyr

Here's a spreadsheet that'll download the Yahoo data according to the tags that you specify:

You just follow steps 1, 2, 3 then 4 (click the button).

yahoo.xls

And all that info gets …?

Gets downloaded into the spreadsheet. You just have to identify the Yahoo Symbols, stick in the Yahoo Tags that define the info you want, stick in some Headings (so you know what you're getting), then click the Download Data button. You will also want to reformat the columns so that prices don't display as dates

To download the spreadsheet, click on the picture above.

See also Portfolio spreadsheet.

Note:

Data is downloaded in .csv format … that's comma-separated-values.

Some stock names include commas.

The data associated with such a stock won't look good … things gets shifted to the right. ^#$%@!&?

Solution? (as suggested by Azamul K.)

Put the name LAST … in the right-most column.

If you'd like to play with the 500 S&P stocks, you can use the spreadsheet described here. It also uses some of these tags.