### Navigation

- index
- modules |
- next |
- previous |
- home|
- examples|
- tutorials|
- pyplot|
- docs »
- The Matplotlib API »

# finance

## `matplotlib.finance`

A collection of functions for collecting, analyzing and plotting financial data.

This module is deprecated in 2.0 and has been moved to a module called `mpl_finance`.

`matplotlib.finance.``candlestick2_ochl`(ax, opens, closes, highs, lows, width=4, colorup=’k’, colordown=’r’, alpha=0.75)

  Represent the open, close as a bar line and high low range as a vertical line.

  Preserves the original argument order.

  Parameters: | ax : `Axes` an Axes instance to plot to opens : sequence sequence of opening values closes : sequence sequence of closing values highs : sequence sequence of high values lows : sequence sequence of low values ticksize : int size of open and close ticks in points colorup : color the color of the lines where close >= open colordown : color the color of the lines where close < open alpha : float bar transparency
  Returns: | ret : tuple (lineCollection, barCollection)

`matplotlib.finance.``candlestick2_ohlc`(ax, opens, highs, lows, closes, width=4, colorup=’k’, colordown=’r’, alpha=0.75)

  Represent the open, close as a bar line and high low range as a vertical line.

  NOTE: this code assumes if any value open, low, high, close is missing they all are missing

  Parameters: | ax : `Axes` an Axes instance to plot to opens : sequence sequence of opening values highs : sequence sequence of high values lows : sequence sequence of low values closes : sequence sequence of closing values ticksize : int size of open and close ticks in points colorup : color the color of the lines where close >= open colordown : color the color of the lines where close < open alpha : float bar transparency
  Returns: | ret : tuple (lineCollection, barCollection)

`matplotlib.finance.``candlestick_ochl`(ax, quotes, width=0.2, colorup=’k’, colordown=’r’, alpha=1.0)

  Plot the time, open, close, high, low as a vertical line ranging from low to high. Use a rectangular bar to represent the open-close span. If close >= open, use colorup to color the bar, otherwise use colordown

  Parameters: | ax : `Axes` an Axes instance to plot to quotes : sequence of (time, open, close, high, low, …) sequences As long as the first 5 elements are these values, the record can be as long as you want (e.g., it may store volume). time must be in float days format - see date2num width : float fraction of a day for the rectangle width colorup : color the color of the rectangle where close >= open colordown : color the color of the rectangle where close < open alpha : float the rectangle alpha level
  Returns: | ret : tuple returns (lines, patches) where lines is a list of lines added and patches is a list of the rectangle patches added

`matplotlib.finance.``candlestick_ohlc`(ax, quotes, width=0.2, colorup=’k’, colordown=’r’, alpha=1.0)

  Plot the time, open, high, low, close as a vertical line ranging from low to high. Use a rectangular bar to represent the open-close span. If close >= open, use colorup to color the bar, otherwise use colordown

  Parameters: | ax : `Axes` an Axes instance to plot to quotes : sequence of (time, open, high, low, close, …) sequences As long as the first 5 elements are these values, the record can be as long as you want (e.g., it may store volume). time must be in float days format - see date2num width : float fraction of a day for the rectangle width colorup : color the color of the rectangle where close >= open colordown : color the color of the rectangle where close < open alpha : float the rectangle alpha level
  Returns: | ret : tuple returns (lines, patches) where lines is a list of lines added and patches is a list of the rectangle patches added

`matplotlib.finance.``fetch_historical_yahoo`(ticker, date1, date2, cachename=None, dividends=False)

  Fetch historical data for ticker between date1 and date2. date1 and date2 are date or datetime instances, or (year, month, day) sequences.

  Parameters: | ticker : str ticker date1 : sequence of form (year, month, day), `datetime`, or `date` start date date2 : sequence of form (year, month, day), `datetime`, or `date` end date cachename : str cachename is the name of the local file cache. If None, will default to the md5 hash or the url (which incorporates the ticker and date range) dividends : bool set dividends=True to return dividends instead of price data. With this option set, parse functions will not work
  Returns: | file_handle : file handle a file handle is returned

  Examples

      >>> fh = fetch_historical_yahoo('^GSPC', (2000, 1, 1), (2001, 12, 31))

`matplotlib.finance.``index_bar`(ax, vals, facecolor=’b’, edgecolor=’l’, width=4, alpha=1.0)

  Add a bar collection graph with height vals (-1 is missing).

  Parameters: | ax : `Axes` an Axes instance to plot to vals : sequence a sequence of values facecolor : color the color of the bar face edgecolor : color the color of the bar edges width : int the bar width in points alpha : float bar transparency
  Returns: | ret : `barCollection` The `barrCollection` added to the axes

