🥇 PRIMARY (Historical backbone)
Dukascopy
99% of data
Past → yesterday
🥈 SECONDARY (Live tail)
Finnhub WebSocket (free)
Today → now
For updating charts
Columns explained Column Meaning time: The exact timestamp when this market data was recorded. Here it’s in YYYY-MM-DD HH:MM:SS.sss format. For example: 2026-01-01 22:04:01.135 is January 1st, 2026 at 22:04:01.135. ask: The lowest price at which sellers are willing to sell the currency pair (EUR/USD in your example). This is the price you would buy at. bid: The highest price at which buyers are willing to buy the currency pair. This is the price you would sell at. ask_volume: The volume (number of units/contracts) available at the ask price. For example, 900000 means there are 900,000 units available to buy at that price. bid_volume: The volume available at the bid price. For example, 4500000 means buyers want 4,500,000 units at that price.
Bid-Ask Spread: The difference between bid and ask represents the cost of entering a trade. Smaller spreads = more liquid markets. Larger spreads can indicate volatility or thin liquidity.
Volume: Volume at each price shows market depth: how much money is waiting to trade at certain prices.
Large bid volume vs small ask volume → more buying pressure.
Large ask volume vs small bid volume → more selling pressure.
Time Series: Since this is tick data (high frequency), you can track price changes, spread changes, and liquidity changes over time. For example, two rows with the same timestamp but slightly different ask/bid may indicate multiple orders arriving simultaneously.
This is order book snapshot data at precise times.
You can calculate:
Spread: ask - bid
Imbalance: (bid_volume - ask_volume) / (bid_volume + ask_volume) → shows buying/selling pressure.
Price movement trends or volatility.
Traders and algorithms use this to make scalping, market making, or liquidity-based trading decisions.
X_t = [ current_bid, current_ask, spread, bid_volume, ask_volume, moving_avg_bid_5, moving_avg_ask_5, volatility_5, imbalance ] y_t = [ next_bid, # or next ask, or next spread ]
1️⃣ Macroeconomic Factors
These are the most important drivers of currency value:
Factor How it affects Forex Interest rates Higher interest rates attract foreign capital → currency appreciation. Inflation rates High inflation → currency loses purchasing power → depreciation. GDP growth Strong economic growth → currency strengthens due to investment flows. Unemployment rates High unemployment → weak economy → currency depreciation. Trade balance (exports-imports) Trade surplus → demand for local currency rises → appreciation. Trade deficit → depreciation. Budget deficits / national debt High debt → risk of devaluation; currency may weaken. Central bank policies Quantitative easing, interventions, or forward guidance can shift currency value. Consumer confidence / retail sales Indicates economic health → can influence currency sentiment. Industrial production Strong production → economic strength → currency appreciation.
2️⃣ Political and Geopolitical Factors
Elections and government stability → uncertainty can weaken currency.
Political crises, coups, or unrest → investors flee → depreciation.
Geopolitical tensions / wars → safe-haven currencies like USD, JPY, CHF may rise.
Trade policies / tariffs / sanctions → affect currency by changing trade flows.
3️⃣ Market Sentiment & Psychological Factors
Risk appetite / aversion → investors’ willingness to take risk.
High risk appetite → emerging market currencies rise.
Risk-off → safe-haven currencies strengthen.
Speculation → hedge funds, retail traders’ positions can move prices short-term.
Herding behavior → when many traders follow trends, it amplifies moves.
4️⃣ Technical Factors
Historical price patterns → support/resistance levels, chart patterns.
Moving averages, RSI, MACD, Bollinger Bands → trend and momentum indicators.
Order book data / depth → liquidity and volume at bid/ask levels affect price moves.
Volatility → periods of high volatility often trigger wider spreads and rapid moves.
5️⃣ External / Global Factors
Commodity prices → e.g., oil affects CAD, AUD, RUB.
Gold / precious metals → affects USD and commodity-linked currencies.
Global capital flows → international investment into bonds, stocks, or real estate.
Natural disasters / pandemics → sudden shocks affect currency stability.
6️⃣ High-Frequency / Microstructure Factors (tick-level)
Bid-ask spread → liquidity conditions.
Order flow / volume imbalances → temporary price moves.
News releases → sudden spikes in volatility around macroeconomic reports.
🔹 Summary
Forex is affected by a combination of:
Economic indicators → interest rates, inflation, GDP, trade.
Political/geopolitical events → elections, wars, government stability.
Market psychology → risk sentiment, speculation.
Technical factors → trends, support/resistance, volume.
External/global shocks → commodities, disasters, pandemics.
Microstructure factors → bid/ask, order flow, tick data.
💡 Tip for modeling:
You can categorize features into:
Fundamental: macro + political events
Technical: past prices, volume, order book
Sentiment: news sentiment, risk appetite
Microstructure: bid/ask volumes, spreads
Including all of these may improve your short-term prediction accuracy.