Yfin

Yfin provides a ruby interface to some parts of Yahoo! Finance. Currently, it only retrieves historical data.

Installation

Add this line to your application's Gemfile:

gem 'yfin'

And then execute:

$ bundle

Or install it yourself as:

$ gem install yfin

Usage

Create a new Yfin::History object:

Yfin::History.new('aapl')

Available options are :start_date, :end_date and :type. :start_date and :end_date are both Dates while :type is a symbol. All Dates must be in the past to be valid. :start_date defaults to 30 days ago and :end_date defaults to Date.today. Valid values for :type are :daily (default), :weekly, :monthly and :dividend.

Here is an example using all of the options:

Yfin::History.new('aapl', start_date: Date.new(1983, 7, 25), end_date: Date.today, type: :monthly)

After creating a Yfin::History instance, you can call to_csv to get a CSV::Table of the data.

history = Yfin::History.new('aapl')
history.to_csv   #=> #<CSV::Table mode:col_or_row row_count:22>

Contributing

  1. Fork it
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create new Pull Request