yahoo-finance-api

Read quotes from Yahoo Finance API https://github.com/cdepillabout/yahoo-finance-api

Version on this page:0.2.0.1
LTS Haskell 8.2:0.2.0.1
Stackage Nightly 2017-02-21:0.2.0.1
Latest on Hackage:0.2.0.1
BSD3 licensed by Dennis Gosnell, James M.C. Haver II
Maintained by cdep.illabout@gmail.com, mchaver@gmail.com

Module documentation for 0.2.0.1

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.

comments powered byDisqus