NAME¶
Finance::QuoteHist::Yahoo - Site-specific subclass for retrieving historical
stock quotes.
SYNOPSIS¶
use Finance::QuoteHist::Yahoo;
$q = new Finance::QuoteHist::Yahoo
(
symbols => [qw(IBM UPS AMZN)],
start_date => '01/01/2009',
end_date => 'today',
);
# Values
foreach $row ($q->quotes()) {
($symbol, $date, $open, $high, $low, $close, $volume) = @$row;
...
}
# Splits
foreach $row ($q->splits()) {
($symbol, $date, $post, $pre) = @$row;
}
# Dividends
foreach $row ($q->dividends()) {
($symbol, $date, $dividend) = @$row;
}
DESCRIPTION¶
Finance::QuoteHist::Yahoo is a subclass of Finance::QuoteHist::Generic,
specifically tailored to read historical quotes, dividends, and splits from
the Yahoo web site (
http://table.finance.yahoo.com/).
For quotes and dividends, Yahoo can return data quickly in CSV format. Both of
these can also be extracted from HTML tables. Splits are extracted from the
HTML of the 'Basic Chart' page for that ticker.
There are no date range restrictions on CSV queries for quotes and dividends.
For HTML queries, Yahoo takes arbitrary date ranges as arguments, but breaks
results into pages of 66 entries.
Please see
Finance::QuoteHist::Generic(3) for more details on usage and
available methods. If you just want to get historical quotes and are not
interested in the details of how it is done, check out
Finance::QuoteHist(3).
METHODS¶
The basic user interface consists of three methods, as seen in the example
above. Those methods are:
- quotes()
- Returns a list of rows (or a reference to an array containing those rows,
if in scalar context). Each row contains the Symbol, Date,
Open, High, Low, Close, and Volume for
that date.
- dividends()
- Returns a list of rows (or a reference to an array containing those rows,
if in scalar context). Each row contains the Symbol, Date,
and amount of the Dividend, in that order.
- splits()
- Returns a list of rows (or a reference to an array containing those rows,
if in scalar context). Each row contains the Symbol, Date,
Post split shares, and Pre split shares, in that order.
The following methods override methods provided by the
Finance::QuoteHist::Generic module; more of this was necessary than is typical
for a basic query site due to the variety of query types and data formats
available on Yahoo.
- url_maker()
- Returns a subroutine reference tailored for the current target mode and
parsing mode. The routine is an iterator that will produce all necessary
URLs on repeated invocations necessary to complete a query.
- extractors()
- Returns a hash of subroutine references that attempt to extract embedded
values (dividends or splits) within the results from a larger query.
- labels()
- Includes the 'adj' column.
REQUIRES¶
Finance::QuoteHist::Generic
DISCLAIMER¶
The data returned from these modules is in no way guaranteed, nor are the
developers responsible in any way for how this data (or lack thereof) is used.
The interface is based on URLs and page layouts that might change at any time.
Even though these modules are designed to be adaptive under these
circumstances, they will at some point probably be unable to retrieve data
unless fixed or provided with new parameters. Furthermore, the data from these
web sites is usually not even guaranteed by the web sites themselves, and
oftentimes is acquired elsewhere.
If you would like to know more, check out the terms of service from Yahoo!,
which can be found here:
http://docs.yahoo.com/info/terms/
If you still have concerns, then use another site-specific historical quote
instance, or none at all.
Above all, play nice.
AUTHOR¶
Matthew P. Sisk, <
sisk@mojotoad.com>
COPYRIGHT¶
Copyright (c) 2000-2010 Matthew P. Sisk. All rights reserved. All wrongs
revenged. This program is free software; you can redistribute it and/or modify
it under the same terms as Perl itself.
SEE ALSO¶
Finance::QuoteHist::Generic(3),
Finance::QuoteHist(3),
perl(1).