# BIST 100 index in USD: official series and conversion

URL: https://fincodelabs.com/en/blog/bist-100-index-in-usd · Publisher: Fincode (Fincode Yazılım ve Teknoloji A.Ş.), Istanbul, Turkey · Category: Investing in Turkey · Published: 2026-11-06 · Updated: 2026-11-06

BIST 100 index in USD: the official XU100_CFNPTLUS series, why dividing by USD/TRY gives another number, how the index is built and where the data sits.

**Short answer:** The **BIST 100 index in USD** is an official Borsa Istanbul series, code XU100_CFNPTLUS (base 100 on 1 January 1986), which closed at 1,337.56 on 4 November 2026 while the lira index XU100 closed at 11,478.13. Dividing XU100 by the central bank's dollar rate gives about 229.86, a different scale. On all 133 dates tested since November 2015, the official close equaled XU100 × 5.8191 ÷ the central bank's USD buying rate, within 0.01 point.

BIST 100 is the main index of Borsa Istanbul, Turkey's stock exchange. Search for it in dollars and you can meet three different figures for the same day: the lira level, that level divided by an exchange rate, and the exchange's own USD series. They are not interchangeable, and none of the official documents read for this guide explains how they relate.

The reconciliation below was re-run against official files on 6 November 2026. This guide names no shares and gives no view on the level, and a past figure says nothing about the future. Buying routes are in [how to buy Turkish stocks](https://fincodelabs.com/en/blog/how-to-buy-turkish-stocks).

## BIST 100 in USD: the official index codes

Borsa Istanbul calculates BIST 100 in lira, US dollars and euros, each as a price index and a return index, so six official series exist.

**BIST 100 series: base values from the exchange's index code file, closes for 4 November 2026 from its closing-value files**

| Code | Version | Base | Close, 4 Nov 2026 |
| --- | --- | --- | ---: |
| `XU100` | Price, TRY | 01.01.1986 = 0.01 | 11,478.13 |
| `XU100_CFNPTLUS` | Price, USD | 01.01.1986 = 100 | 1,337.56 |
| `XU100_CFNPTLER` | Price, EUR | 31.12.1998 = 484.01 | 1,393.94 |
| `XU100_CFNNTLTL` | Return, TRY | 27.12.1996 = 9.76 | 22,919.49 |
| `XU100_CFNNTLUS` | Return, USD | 27.12.1996 = 534.01 | 2,670.84 |
| `XU100_CFNNTLER` | Return, EUR | 31.12.1998 = 517.07 | 2,783.41 |

The only difference between price and return versions is cash dividends: the return divisor assumes each dividend is reinvested in the constituents, while the price divisor does not, according to section 2.13 of the methodology. For a data vendor, ask for the USD series by code or ISIN: TRAIMKB01174 for the price version and TRAIMKB01182 for the return version, as listed on the exchange's [XU100_CFNPTLUS](https://www.borsaistanbul.com/en/index/xu100cfnptlus) and [XU100_CFNNTLUS](https://www.borsaistanbul.com/en/index/xu100cfnntlus) pages.

## Why XU100 divided by USD/TRY does not match the official series

Simple division moves in the same direction as the official series but sits on a different scale: about 229.86 against 1,337.56 on 4 November 2026.

The methodology divides each share price by the exchange rate inside the index formula (section 4) and defines that rate as the central bank's forex buying rate (section 2.12). It says only that the rate is the one on day t, not what applies on half days or how the USD divisor relates to the lira divisor, so the test below uses the exchange's price file and the bulletins of the Central Bank of the Republic of Türkiye (TCMB).

**Official closes against TCMB USD forex buying rates; simple division and factor are calculated, not published**

| Date | XU100 | TCMB rate | XU100 ÷ rate | XU100_CFNPTLUS | Factor |
| --- | ---: | --- | ---: | ---: | ---: |
| 31 Dec 2025 | 11,261.52 | 42.8457 | 262.84 | 1,529.49 | 5.8191 |
| 26 May 2026, half day | 13,662.75 | 45.6312 (25 May) | 299.42 | 1,742.34 | 5.8191 |
| 4 Nov 2026 | 11,478.13 | 49.9360 | 229.86 | 1,337.56 | 5.8191 |

The file holds month-end closes plus the latest day. On all 133 of its dates from 30 November 2015 to 4 November 2026, XU100 × 5.8191 ÷ the rate reproduced the official USD close within 0.01 point, exactly on 112 of them. On 128 dates the same-day bulletin worked. The other 5 were half days with no TCMB file, and the previous bulletin worked. The return series gave the same factor. The 5 November 2026 close, outside that test, also fit: 11,333.27 × 5.8191 ÷ 49.9589 = 1,320.07, the official value.

- **What the factor is.** By the section 4 formula, it is the ratio of the lira divisor to the USD divisor, which the free files do not show.
- **Where it stops.** The factor was about 5.823 from February 2001 to October 2015 and ranged from about 5.80 to 5.87 between 1997 and January 2001. The shift appears at the 30 November 2015 month end, the day equity trading [moved to BISTECH](https://borsaistanbul.com/duyuru/11688/pay-piyasasi-islemleri-bistech-islem-platformu-uzerinde-basarili-bir-sekilde-yapilmaya-baslanmistir), and no document read for this guide explains it. Do not apply 5.8191 to older history.

## Convert a lira level in Python, and when it fails

A few lines reproduce both scales from hypothetical values and reject a rate that parses as infinity or zero.

```python
import math

FACTOR = 5.8191   # fitted on official closes since 30 Nov 2015; not published by the exchange

def _positive(x, name):
    x = float(x)
    if not math.isfinite(x) or x <= 0:
        raise ValueError(f"bad {name}: {x}")
    return x

def simple_usd(tl_level, usd_buying):
    """The index number divided by the rate. Not an official series."""
    return round(_positive(tl_level, "level") / _positive(usd_buying, "rate"), 2)

def usd_series_estimate(tl_close, usd_buying):
    """Estimate of the XU100_CFNPTLUS close from the XU100 close."""
    return round(_positive(tl_close, "close") * FACTOR / _positive(usd_buying, "rate"), 2)

def usd_change(tl_change, fx_change):
    """Dollar return from the lira return and the change in USD/TRY."""
    return _positive(1 + tl_change, "1 + tl_change") / _positive(1 + fx_change, "1 + fx_change") - 1

# Hypothetical values, not market data
tl_close, usd_buying = 12_000.00, 50.0000
print("simple division:", simple_usd(tl_close, usd_buying))
print("USD series scale:", usd_series_estimate(tl_close, usd_buying))
print(f"TL +10%, USD/TRY +10%: {usd_change(0.10, 0.10):.2%}")
print(f"TL +5%, USD/TRY +12%: {usd_change(0.05, 0.12):.2%}")
for bad in ("1e400", "1e-400"):   # rates read as text
    try:
        usd_series_estimate(tl_close, bad)
    except ValueError as e:
        print("rejected:", e)
```

Output, Python 3.11:

```
simple division: 240.0
USD series scale: 1396.58
TL +10%, USD/TRY +10%: 0.00%
TL +5%, USD/TRY +12%: -6.25%
rejected: bad rate: inf
rejected: bad rate: 0.0
```

A conversion will not reproduce the official series in these cases:

- **During the session.** Section 2.18 of the methodology calculates TL price every second but the USD and euro versions once, at the end of the session. In the 5 November 2026 file the USD row shows 1,320.07 as open, low, high and close, while the lira row varies. There is no official live USD value, and the day's TCMB rate arrives only at 15:30.
- **On half days.** TCMB publishes nothing for those dates, so take the previous bulletin.
- **With a market rate.** A chart ratio of XU100 and a USD/TRY quote uses neither the TCMB buying rate nor the official scale.
- **For returns.** Dividends need the return series, not a converted price index.

The official rate feed and its quirks are covered in [Turkish central bank exchange rates](https://fincodelabs.com/en/blog/turkish-central-bank-exchange-rates).

## Why BIST 100 reads so differently in dollars

The USD series changes by the lira index change divided by the change in the exchange rate, so a weaker lira can turn a lira gain into a dollar loss.

> **Official figures, past period only:** from 31 December 2025 to 4 November 2026, XU100 rose 1.92% (11,261.52 to 11,478.13), the TCMB USD buying rate rose 16.55% (42.8457 to 49.9360) and XU100_CFNPTLUS fell 12.55% (1,529.49 to 1,337.56). Check: 1.0192 ÷ 1.1655 = 0.8745.

Over long periods lira levels also carry inflation; see [Turkish lira inflation](https://fincodelabs.com/en/blog/turkish-lira-inflation-rate). Neither reading says whether shares are cheap or expensive, and neither is a return an investor received after costs, taxes and dealing rates.

## How BIST 100 is built: formula and quarterly review

BIST 100 weights 100 shares by free-float market value and reviews membership every quarter, under a methodology whose current version took effect on 28 October 2026.

```
E(t) = Σ [ (F(i,t) / D(t)) × N(i,t) × H(i,t) × K(i,t) ] / B(t)
```

**Terms in section 4 of the methodology, October 2026**

| Term | Meaning |
| --- | --- |
| F | Share price |
| D | Exchange rate on day t, for the USD and euro versions |
| N | Total number of shares |
| H | Free-float ratio used in the index, calculated by the Central Registry Agency (MKK) |
| K | Weighting factor; BIST 100 itself is listed as non-capped, and separate capped versions exist |
| B | Divisor, adjusted so that corporate actions and constituent changes do not move the index |

Selection works in three steps:

1. **Pool.** Stars Market shares traded at least 60 days.
2. **Ranking.** Shares are ranked by average free-float market value and by daily average traded value over 12 months, and the two lists are merged.
3. **Buffer.** A share enters at rank 90 or better and leaves below rank 110; 3 substitutes are named.

Index periods run January to March, April to June, July to September and October to December. Data is taken at the end of November, February, May and August, and changes are announced at least 10 days before the period starts. Shares on the Watchlist, Venture Capital Market and Pre-Market Trading Platform are excluded. Segments are covered in [the Borsa Istanbul stock exchange guide](https://fincodelabs.com/en/blog/borsa-istanbul-stock-exchange), and MSCI's separate decisions in [the MSCI Turkey freeze](https://fincodelabs.com/en/blog/msci-turkey-index-freeze).

## The two zeros removed on 27 July 2020

Lira versions of BIST stock indices were divided by 100 on 27 July 2020 and their divisors multiplied by 100, which is why XU100 now has a base value of 0.01 instead of 1.00.

It was announced on 19 February 2020 for 27 April and postponed on 2 April 2020. Only lira indices changed, so the USD series kept base 100; on the old lira scale the factor above would be 0.058191.

The consolidated price file is already on the new scale: it shows 1,165.25 for XU100 on 30 June 2020. DataStore's historical files are not, and its product pages tell buyers to divide earlier index values by 100 and multiply earlier divisors by 100, as the [Data Store guide](https://fincodelabs.com/en/blog/borsa-istanbul-data-store) shows. Check one pre-2020 row before merging sources.

## BIST 100 companies: the official list and data files

The exchange publishes current BIST 100 members in a free CSV file, and this guide links to it instead of printing names because membership changes each quarter.

**Official sources for BIST 100 data, checked 6 November 2026**

| You need | File | Format notes |
| --- | --- | --- |
| Current members | [hisse_endeks_ds.csv](https://www.borsaistanbul.com/datum/hisse_endeks_ds.csv) | Semicolon-separated with Turkish and English header rows; 86 indices. Filter the third column on XU100: 100 rows. The date column showed 06/11/2026 when read before the 6 November session; the file holds no history |
| Latest open, low, high, close, all versions | [PayEndeksleri.zip](https://www.borsaistanbul.com/datum/PayEndeksleri.zip) | Separate price and return CSVs for the last trading day, two header rows |
| Month-end history, price | [eng_stockindicesprice.zip](https://www.borsaistanbul.com/datum/eng_stockindicesprice.zip) | Excel, 491 XU100 rows from January 1986; the last row is the latest day, not a month end |
| Month-end history, return | [eng_stockindicesreturn.zip](https://www.borsaistanbul.com/datum/eng_stockindicesreturn.zip) | Excel, same layout |
| Codes and base values | [bist-endeks-kodlari-ve-baslangic-degerleri.xlsx](https://www.borsaistanbul.com/files/bist-endeks-kodlari-ve-baslangic-degerleri.xlsx) | 510 codes; base values use decimal commas |
| Rules | [Methodology, October 2026](https://www.borsaistanbul.com/files/bist-mcw-equity-indices-m-eng-2026-october-clean.pdf) | English; confirm the current version on the exchange's methodologies page |

## Using BIST 100 data in a product: what needs a license

Reading the free files is one thing, while calculating, redistributing or building on BIST indices generally needs an agreement with the exchange.

**Exchange pages and data licensing FAQ, read 6 November 2026**

| What you plan | What the exchange asks for |
| --- | --- |
| Calculate an index from BIST data | [Index Makers License Agreement](https://www.borsaistanbul.com/en/data/data-dissemination/index-creation) |
| Other derived data | The Data Distribution Agreement, signed directly |
| Fund, warrant, certificate or OTC product on a BIST index | BIST Indices License Agreement |
| BIST index as a fund benchmark | Benchmark licensing agreement |
| Distribute index values in an app | A license as distributor or sub-distributor |

The methodology says Borsa Istanbul owns the intellectual property in these indices, and the site's [copyright notice](https://www.borsaistanbul.com/en/copyright-and-disclaimer-notice) says its information may not be copied or distributed without prior written consent. So a dashboard showing a home-made USD BIST 100 is a licensing question before it is a coding one, and so is republishing the free files. TCMB's disclaimer makes commercial use of its site's information subject to its prior written permission. Distribution routes are in [Borsa Istanbul API and market data](https://fincodelabs.com/en/blog/borsa-istanbul-api-market-data). This is a reading of published texts, not legal advice.

## Frequently asked questions

### Is there an official BIST 100 index in US dollars?

Yes. Borsa Istanbul publishes XU100_CFNPTLUS as a price index and XU100_CFNNTLUS as a return index that assumes dividends are reinvested. Both are calculated once, at the end of the session.

### Why does one site show BIST 100 in USD near 230 and another near 1,338?

The first is XU100 divided by an exchange rate. The second is the official USD series, which started from base 100 in 1986 and sits on a different scale. On 4 November 2026 the two were 229.86 and 1,337.56.

### Which country is the BIST 100 index from?

Turkey. BIST 100 is the main index of Borsa Istanbul, the country's stock exchange.

### How many companies are in the BIST 100?

100 shares, chosen mainly from the Stars Market, including the BIST 30 and BIST 50 shares. The current list is in the exchange's free file hisse_endeks_ds.csv and can change each quarter or when a share is removed during a period.

### What exchange rate does the BIST 100 USD index use?

The methodology names the central bank's forex buying rate. In tests on 133 official closes since November 2015, the rate from that day's bulletin matched, or the previous bulletin when none was published for the date.

## Sources

- [Borsa Istanbul: BIST Market Cap Weighted Stock Indices Methodology, October 2026, effective 28 October 2026](https://www.borsaistanbul.com/files/bist-mcw-equity-indices-m-eng-2026-october-clean.pdf)
- [Borsa Istanbul: Methodologies and Changes (current version effective 28 October 2026)](https://www.borsaistanbul.com/en/indices/methodologies-and-changes)
- [Borsa Istanbul: BIST index codes and base values](https://www.borsaistanbul.com/files/bist-endeks-kodlari-ve-baslangic-degerleri.xlsx)
- [Borsa Istanbul: BIST Equity Indices, latest day, price and return (PayEndeksleri.zip; rolls daily, 5 November 2026 version read 6 November 2026)](https://www.borsaistanbul.com/datum/PayEndeksleri.zip)
- [Borsa Istanbul: BIST Stock Indices, price, closing values (last row 4 November 2026 when read 6 November 2026)](https://www.borsaistanbul.com/datum/eng_stockindicesprice.zip)
- [Borsa Istanbul: BIST Stock Indices, return, closing values (last row 4 November 2026 when read 6 November 2026)](https://www.borsaistanbul.com/datum/eng_stockindicesreturn.zip)
- [Borsa Istanbul: Equity index report, constituents (hisse_endeks_ds.csv)](https://www.borsaistanbul.com/datum/hisse_endeks_ds.csv)
- [Borsa Istanbul: Index page, BIST 100 (USD), XU100_CFNPTLUS](https://www.borsaistanbul.com/en/index/xu100cfnptlus)
- [TCMB: Indicative exchange rates, 4 November 2026, bulletin 2026/207](https://www.tcmb.gov.tr/kurlar/202611/04112026.xml)
- [TCMB: Indicative exchange rates, set at 15:30 on business days and not on half days (Turkish)](https://www.tcmb.gov.tr/wps/wcm/connect/TR/TCMB+TR/Main+Menu/Temel+Faaliyetler/Doviz+Efektif/Doviz+ve+Efektif+Piyasalari/Gosterge+Niteligindeki+Kurlar)
- [TCMB: Disclaimer (quotation and commercial use)](https://www.tcmb.gov.tr/wps/wcm/connect/EN/TCMB+EN/Bottom+Menu/Other/Disclaimer)
- [Borsa Istanbul: Announcement of 19 February 2020 on removing two zeros from BIST stock indices (Turkish)](https://borsaistanbul.com/duyuru/12570/bist-pay-endekslerinden-iki-sifir-atiliyor)
- [Borsa Istanbul: Announcement of 2 April 2020 postponing the change to 27 July 2020 (Turkish)](https://borsaistanbul.com/duyuru/12554/bistech-sistemi-211-versiyon-gecisi-ile-bist-pay-endekslerinden-iki-sifir-atilmasina-iliskin-projelerin-ertelenmesi)
- [Borsa Istanbul: FAQ on data distribution and index licensing (Turkish)](https://borsaistanbul.com/sss/veri-dagitim-ve-endeks-lisanslama)
- [Borsa Istanbul: Licensing of Indices](https://www.borsaistanbul.com/en/indices/licensing-indices)

> This guide is general information, not investment, legal or tax advice. Amounts, rates and rules in Turkey change often: check the date given for each figure and the official source before you rely on it, and ask a licensed adviser about your own situation. Sources, checks and corrections: see the [editorial policy](https://fincodelabs.com/en/editorial-policy).

---

Published by Fincode (Fincode Yazılım ve Teknoloji A.Ş.), a software company in Istanbul, Turkey: https://fincodelabs.com/en/blog/bist-100-index-in-usd

Cite as: Fincode, "BIST 100 index in USD: official series and conversion", updated November 6, 2026, https://fincodelabs.com/en/blog/bist-100-index-in-usd