`matplotlib.finance.``md5`(x)

`matplotlib.finance.``parse_yahoo_historical_ochl`(fh, adjusted=True, asobject=False)

  Parse the historical data in file handle fh from yahoo finance.

  Parameters: | adjusted : bool If True (default) replace open, close, high, low prices with their adjusted values. The adjustment is by a scale factor, S = adjusted_close/close. Adjusted prices are actual prices multiplied by S. Volume is not adjusted as it is already backward split adjusted by Yahoo. If you want to compute dollars traded, multiply volume by the adjusted close, regardless of whether you choose adjusted = True|False. asobject : bool or None If False (default for compatibility with earlier versions) return a list of tuples containing d, open, close, high, low, volume If None (preferred alternative to False), return a 2-D ndarray corresponding to the list of tuples. Otherwise return a numpy recarray with date, year, month, day, d, open, close, high, low, volume, adjusted_close where d is a floating poing representation of date, as returned by date2num, and date is a python standard library datetime.date instance. The name of this kwarg is a historical artifact. Formerly, True returned a cbook Bunch holding 1-D ndarrays. The behavior of a numpy recarray is very similar to the Bunch.

`matplotlib.finance.``parse_yahoo_historical_ohlc`(fh, adjusted=True, asobject=False)

  Parse the historical data in file handle fh from yahoo finance.

  Parameters: | adjusted : bool If True (default) replace open, high, low, close prices with their adjusted values. The adjustment is by a scale factor, S = adjusted_close/close. Adjusted prices are actual prices multiplied by S. Volume is not adjusted as it is already backward split adjusted by Yahoo. If you want to compute dollars traded, multiply volume by the adjusted close, regardless of whether you choose adjusted = True|False. asobject : bool or None If False (default for compatibility with earlier versions) return a list of tuples containing d, open, high, low, close, volume If None (preferred alternative to False), return a 2-D ndarray corresponding to the list of tuples. Otherwise return a numpy recarray with date, year, month, day, d, open, high, low, close, volume, adjusted_close where d is a floating poing representation of date, as returned by date2num, and date is a python standard library datetime.date instance. The name of this kwarg is a historical artifact. Formerly, True returned a cbook Bunch holding 1-D ndarrays. The behavior of a numpy recarray is very similar to the Bunch.

`matplotlib.finance.``plot_day_summary2_ochl`(ax, opens, closes, highs, lows, ticksize=4, colorup=’k’, colordown=’r’)

  Represent the time, open, close, high, low, as a vertical line ranging from low to high. The left tick is the open and the right tick is the close.

  Parameters: | ax : `Axes` an Axes instance to plot to opens : sequence sequence of opening values closes : sequence sequence of closing values highs : sequence sequence of high values lows : sequence sequence of low values ticksize : int size of open and close ticks in points colorup : color the color of the lines where close >= open colordown : color the color of the lines where close < open
  Returns: | ret : list a list of lines added to the axes

`matplotlib.finance.``plot_day_summary2_ohlc`(ax, opens, highs, lows, closes, ticksize=4, colorup=’k’, colordown=’r’)

  Represent the time, open, high, low, close as a vertical line ranging from low to high. The left tick is the open and the right tick is the close. opens, highs, lows and closes must have the same length. NOTE: this code assumes if any value open, high, low, close is missing (-1) they all are missing

  Parameters: | ax : `Axes` an Axes instance to plot to opens : sequence sequence of opening values highs : sequence sequence of high values lows : sequence sequence of low values closes : sequence sequence of closing values ticksize : int size of open and close ticks in points colorup : color the color of the lines where close >= open colordown : color the color of the lines where close < open
  Returns: | ret : list a list of lines added to the axes

`matplotlib.finance.``plot_day_summary_oclh`(ax, quotes, ticksize=3, colorup=’k’, colordown=’r’)

  Plots day summary

  > Represent the time, open, close, high, low as a vertical line ranging from low to high. The left tick is the open and the right tick is the close.

  Parameters: | ax : `Axes` an `Axes` instance to plot to quotes : sequence of (time, open, close, high, low, …) sequences data to plot. time must be in float date format - see date2num ticksize : int open/close tick marker in points colorup : color the color of the lines where close >= open colordown : color the color of the lines where close < open
  Returns: | lines : list list of tuples of the lines added (one tuple per quote)

