Explainer

ETF vs index fund: key differences, costs and what the price data shows

Most of the difference is plumbing: when you can trade, and at what price. Price data makes the plumbing visible.

On this page
  1. ETF vs index fund at a glance
  2. What is an ETF, and how do ETFs work
  3. Costs: expense ratio, spread and the rest
  4. What the price data shows: index, ETF and fund
  5. When each wrapper tends to fit
  6. Questions

Key takeaways

  • An index fund is any fund that follows an index. It comes as a mutual fund or as an ETF, so the real comparison is index ETF against index mutual fund.
  • An ETF trades all day at market prices with a bid-ask spread; an index mutual fund is bought and sold once a day at the net asset value struck after the close.
  • For large funds tracking the same index, results are close. The differences are spreads for ETFs, minimums and possible sales charges for mutual funds, and tax treatment in the US.
  • An index level cannot be bought. On 25 September 2026, `US500ETF` tracked the `US500` index level within 0.041 percentage points all session, measured from the first five-minute bar.

An ETF (exchange-traded fund) and an index fund are not opposites. An index fund is any fund that follows an index, and it comes in two wrappers: a mutual fund, which you buy from the fund company once a day at its net asset value, and an ETF, which trades on an exchange all day like a share. "ETF vs index fund" usually means index ETF against index mutual fund.

Two funds tracking the same index deliver close results; the experience of owning them differs. Below is the investor answer first, then the data view: what an index level, an ETF and a mutual fund look like to an ETF API and to an indices API.

ETF vs index fund at a glance

FeatureIndex ETFIndex mutual fund
How you buyThrough a broker, from other investorsFrom the fund company or through a broker
When the price is setContinuously while the market is openOnce a day, after the close
Price you getThe ask to buy, the bid to sellThat day's NAV, whenever you ordered
Intraday trading and limit orders
Minimum investmentOne share, or less with fractional sharesOften a set dollar minimum
Automatic monthly investing
Extra costs to watchSpread, commissions where chargedSales loads, short-term redemption fees
Capital-gain distributions (US)Usually rareMore common
"Partial" means it depends on your broker supporting recurring ETF purchases.

What is an ETF, and how do ETFs work

An ETF is a fund that holds a portfolio (stocks, bonds, commodities or futures) and splits ownership into shares that trade on an exchange like any other stock. Most ETFs follow an index; some are actively managed. The clever part is how the share price stays tied to the value of what the fund holds.

An ETF has two markets. In the primary market, large dealers called authorized participants hand the fund a basket of the index stocks and receive new ETF shares in large blocks, or hand shares back and take stocks out. In the secondary market, everyone else trades those shares with each other all day. If the ETF drifts above the value of its basket, dealers create shares and sell them; if it drifts below, they buy shares and redeem them.

  1. Authorized participantdelivers the index basket
  2. Fund issues sharesin large creation blocks
  3. Shares trade all daybids, asks and trades
  4. Redemptionshares back, stocks out
The creation and redemption loop. Dealers profit from gaps between price and value, and in doing so close them.

A mutual fund works differently. Every order collected during the day executes at the same NAV after the close, and the fund buys or sells the underlying stocks for cash to meet them. Selling stocks for cash can realize capital gains inside the fund, and in the US those are passed on to every holder. In-kind redemptions let an ETF hand out stocks instead of cash, which is the main reason ETFs tend to distribute fewer capital gains.

Costs: expense ratio, spread and the rest

Both wrappers charge an expense ratio, taken from fund assets a little every day, and for large broad-market index funds it is small either way. The costs that differ sit around the edges, and the biggest one for an ETF is also the easiest to measure from market data: the bid-ask spread.

round-trip spread cost = amount × spread (bps) ÷ 10,000annual fee = amount × expense ratio

spread (bps)
(ask − bid) ÷ mid × 10,000, from a live quote.
expense ratio
The yearly fee as a fraction of assets, from the fund documents.
$10,000 through a 0.78 bps spread costs $0.78 in and out; a 0.05% expense ratio costs $5.00 a year. The spread comes from a US500ETF quote of 767.13 / 767.19 on 28 September 2026; the fee is illustrative.
  • Bid-ask spread (ETF). Paid each time you trade. Under a basis point on the largest funds, much wider on thin ones, and wider for everyone at the open and in stressed markets.
  • Commissions (ETF). Many brokers now charge none for ETF trades. Check yours.
  • Sales loads and minimums (mutual fund). Some share classes charge a sales load, and many funds require a minimum first investment.
  • Short-term redemption fees (mutual fund). Some funds charge you for selling within a few months of buying.
  • Tax drag (US). Capital-gain distributions from a mutual fund are taxable in a regular account even in a year you sold nothing.

What the price data shows: index, ETF and fund

Put the three objects side by side as data and the difference becomes concrete. The index level is a calculation you can read but not trade. The ETF is a security with its own quotes and trades. The index mutual fund has one price a day, published by the fund, and no intraday data at all.

