Snippet To Grab Historical Data For Stocks
Join the DZone community and get the full member experience.
Join For FreeThis is a quick little snippet I'm whipping up to import some historical data in for a graphing app we're building for stock data. I figured I'd post this snippet before I maul it into something application-specific...
It downloads a csv file through yahoo's finance site and then parses it and prints out the date and adjusted close for each business day that has data.
require 'open-uri'
require 'csv'
def get_adjusted_close stock_symbol
puts "-- #{stock_symbol} Adjusted Close - Historical --"
url = "http://ichart.finance.yahoo.com/table.csv?s=#{stock_symbol}&d=7&e=1&f=2006&g=d&a=2&b=26&c=1990&ignore=.csv"
puts "Connecting to #{url}\n"
csv = CSV.parse(open(url).read)
csv.each{|row|
puts "#{row[0]} - #{row.last}"
}
puts "---------------------------------"
end
example_stocks = "CSCO GOOG"
print "Enter a series of stock symbols separated by spaces (example: #{example_stocks}) to retrieve the historical adjusted close.\n"
stock_symbols = gets
stock_symbols ||= example_stocks
stock_symbols.split.each{|symbol|
get_adjusted_close(symbol)
}
Snippet (programming)
Data (computing)
Grab (software)
Opinions expressed by DZone contributors are their own.
Comments