Pandas Ready
Historical Forex Data
for Python
Pandas-ready Parquet format. Load 9 million rows in seconds. No API rate limits. No monthly subscriptions. Just clean data.
12x
Faster than CSV
10x
Smaller files
200M+
Data points
Quick Start
Load millions of rows in seconds
quickstart.py
import pandas as pd
# Load M1 data - millions of rows in seconds
df = pd.read_parquet('EURUSD_M1.parquet')
print(f"Rows: {len(df):,}")
print(df.head())
# Output:
# Rows: 9,421,043
# timestamp open high low close volume
# 0 2000-01-03 00:00:00 1.0088 1.0088 1.0085 1.0085 422-3s
Load time (M1)~180MB
File size (vs 2GB CSV)Native
datetime64 typesWhy Parquet instead of CSV?
| Metric | CSV | Parquet |
|---|---|---|
| File Size (EUR/USD M1) | ~2.1 GB | ~180 MB |
| Load Time | 45-60 seconds | 2-3 seconds |
| Type Preservation | Lost (strings) | Native dtypes |
| Datetime Handling | Needs parsing | Already datetime64 |
| Compression | None | Snappy (built-in) |
Why download vs API?
API Subscription (Polygon, Quandl)
- $50-100/month ongoing cost
- Rate limits slow down backtests
- Internet required for every run
- API changes break your code
One-Time Download (Us)
- $49-129 one-time, own forever
- No rate limits, instant access
- Works offline, on any machine
- Parquet format is stable, standard
Math: At $75/month for Polygon, you'd pay $900/year. Our full bundle is $129 one-time. Break even in less than 2 months.
Common Patterns
Load Multiple Pairs
majors = ['EURUSD', 'GBPUSD', 'USDJPY', 'USDCHF']
data = {pair: pd.read_parquet(f'{pair}_H1.parquet') for pair in majors}
eurusd = data['EURUSD'].set_index('timestamp')Resample Timeframes
df = pd.read_parquet('EURUSD_M1.parquet').set_index('timestamp')
# M1 to H4
df_h4 = df.resample('4H').agg({
'open': 'first', 'high': 'max',
'low': 'min', 'close': 'last', 'volume': 'sum'
}).dropna()Calculate Returns
df = pd.read_parquet('EURUSD_D1.parquet').set_index('timestamp')
df['returns'] = df['close'].pct_change()
volatility = df['returns'].std() * np.sqrt(252)
print(f"Annual volatility: {volatility:.2%}")Works With
PandasNumPyBacktesting.pyVectorBTscikit-learnTensorFlowPyTorchDuckDB
Start building
Get instant access to 25 years of clean forex data. One-time purchase, use forever.
Secure Stripe Checkout
7-day refund guarantee
$15
Single Pair
Popular
$49
8 Major Pairs
$129
All 66 Pairs
Parquet format included. CSV add-on available for +$10.