Data pointUS500 (index level)US500ETF (ETF)
Bid / ask, 28 Sep, 10:25 UTC7,697.93 / 7,701.77767.13 / 767.19
Spread3.84 points, indicative6 cents, 0.78 bps
Daily bar close (UTC day), 25 Sep7,743.41771.35
Change, 22 Sep 2025 to 25 Sep 2026+15.68%+15.67%
Latest print, 28 Sep, 10:49 UTC7,700.85, indicative767.28, a pre-market trade
Captured from the TickerLayer REST API. Changes are price only, dividends excluded.

Look at the spread row. The index quote has a bid and an ask because the API publishes index-style levels in a two-sided, CFD-like form, but no order book stands behind it and nobody fills an order against the index itself. The ETF spread is the actual cost of trading its shares. The mutual fund has neither: you would see one NAV per day, after the close.

US500 and US500ETF through one session

  • US500 index level
  • US500ETF price

Percent change since the first five-minute bar, New York time

Friday 25 September 2026, sampled every 15 minutes from five-minute closes.TickerLayer five-minute bars for US500 and US500ETF.

The two lines are almost one. Across all 78 five-minute bars of that session, measured as percent change since the first bar, the fund never drifted more than 0.041 percentage points from the index. What differs is the level: the index sat at about 10.04 times the ETF price all day. That ratio is arbitrary, since each fund picks its own starting share price, and it moves slowly with fees and with dividends the fund holds until it pays them out.

intraday_gap.pyPython
import os
import sys

import requests

BASE_URL = "https://api.tickerlayer.com"
HEADERS = {"x-api-key": os.environ["TICKERLAYER_API_KEY"]}
DAY = "2026-09-25"


def five_minute_closes(asset, symbol):
    url = f"{BASE_URL}/{asset}/agg/{symbol}/5/minute/{DAY}/{DAY}"
    resp = requests.get(url, headers=HEADERS, params={"sort": "asc", "limit": 5000}, timeout=15)
    if resp.status_code != 200:
        sys.exit(f"{symbol}: HTTP {resp.status_code} {resp.text[:160]}")
    return {bar["t"]: bar["c"] for bar in resp.json()["results"]}


index = five_minute_closes("indices", "US500")
etf = five_minute_closes("etfs", "US500ETF")
times = sorted(index.keys() & etf.keys())
if not times:
    sys.exit("No overlapping bars for that day.")
t0 = times[0]
gaps = [abs((etf[t] / etf[t0]) - (index[t] / index[t0])) * 100 for t in times]
ratios = [index[t] / etf[t] for t in times]
print(f"{len(times)} five-minute bars in both series")
print(f"largest gap in % change since the first bar: {max(gaps):.3f} percentage points")
print(f"index / ETF ratio: {min(ratios):.4f} to {max(ratios):.4f}")
Output
78 five-minute bars in both series
largest gap in % change since the first bar: 0.041 percentage points
index / ETF ratio: 10.0377 to 10.0417

The same check works for any fund and the level it follows: swap the symbols, keep the logic. The ETF bars reference lists the intervals, and US500ETF has a delayed chart of the fund.

When each wrapper tends to fit

An index ETF tends to fit when

  • You want to trade during the day or use limit orders.
  • You invest through a regular taxable account in the US.
  • Your broker offers commission-free trades and fractional shares.
  • You want to hold the same fund at any broker.

An index mutual fund tends to fit when

  • You invest a fixed amount automatically every month.
  • You prefer one price a day and no order types.
  • Your retirement plan only offers mutual funds.
  • You would rather not be tempted to trade.
General patterns, not recommendations.

One caveat for commodity funds: an ETF that holds futures rather than the physical asset can drift away from the spot price for reasons that have nothing to do with fees. Contango and backwardation explains that roll cost. And if you want to know what an index fund is tracking in the first place, what a stock index is covers how the weights are set.

Questions

Is an ETF an index fund?

Many ETFs are index funds in ETF form: they track an index and trade on an exchange. Some ETFs are actively managed, and many index funds are mutual funds, so the two terms overlap without being the same thing.

Which is cheaper, an ETF or an index fund?

For large funds tracking the same index, expense ratios are often similar. ETFs add a bid-ask spread and sometimes commissions; mutual funds may add minimums or sales charges. Compare the specific funds you would actually buy.

Can you buy an index directly?

No. An index is a calculation over a basket of stocks. You get the exposure through an index ETF, an index mutual fund or a derivative that tracks it.

Why does an ETF price differ from its NAV?

The market price moves all day with supply and demand, while NAV is struck once a day from the holdings. Creation and redemption by dealers keeps the gap to a few basis points on large, liquid funds.

How do ETFs work?

An ETF holds a portfolio and issues shares that trade on an exchange. Dealers create and redeem shares in exchange for the underlying basket, which keeps the market price close to the value of the holdings.

Do ETFs pay dividends?

Most equity ETFs pass through the dividends of the stocks they hold as periodic distributions; US equity ETFs typically pay quarterly.

Keep reading

Ready to integrate?

Start with the free tier, explore the docs, and connect via REST or WebSocket in minutes.