Python currencies
Project description
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.
- PyPI:
- Master CI:
- Dev CI:
- Documentation:
- Dowloads:
- Source:
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() 'AUDUSD' >>> c.as_cross('/') 'AUD/USD'
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') 'AUDUSD' >>> ccy.crossover('eur') 'EUR/USD' >>> ccy.crossover('chf') 'USD/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 = ccy.country('us') >>> c 'United States' >>> ccy.countryccy('us') 'USD'
Not all the country codes are standard ISO 3166-1 alpha-2. There is a function for adding extra pseudo-countries:
import ccy ccy.set_new_country('EU','EUR','Eurozone')
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 1M >>> p += '2w' >>> p 1M2W >>> P += '3m' >>> p 4M2W
Installation
This library works for Python 2.6 and higher, including Python 3. In addition, it requires:
Install using pip:
pip install ccy
or from source:
python setup.py install
Runnung tests
From within the package directory:
python runtests.py
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.