skip to navigation
skip to content

Not Logged In

ccy 0.6.0

Python currencies

Package Documentation

Latest Version: 0.6.1

A python module for currencies. The module compiles a dictionary of currency objects containing information useful in financial analysis. Not all currencies in the world are supported yet. You are welcome to join and add more.

Master CI:
Dev CI:

Currency object

To use it:

>>> import ccy
>>> c = ccy.currency('aud')
>>> c.printinfo()
code: AUD
twoletterscode: AD
rounding: 4
default_country: AU
isonumber: 036
order: 3
name: Australian Dollar
>>> c.as_cross()
>>> c.as_cross('/')

a currency object has the following properties:

  • code: the ISO 4217 code.
  • twoletterscode: two letter code (can’t remeber the ISO number). Very useful for financial data providers such as Bloomberg.
  • default_country: the default ISO 3166-1 alpha-2 country code for the currency.
  • isonumber: the ISO 4217 number.
  • name: the name of the currency.
  • order: default ordering in currency pairs (more of this below).
  • rounding: number of decimal places

Currency Crosses

You can create currency pairs by using the currency_pair function:

>>> import ccy
>>> p = ccy.currency_pair('eurusd')
>>> p
ccy_pair: EURUSD
>>> p.mkt()  # market convention pair
ccy_pair: EURUSD
>>> p = ccy.currency_pair('chfusd')
>>> p
ccy_pair: CHFUSD
>>> p.mkt()  # market convention pair
ccy_pair: USDCHF

Some shortcuts:

>>> import ccy
>>> ccy.cross('aud')
>>> ccy.crossover('eur')
>>> ccy.crossover('chf')

Note, the Swiss franc cross is represented as ‘USD/CHF’, while the Aussie Dollar and Euro crosses are represented with the USD as denominator. This is the market convention which is handled by the order property of a currency object.

Country information

To use it:

>>> import ccy
>>> c ='us')
>>> c
'United States'
>>> ccy.countryccy('us')

Not all the country codes are standard ISO 3166-1 alpha-2. There is a function for adding extra pseudo-countries:

import ccy

Set a new country with code ‘EU’, currency ‘EUR’ named ‘Eurozone’. This pseudo country is set in the library already.

Date and Periods

The module is shipped with a date module for manipulating time periods and converting dates between different formats. The period function can be used to create Period instances:

>>> from ccy import period
>>> p = period('1m')
>>> p
>>> p += '2w'
>>> p
>>> P += '3m'
>>> p


This library works for Python 2.6 and higher, including Python 3. In addition, it requires:

  • pytz for Countries information.
  • dateutils for date calculations

Install using pip:

pip install ccy

or from source:

python install

Runnung tests

From within the package directory:

File Type Py Version Uploaded on Size
ccy-0.6.0.tar.gz (md5) Source 2014-01-14 36KB
  • Downloads (All Versions):
  • 99 downloads in the last day
  • 590 downloads in the last week
  • 2547 downloads in the last month