Python CCY#

Getting Started#

  • installation

pip install ccy
  • display currencies

import ccy
import pandas as pd
df = pd.DataFrame(ccy.dump_currency_table())
df.head(80)
code isonumber twoletterscode order name rounding default_country fixeddc floatdc fixedfreq floatfreq future symbol_raw html symbol
0 XBT 000 BT -1 Bitcoin 8 WW Act/365 Act/365 \u0e3f ฿ ฿
1 EUR 978 EU 1 Euro 4 EU 30/360 ACT/360 FE \u20ac €
2 GBP 826 BP 2 British Pound 4 GB ACT/365 ACT/365 \u00a3 £ £
3 AUD 036 AD 3 Australian Dollar 4 AU ACT/365 ACT/365 \u0024 $ $
4 NZD 554 ND 4 New-Zealand Dollar 4 NZ ACT/365 ACT/365 \u0024 $ $
5 USD 840 UD 5 US Dollar 0 US 30/360 ACT/360 ED \u0024 $ $
6 CAD 124 CD 6 Canadian Dollar 4 CA ACT/365 ACT/365 \u0024 $ $
7 CHF 756 SF 7 Swiss Franc 4 CH 30/360 ACT/360 Fr ₣ Fr
8 NOK 578 NK 8 Norwegian Krona 4 NO 30/360 ACT/360 kr kr kr
9 SEK 752 SK 9 Swedish Krona 4 SE 30/360 ACT/360 kr kr kr
10 DKK 208 DK 10 Danish Krona 4 DK 30/360 ACT/360 kr kr kr
11 SGD 702 SD 15 Singapore Dollar 4 SG ACT/365 ACT/365 \u0024 $ $
12 TWD 901 TD 18 Taiwan Dollar 4 TW ACT/365 ACT/365 \u0024 $ $
13 HKD 344 HD 19 Hong Kong Dollar 4 HK ACT/365 ACT/365 \u5713 HK$
14 CZK 203 CK 28 Czech Koruna 4 CZ ACT/360 ACT/360 \u004b\u010d
15 PLN 985 PZ 29 Polish Złoty 4 PL ACT/ACT ACT/365 \u007a\u0142
16 TRY 949 TY 30 Turkish Lira 4 TR ACT/360 ACT/360 \u0054\u004c TL
17 HUF 348 HF 32 Hungarian Forint 4 HU ACT/365 ACT/360 Ft Ft Ft
18 RON 946 RN 34 Romanian Leu 4 RO ACT/360 ACT/360 \00a4 a4
19 UAH 980 UH 35 Ukrainian Hryvnia 4 UA ACT/ACT ACT/ACT \u20b4 ₴
20 RUB 643 RR 36 Russian Ruble 4 RU ACT/ACT ACT/ACT \u0440\u0443\u0431 руб
21 BRL 986 BC 200 Brazilian Real 4 BR BUS/252 BUS/252 R$ R$
22 PEN 604 PS 220 Peruvian New Sol 4 PE ACT/360 ACT/360 S/. S/.
23 ARS 032 AP 301 Argentine Peso 4 AR 30/360 ACT/360 \u0024 $ $
24 MYR 458 MR 345 Malaysian Ringgit 4 MY ACT/365 ACT/365 \00a4 a4
25 JMD 388 JD 410 Jamaican Dollar 4 JM ACT/360 ACT/360 \u0024 $ $
26 TTD 780 TT 410 Trinidad and Tobago Dollar 4 TT ACT/360 ACT/360 \u0024 $ $
27 BMD 060 BD 410 Bermudian Dollar 4 BM Act/365 Act/365 \u0024 $ $
28 KZT 398 KT 410 Tenge 4 KZ Act/365 Act/365 \u20b8 ₸
29 BGN 975 BN 410 Bulgarian Lev 4 BG Act/365 Act/365 \u043b\u0432. лв лв.
30 ILS 376 IS 410 Israeli Shekel 4 IL ACT/365 ACT/365 \u20aa ₪
31 AED 784 AE 410 United Arab Emirates Dirham 4 AE Act/365 Act/365 \00a4 a4
32 QAR 634 QA 410 Qatari Riyal 4 QA Act/365 Act/365 \ufdfc ﷼
33 SAR 682 SR 410 Saudi Riyal 4 SA Act/365 Act/365 \ufdfc ﷼
34 EGP 818 EP 550 Egyptian Pound 4 EG Act/365 Act/365 \u00a3 £ £
35 NGN 566 NG 650 Nigerian Naira 4 NG Act/365 Act/365 \u20a6 ₦
36 CNY 156 CY 680 Chinese Renminbi 4 CN ACT/365 ACT/365 \u00a5 ¥ ¥
37 ZAR 710 SA 750 South African Rand 4 ZA ACT/365 ACT/365 R R R
38 MXN 484 MP 1330 Mexican Peso 4 MX ACT/360 ACT/360 \u0024 $ $
39 THB 764 TB 3300 Thai Baht 2 TH ACT/365 ACT/365 \u0e3f ฿ ฿
40 INR 356 IR 4500 Indian Rupee 4 IN ACT/365 ACT/365 \u20a8 ₨
41 PHP 608 PP 4770 Philippines Peso 4 PH ACT/360 ACT/360 \u20b1 ₱
42 JPY 392 JY 10000 Japanese Yen 2 JP ACT/365 ACT/360 \u00a5 ¥ ¥
43 CLP 152 CH 54500 Chilean Peso 2 CL ACT/360 ACT/360 \u0024 $ $
44 KRW 410 KW 110000 South Korean won 2 KR ACT/365 ACT/365 \u20a9 ₩
45 COP 170 CL 190000 Colombian Peso 2 CO ACT/360 ACT/360 \u0024 $ $
46 IDR 360 IH 970000 Indonesian Rupiah 0 ID ACT/360 ACT/360 Rp Rp Rp
47 VND 704 VD 1700000 Vietnamese Dong 0 VN ACT/365 ACT/365 \u20ab ₫

