Home · Guides · XAU/USD session analysis: Asia, London and New York hours with 1-minute data

GUIDE · XAU/USD · SESSIONS · UTC · CATALOG VERIFIED 2026-10-08

XAU/USD session analysis: Asia, London and New York hours with 1-minute data

To compare XAU/USD across the Asia, London and New York sessions you need intraday bars on one clock. AI Options Data Store sells XAU/USD spot 1-minute OHLC from 15 Mar 2009 to 2 Oct 2026 as Parquet with UTC timestamps, so each session can be cut by its local hours with tz_convert, which also takes care of daylight-saving shifts.

Get the XAU/USD packXAU/USD historical dataBacktest guide Free sample (no email)

Download the sample → check the columns

Dates on this page are read from the live file catalog, not typed by hand. Full matrix: /coverage.

Session windows used in this guide (local time)

SessionLocal hoursApprox. UTC (winter / summer)
Asia09:00–15:00 Tokyo00:00–06:00 (Tokyo has no DST)
London08:00–16:30 London08:00–16:30 / 07:00–15:30
New York08:00–17:00 New York13:00–22:00 / 12:00–21:00

Tag every minute with its session

Define sessions in local time and convert, rather than hard-coding UTC hours: the London and New York windows move by an hour twice a year, and on different dates.

import pandas as pd

df = pd.read_parquet('XAUUSD_SPOT_1min_2025-01-01_2025-12-31.parquet').set_index('datetime')

def in_session(idx, tz, start, end):
    t = idx.tz_convert(tz)
    m = t.hour * 60 + t.minute
    return (m >= start) & (m < end)          # minutes after local midnight

df['asia']   = in_session(df.index, 'Asia/Tokyo', 9 * 60, 15 * 60)
df['london'] = in_session(df.index, 'Europe/London', 8 * 60, 16 * 60 + 30)
df['ny']     = in_session(df.index, 'America/New_York', 8 * 60, 17 * 60)

Range per session, per day

All three windows fall inside one UTC date, so grouping by UTC date gives one row per day with the high-low range of each session. The London and New York overlap is counted in both.

out = {}
for s in ['asia', 'london', 'ny']:
    x = df[df[s]]
    g = x.groupby(x.index.date)
    out[s] = g['high'].max() - g['low'].min()

ranges = pd.DataFrame(out)                 # USD per ounce, one row per UTC date
print(ranges.describe())
print(ranges.groupby(pd.to_datetime(ranges.index).dayofweek).median())

Things to watch

Prices are bid-side quotes; ranges are unaffected, but entries at the ask need a spread assumption.

Minutes without a quote are absent, not filled, and the market is shut from Friday evening to Sunday evening UTC. Holiday sessions can be short, so filter days with too few minutes before comparing.

Session hours are conventions, not rules; change the windows to match your own definition.

Exactly which fields are in the files

XAU/USD 1-minute files

ColumnTypeMeaning
datetimetimestamp (UTC)Minute start, timezone-aware UTC
open / high / low / closefloatBid-side XAU/USD quote OHLC, US dollars per troy ounce

Not included: ask-side prices, futures, options, implied volatility or Greeks. 1-minute bars, not tick data.

Format: Parquet (XAUUSD_SPOT_1min_….parquet), UTC. Try the code on the free September 2026 sample first.

FAQ

What data do I need for XAU/USD session analysis?

Intraday bars with reliable timestamps. AI Options Data Store sells XAU/USD 1-minute OHLC in UTC from 15 Mar 2009 to 2 Oct 2026 as Parquet.

What are the London and New York session hours in UTC?

With the windows used here, London is 08:00–16:30 UTC in winter and 07:00–15:30 UTC in summer; New York is 13:00–22:00 UTC in winter and 12:00–21:00 UTC in summer. Converting from local time handles the switch.

Are the timestamps affected by daylight saving?

No. The files are in UTC, normalised across daylight-saving changes; convert to local time in pandas when you need session hours.

Can I do this in Excel?

Convert a year to CSV with df.to_csv(), but a full year of 1-minute rows is easier to handle in pandas or DuckDB.

Is there a free sample to test the code?

Yes. September 2026 at 1-minute, same columns as the pack, no email needed.

Get the data

Free sample · Schema · Ask the AI for your data

Get the XAU/USD packXAU/USD historical dataBacktest guide Free sample

Related guides

XAU/USD is the international spot rate in US dollars per troy ounce, not an MCX contract.