Package: ccy
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.Package:CI:Dowloads:https://pypi.org/project/ccy/Source:https://github.com/quantmind/ccyCurrency objectCurrency CrossesCountry informationCountriesDate and PeriodsInstallationRunning testsCurrency objectTo 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: theISO 4217code.twoletterscode: two letter code (can’t remeber the ISO number). Very useful for financial data providers such as Bloomberg.default_country: the defaultISO 3166-1 alpha-2country 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 placesCurrency CrossesYou can create currency pairs by using thecurrency_pairfunction:>>> 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: USDCHFSome 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 theorderproperty
of a currency object.Country informationTo use it:>>> import ccy
>>> c = ccy.country('us')
>>> c
'United States'
>>> ccy.countryccy('us')
'USD'Not all the country codes are standardISO 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.CountriesCountry information is obtained via thepytzpackage which is strict
requirement forccy:>>> from ccy import country
>>> country('it')
'Italy'It knows about the 18eurozonecountries (European countries which share the
euro as common currency):>>> from ccy import eurozoneeurozone is tuple of country ISO codes:>>> import ccy
>>> ccy.print_eurozone()
Austria
Belgium
Cyprus
Estonia
Finland
France
Germany
Greece
Ireland
Italy
Latvia
Lithuania
Luxembourg
Malta
Netherlands
Portugal
Slovakia
Slovenia
SpainDate and PeriodsThe module is shipped with adatemodule for manipulating time periods and
converting dates between different formats. Theperiodfunction can be used
to createPeriodinstances:>>> from ccy import period
>>> p = period('1m')
>>> p
1M
>>> p += '2w'
>>> p
1M2W
>>> P += '3m'
>>> p
4M2WInstallationThis library works for Python 2.6 and higher, including Python 3.
In addition, it requires:pytzfor Countries information.dateutilsfor date calculationsInstall usingpip:pip install ccyor from source:python setup.py installRunning testsFrom within the package directory:python setup.py test