Skip to main content

Why are some securities quoted in smaller currency units?

Why some exchanges quote in GBp, ZAc, or ILA instead of GBP, ZAR, or ILS, and how APIs handle it

Team avatar
Written by Team
Updated over 2 weeks ago

Introduction

When working with securities data, you may notice that some prices and fundamentals’ parameters are quoted in smaller currency units, such as GBp, ZAc, or ILA, instead of the main currency (GBP, ZAR, or ILS). This article explains why exchanges use these units, how it affects equities and other asset classes, and how Twelve Data helps you identify the correct currency in API responses.

Why exchanges use smaller units

Certain exchanges historically adopted smaller units to avoid fractional prices and simplify trading. Although less necessary today, the convention remains in place:

  • London Stock Exchange (LSE)

    • Securities are mostly quoted in GBp (pence), not GBP (Pound Sterling).

    • 1 GBP = 100 GBp.

    • Example: 150 GBp = 1.50 GBP.

  • Johannesburg Stock Exchange (JSE)

    • Securities are mostly quoted in ZAc (South African cents), not ZAR.

    • 1 ZAR = 100 ZAc.

    • Example: 8,750 ZAc = 87.50 ZAR.

  • Tel Aviv Stock Exchange (TASE)

    • Securities are often quoted in ILA (agorot), not ILS.

    • 1 ILS = 100 ILA.

    • Example: 4,320 ILA = 43.20 ILS.

This approach avoids decimals and makes it easier to represent nominally low prices as whole numbers.

Exceptions

Local equities usually follow the smaller-unit convention.

ETFs, funds, ADRs, and cross-listed securities are often quoted directly in major currencies such as GBP, USD, EUR, ILS, or ZAR.

For example, on the London Stock Exchange (LSE):

  • Domestic shares are quoted in GBp.

  • Some ETFs are quoted in GBP or USD to provide easier access for international investors.

This means that not all instruments on the same exchange follow the smaller-unit convention.

Twelve Data API responses

To avoid confusion, the Twelve Data API always specifies the currency in the currency field. This ensures you know exactly which unit is being used.

Example /statistics response:

{
"meta": {
"symbol": "GLEN",
"name": "Glencore plc",
"currency": "GBp",
"exchange": "LSE",
"mic_code": "XLON",
"exchange_timezone": "Europe/London"
},
"statistics": { ... }
}

Best practices

  • Always check the currency field in API responses.

  • Convert to the main unit if needed (e.g., divide GBp by 100 to get GBP).

  • Add validation on your side when aggregating data across exchanges.

Did this answer your question?