thanks to M.Kishinevsky and M. Higgs
Here's a neat way to download stock data from Yahoo, perhaps into a spreadsheet
(so you can play with the data):
a BUNCH of STOCK SYMBOLS separated by "+"
&f=a bunch of special tags
where some special tags are (thanks to Mike):
For example, if y'all copy and paste this URL into your browser address:
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 ||
you'll get something which looks like:
"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):
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).
>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.
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.
It's now Feb, 2004 and Yahoo has changed the pertinent URL
It's now Mar, 2007 and Yahoo has changed the pertinent URL again ...
To make the change you can try this:
** That's the most important part of the ritual.
- Right-click on the Download button that calls the macro
- Choose Assign macro then Edit
- Look for a statement containing the phrase:
qurl = "http://quote.yahoo.com/d/quotes.csv?s="
- Change it to read:
qurl = "http://finance.yahoo.com/d/quotes.csv?s="
- Exit the macro, pray** ... then try the modified spreadsheet.
Note: Any time Yahoo changes youcan try that ritual.
After getting e-mail from R.K., I discover that Yahoo has option data, too
Downloading Yahoo Option stuff
So, there's a spreadsheet that looks like this:
Click on the picture to download
Of course, ya gotta know the Yahoo option symbols !!
- Since Yahoo has a limit on the number of stock symbols you can use, there's another spreadsheet (Yahoo2.xls) here that gets around that limitation.
It puts up to 200 stock symbols on each of several sheets and you download to each sheet in turn.
- There's another spreadsheet (Yahoo3.xls) here that downloads data for up to 1000 symbols and 10 tags to a single sheet.
motivated by e-mail from Scott S.
The spreadsheets (above & below) will download data from all the stock symbols until it reaches a blank
Indeed, if the macro that collects data reaches a blank, it gets quite upset.
Don't leave a blank!!
If you wish to delete a symbol somewhere within the list, just type zzz before downloadng.
Then the spreadsheet will be quite happy. (Who knows? There may be a stock with that symbol, eh?)
Anyway, having downloaded a bunch of stuff associated with a gaggle of stocks, this spreadsheet will sort them: (Click on the picture to download.)
You can ask for a few stock thingies * (like P/E or PEG ratios, etc. but just those things that are on the Yahoo tag list !!) **
... then click a button to Download then move a SORT slider to select which to sort on. (In the example, it's the P/E Ratio.)
They're in cell C2, namely: n and l1 and r
and r5 and d and p6
and m8 and m6 and j6
If'n Yahoo ain't got the data, then you won't get it either, eh?
Here's the DOW sorted according to PEG Ratios ... as of April, 2008
Note that Yahoo ain't got a PEG for GM.
I forgot to mention that, after downloadng, the spreadsheet automatically sorts the list according to the stock symbol.
If you entered a symbol zzz, it'll appear at the bottom of the sorted list.
motivated by e-mail from Richard C..
All of the above spreadsheets download a single set of data for each stock ... and that's the most recent data!
If you'd like to build a historical data base yourself (by downloading periodically and saving the downloaded data), you can use this guy:
You download as you'd normally do ... perhaps to check the latest numbers ... THEN, click the Save Data button to save that latest data.
Each stock must have it's own sheet, like so (assuming you'll want to save data to that sheet):
(That's where the data gets saved.)
Of course, each sheet must be created ... but there's an Explain sheet that says:
In other words, you may decide which stocks get their data saved, which don't and which added sheets get deleted.