The yahoo-finance-api package

[Tags:bsd3, library, test]

Haskell wrapper for the stock APIs provided by Yahoo Finance.


[Skip to Readme]

Properties

Versions 0.1.0.0, 0.2.0.0, 0.2.0.1, 0.2.0.2
Dependencies aeson, base (>=4.7 && <5), either, http-api-data, http-client, mtl, servant (>=0.4), servant-client (>=0.4), text, time, transformers, vector [details]
License BSD3
Copyright 2016 Dennis Gosnell
Author Dennis Gosnell, James M.C. Haver II
Maintainer cdep.illabout@gmail.com, mchaver@gmail.com
Category Web
Home page https://github.com/cdepillabout/yahoo-finance-api
Source repository head: git clone https://github.com/cdepillabout/yahoo-finance-api
Uploaded Thu May 25 03:19:24 UTC 2017 by cdepillabout
Distributions LTSHaskell:0.2.0.2, NixOS:0.2.0.2, Stackage:0.2.0.2, Tumbleweed:0.2.0.2
Downloads 200 total (22 in the last 30 days)
Votes
0 []
Status Docs available [build log]
Last success reported on 2017-05-25 [all 1 reports]
Hackage Matrix CI

Modules

[Index]

Downloads

Maintainer's Corner

For package maintainers and hackage trustees

Readme for yahoo-finance-api

Readme for yahoo-finance-api-0.2.0.2

Web.Yahoo.Finance

Build Status Hackage Stackage LTS Stackage Nightly

This Haskell module exports functions for reading stock quotes from the Yahoo Finance APIs.

Usage

Currently, only the Yahoo Finance YQL API is implemented. It can be accessed with methods in Web.Yahoo.Finance.YQL.

(Note: The following usage example only works when using servant-0.9.)

λ> :set -XOverloadedStrings
λ> import Network.HTTP.Client.TLS (getGlobalManager)
λ> import Servant.Client (ClientEnv(ClientEnv), runClientM)
λ> import Web.Yahoo.Finance.YQL (StockSymbol(StockSymbol), YQLQuery(YQLQuery), getQuotes, yahooFinanceJsonBaseUrl)
λ> manager <- getGlobalManager
λ> res <- runClientM (getQuotes (YQLQuery [StockSymbol "GOOG", StockSymbol "AA"]) ) (ClientEnv manager yahooFinanceJsonBaseUrl)
λ> print res

This produces output like the following:

Right
  ( YQLResponse
    { responseCount = 2
    , responseCreated = 2016-10-09 13:44:49 UTC
    , responseLang = "en-US"
    , responseQuotes =
      [ Just
        ( Quote
          { quoteAverageDailyVolume = "1296480"
          , quoteChange = "-1.78"
          , quoteDaysLow = "770.75"
          , quoteDaysHigh = "779.66"
          , quoteYearLow = "639.01"
          , quoteYearHigh = "789.87"
          , quoteMarketCapitalization = "532.69B"
          , quoteLastTradePriceOnly = "775.08"
          , quoteDaysRange = "770.75 - 779.66"
          , quoteName = "Alphabet Inc."
          , quoteSymbol = "GOOG"
          , quoteVolume = "933158"
          , quoteStockExchange = "NMS"
          }
        )
      , Just
        (Quote
          { quoteAverageDailyVolume = "5999180"
          , quoteChange = "-0.41"
          , quoteDaysLow = "31.03"
          , quoteDaysHigh = "32.10"
          , quoteYearLow = "18.42"
          , quoteYearHigh = "34.50"
          , quoteMarketCapitalization = "41.26B"
          , quoteLastTradePriceOnly = "31.37"
          , quoteDaysRange = "31.03 - 32.10"
          , quoteName = "Alcoa Inc. Common Stock"
          , quoteSymbol = "AA"
          , quoteVolume = "7858603"
          , quoteStockExchange = "NYQ"
          }
        )
      ]
    }
  )

For other examples refer to test/Web/Yahoo/FinanceSpec.hs.