{ "metadata": { "name": "", "signature": "sha256:0c7efacf8a28eb9d142990ddbd98ad1663b4f7ccc624cc8c534789522dcce909" }, "nbformat": 3, "nbformat_minor": 0, "worksheets": [ { "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Visit us at - https://github.com/supercoderz\n", "\n", "pyeurofx\n", "========\n", "\n", "pyeurofx is a library that allows you to fetch the close prices of various majot currencies vs the Euro.\n", "The library provides simple functions that you can invoke and get the data as list of tuples or as pandas data frames.\n", "\n", "pyeurofx makes use of the following libraries - \n", "- requests\n", "- lxml\n", "- pandas\n", "\n", "\n", "The data is fetched from the following XML sources - \n", "\n", "- Historical data - 'http://www.ecb.europa.eu/stats/eurofxref/eurofxref-hist.xml'\n", "- Daily data - 'http://www.ecb.europa.eu/stats/eurofxref/eurofxref-daily.xml'" ] }, { "cell_type": "code", "collapsed": false, "input": [ "from eurofx import *" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 2 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Daily data\n", "----------\n", "\n", "You can get the daily data or the historical data. Daily data will be the close price released at 3 PM CET on that day or the prevvious day depending on when you are running the call. Historical close prices will be the close prices for all the days since 1 Apr 1999\n", "\n", "The daily data is returned as a list of tuples - each tuple is a currency, date, rate pair." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "daily = get_daily_data()\n", "print daily" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Historical data\n", "---------------\n", "\n", "\n", "Fetching all the historical data is just one function call - the data is returned just like daily data in a list of tuples." ] }, { "cell_type": "code", "collapsed": false, "input": [ "historical = get_historical_data()\n", "print historical.__len__()" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "124398\n" ] } ], "prompt_number": 3 }, { "cell_type": "markdown", "metadata": {}, "source": [ "The first date of historical data" ] }, { "cell_type": "code", "collapsed": false, "input": [ "print historical[-1:]" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "[('ZAR', datetime.date(1999, 1, 4), '6.9358')]\n" ] } ], "prompt_number": 4 }, { "cell_type": "markdown", "metadata": {}, "source": [ "getting data as pandas data frame\n", "---------------------------------\n", "\n", "you can easily get the data as a pandas data frame by using the _df versions of the daily and historical commands\n", "\n", "Any date which has a missing data will show up as a NaN in pandas data frame." ] }, { "cell_type": "code", "collapsed": false, "input": [ "daily_df = get_daily_data_df()\n", "print daily_df" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ " USD JPY BGN CZK DKK GBP HUF LTL \\\n", "2014-07-25 1.3440 136.97 1.9558 27.482 7.4568 0.79115 308.06 3.4528 \n", "\n", " PLN RON ... ILS INR KRW MXN MYR \\\n", "2014-07-25 4.1435 4.3973 ... 4.6004 80.7677 1380.11 17.4162 4.2655 \n", "\n", " NZD PHP SGD THB ZAR \n", "2014-07-25 1.5728 58.199 1.6682 42.780 14.1489 \n", "\n", "[1 rows x 32 columns]\n" ] } ], "prompt_number": 5 }, { "cell_type": "code", "collapsed": false, "input": [ "historical_df = get_historical_data_df()\n", "print historical_df.head()" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ " USD JPY BGN CZK DKK GBP HUF LTL \\\n", "2014-07-25 1.344 136.97 1.9558 27.482 7.4568 0.79115 308.06 3.4528 \n", "2014-07-24 1.3472 136.97 1.9558 27.48 7.4573 0.79215 307.76 3.4528 \n", "2014-07-23 1.3465 136.51 1.9558 27.454 7.4569 0.7908 307.15 3.4528 \n", "2014-07-22 1.3481 136.93 1.9558 27.485 7.4567 0.7905 309.63 3.4528 \n", "2014-07-21 1.3518 136.97 1.9558 27.468 7.4567 0.7915 309.56 3.4528 \n", "\n", " PLN RON ... ZAR LVL EEK SKK ISK CYP MTL \\\n", "2014-07-25 4.1435 4.3973 ... 14.1489 NaN NaN NaN NaN NaN NaN \n", "2014-07-24 4.1408 4.4068 ... 14.138 NaN NaN NaN NaN NaN NaN \n", "2014-07-23 4.134 4.4228 ... 14.1759 NaN NaN NaN NaN NaN NaN \n", "2014-07-22 4.1473 4.4396 ... 14.3199 NaN NaN NaN NaN NaN NaN \n", "2014-07-21 4.1511 4.4445 ... 14.3647 NaN NaN NaN NaN NaN NaN \n", "\n", " SIT ROL TRL \n", "2014-07-25 NaN NaN NaN \n", "2014-07-24 NaN NaN NaN \n", "2014-07-23 NaN NaN NaN \n", "2014-07-22 NaN NaN NaN \n", "2014-07-21 NaN NaN NaN \n", "\n", "[5 rows x 41 columns]\n" ] } ], "prompt_number": 6 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Plotting data\n", "-------------\n", "\n", "Once you the pandas data frame, using matplot lib, you can easily plot data" ] }, { "cell_type": "code", "collapsed": false, "input": [ "import matplotlib.pyplot as plt" ], "language": "python", "metadata": {}, "outputs": [] }, { "cell_type": "code", "collapsed": false, "input": [ "plt.plot(historical_df['USD'])\n" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 7, "text": [ "[]" ] }, { "metadata": {}, "output_type": "display_data", "png": "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\nAAAAAElFTkSuQmCC\n", "text": [ "" ] } ], "prompt_number": 7 } ], "metadata": {} } ] }