`matplotlib.finance.``plot_day_summary_ohlc`(ax, quotes, ticksize=3, colorup=’k’, colordown=’r’)

  Plots day summary

  > Represent the time, open, high, low, close as a vertical line ranging from low to high. The left tick is the open and the right tick is the close.

  Parameters: | ax : `Axes` an `Axes` instance to plot to quotes : sequence of (time, open, high, low, close, …) sequences data to plot. time must be in float date format - see date2num ticksize : int open/close tick marker in points colorup : color the color of the lines where close >= open colordown : color the color of the lines where close < open
  Returns: | lines : list list of tuples of the lines added (one tuple per quote)

`matplotlib.finance.``quotes_historical_yahoo_ochl`(ticker, date1, date2, asobject=False, adjusted=True, cachename=None)

  Get historical data for ticker between date1 and date2.

  See `parse_yahoo_historical()` for explanation of output formats and the asobject and adjusted kwargs.

  Parameters: | ticker : str stock ticker date1 : sequence of form (year, month, day), `datetime`, or `date` start date date2 : sequence of form (year, month, day), `datetime`, or `date` end date cachename : str or `None` is the name of the local file cache. If None, will default to the md5 hash or the url (which incorporates the ticker and date range)

  Examples

      >>> sp = f.quotes_historical_yahoo_ochl('^GSPC', d1, d2,
                               asobject=True, adjusted=True)
      >>> returns = (sp.open[1:] - sp.open[:-1])/sp.open[1:]
      >>> [n,bins,patches] = hist(returns, 100)
      >>> mu = mean(returns)
      >>> sigma = std(returns)
      >>> x = normpdf(bins, mu, sigma)
      >>> plot(bins, x, color='red', lw=2)

`matplotlib.finance.``quotes_historical_yahoo_ohlc`(ticker, date1, date2, asobject=False, adjusted=True, cachename=None)

  Get historical data for ticker between date1 and date2.

  See `parse_yahoo_historical()` for explanation of output formats and the asobject and adjusted kwargs.

  Parameters: | ticker : str stock ticker date1 : sequence of form (year, month, day), `datetime`, or `date` start date date2 : sequence of form (year, month, day), `datetime`, or `date` end date cachename : str or `None` is the name of the local file cache. If None, will default to the md5 hash or the url (which incorporates the ticker and date range)

  Examples

      >>> sp = f.quotes_historical_yahoo_ohlc('^GSPC', d1, d2,
                               asobject=True, adjusted=True)
      >>> returns = (sp.open[1:] - sp.open[:-1])/sp.open[1:]
      >>> [n,bins,patches] = hist(returns, 100)
      >>> mu = mean(returns)
      >>> sigma = std(returns)
      >>> x = normpdf(bins, mu, sigma)
      >>> plot(bins, x, color='red', lw=2)

`matplotlib.finance.``volume_overlay`(ax, opens, closes, volumes, colorup=’k’, colordown=’r’, width=4, alpha=1.0)

  Add a volume overlay to the current axes. The opens and closes are used to determine the color of the bar. -1 is missing. If a value is missing on one it must be missing on all

  Parameters: | ax : `Axes` an Axes instance to plot to opens : sequence a sequence of opens closes : sequence a sequence of closes volumes : sequence a sequence of volumes width : int the bar width in points colorup : color the color of the lines where close >= open colordown : color the color of the lines where close < open alpha : float bar transparency
  Returns: | ret : `barCollection` The `barrCollection` added to the axes

`matplotlib.finance.``volume_overlay2`(ax, closes, volumes, colorup=’k’, colordown=’r’, width=4, alpha=1.0)

  Add a volume overlay to the current axes. The closes are used to determine the color of the bar. -1 is missing. If a value is missing on one it must be missing on all

  nb: first point is not displayed - it is used only for choosing the right color

  Parameters: | ax : `Axes` an Axes instance to plot to closes : sequence a sequence of closes volumes : sequence a sequence of volumes width : int the bar width in points colorup : color the color of the lines where close >= open colordown : color the color of the lines where close < open alpha : float bar transparency
  Returns: | ret : `barCollection` The `barrCollection` added to the axes

`matplotlib.finance.``volume_overlay3`(ax, quotes, colorup=’k’, colordown=’r’, width=4, alpha=1.0)

  Add a volume overlay to the current axes. quotes is a list of (d, open, high, low, close, volume) and close-open is used to determine the color of the bar

  Parameters: | ax : `Axes` an Axes instance to plot to quotes : sequence of (time, open, high, low, close, …) sequences data to plot. time must be in float date format - see date2num width : int the bar width in points colorup : color the color of the lines where close1 >= close0 colordown : color the color of the lines where close1 < close0 alpha : float bar transparency
  Returns: | ret : `barCollection` The `barrCollection` added to the axes