Main Usage#

import ccy
eur = ccy.currency("aud")
eur.printinfo()
code: AUD
isonumber: 036
twoletterscode: AD
order: 3
name: Australian Dollar
rounding: 4
default_country: AU
fixeddc: ACT/365
floatdc: ACT/365
fixedfreq: 
floatfreq: 
future: 
symbol_raw: \u0024
html: $
symbol: $

a currency object has the following properties:

  • code: the ISO 4217 three letters codee.

  • twoletterscode: two letter crg.

  • 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 functn::

c = ccy.currency_pair("eurusd")
c
ccy_pair: EURUSD
c.mkt()
ccy_pair: EURUSD
c = ccy.currency_pair("chfusd")
c
ccy_pair: CHFUSD
c.mkt()  # market convention pair
ccy_pair: USDCHF

cross & crossover#

Some shortcuts:

ccy.cross("aud")
'AUDUSD'
ccy.crossover('eur')
'EUR/USD'
ccy.crossover('chf')
'USD/CHF'
ccy.crossover('aud')
'AUD/USD'

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.

Eurozone#

The euro area, commonly called the eurozone (EZ), is a currency union of 20 member states of the European Union (EU) that have adopted the euro (€) as their primary currency and sole legal tender, and have thus fully implemented EMU policies.

ccy.eurozone
('AT',
 'BE',
 'CY',
 'DE',
 'EE',
 'ES',
 'FI',
 'FR',
 'GR',
 'HR',
 'IE',
 'IT',
 'LU',
 'LV',
 'LT',
 'MT',
 'NL',
 'PT',
 'SI',
 'SK')
ccy.print_eurozone()
Austria
Belgium
Croatia
Cyprus
Estonia
Finland
France
Germany
Greece
Ireland
Italy
Latvia
Lithuania
Luxembourg
Malta
Netherlands
Portugal
Slovakia
Slovenia
Spain