Mengapa ramalan penting seperti jumlah itu sendiri
Pasar valuta asing tidak bergerak pada rilis data mereka bergerak pada kejutan. Federal Reserve atau Bank Sentral Eropa jika pasangan ini mempublikasikan data baru, pasar sudah membentuk harapan jika cetakan sesuai dengan konsensus, pasangan itu hampir tidak bergetar jika menyimpang, Anda mendapatkan lonjakan
Kesenjangan itu jarak antara apa yang diharapkan dan apa yang tiba adalah tempat sebagian besar volatilitas FX tinggal. Untuk bekerja dengan sistematis, Anda perlu akses ke perkiraan bersama dengan pengamatan yang sebenarnya, yang dihubungkan bersama dengan cara yang memungkinkan Anda menghitung kejutan tanpa mencemari data Anda dengan lookahead.
FXMacroData prediksi API dibangun untuk persis alur kerja ini. announcement_id, sehingga Anda dapat menggabungkan prediksi dengan nilai yang direalisasikan, mengukur akurasi prediksi dari waktu ke waktu, dan membangun indeks kejutan untuk setiap indikator dan kombinasi mata uang yang Anda pedulikan.
Apa yang dikembalikan prediksi titik akhir
Dua rute mengekspos data prediksi:
/api/v1/predictions/{currency}semua perkiraan untuk mata uang, di setiap indikator dalam katalog, dengan filter opsional untuk indikator, jenis prediksi, dan sumber./api/v1/predictions/{currency}/{indicator}semua perkiraan untuk pasangan mata uang dan indikator tertentu.
Kedua rute ini gratis untuk USD. Mata uang non-USD membutuhkan kunci API Profesional.
Kelompok respons masuk melalui pengumuman. announcement_id kunci yang stabil dan deterministik dalam bentuk {currency}_{indicator}_{date} diikuti dengan predictions daftar di mana setiap entri mencatat nilai perkiraan, sumbernya, dan label yang dapat dibaca manusia. Inflasi USD:
{
"currency": "USD",
"indicator": "inflation",
"count": 2,
"prediction_count": 3,
"data": [
{
"announcement_id": "usd_inflation_2026-02-28",
"currency": "usd",
"indicator": "inflation",
"date": "2026-02-28",
"announcement_datetime": 1772433000,
"predictions": [
{
"predicted_value": 2.9,
"prediction_type": "market_consensus",
"prediction_source": "philly_fed_spf",
"prediction_source_label": "Philadelphia Fed Survey of Professional Forecasters"
}
]
},
{
"announcement_id": "usd_inflation_2026-03-31",
"currency": "usd",
"indicator": "inflation",
"date": "2026-03-31",
"predictions": [
{
"predicted_value": 2.6,
"prediction_type": "market_consensus",
"prediction_source": "philly_fed_spf",
"prediction_source_label": "Philadelphia Fed Survey of Professional Forecasters"
},
{
"predicted_value": 2.5,
"prediction_type": "imf_weo",
"prediction_source": "imf_weo",
"prediction_source_label": "IMF World Economic Outlook"
}
]
}
]
}
- Apa? announcement_id pada setiap baris prediksi adalah identik dengan yang dikembalikan oleh /api/v1/announcements/{currency}/{indicator}, jadi sebuah kamus sederhana bergabung adalah semua yang Anda butuhkan untuk pasangan setiap perkiraan dengan pengamatan yang direalisasikan.
Kategori sumber prediksi
Lima. prediction_type memahami perbedaan penting untuk bagaimana Anda berat dan menafsirkan setiap perkiraan:
| Prediksi_jenis | Apa itu? | Contoh sumber |
|---|---|---|
market_consensus |
Survei pasar yang disusun oleh peramal profesional | Philadelphia Fed SPF, jajak pendapat Reuters |
market_prediction |
Prediksi poin individu profesional-forecaster | Data survei terpecah-pecah di tingkat peramal |
survey |
Survei bank sentral terhadap peramal profesional | Survei ECB terhadap Peramal Profesional |
central_bank_forecast |
Proyeksi resmi bank sentral yang diterbitkan dalam pernyataan kebijakan moneter | RBNZ Pernyataan Kebijakan MoneterAku akan pergi. Laporan Kebijakan Moneter BoC |
imf_weo |
Proyeksi IMF World Economic Outlook | Dipublikasikan dua kali setahun, semua mata uang yang didukung |
Each source serves a different analytical purpose. Market consensus is the short-horizon market expectation that drives immediate FX reaction on release day. Central-bank forecasts reflect the institution's own outlook and are useful for tracking how much the bank's projections evolve between meetings. IMF WEO forecasts provide a neutral multi-year baseline and are consistent across all 18 covered currencies, making them useful for cross-currency comparisons.
Membangun indeks kejutan di Python
Aplikasi paling langsung dari API prediksi adalah menghitung indeks kejutan rilis penyimpangan cetak aktual dari harapan pasar, dinyatakan dalam standar penyimpang kejutan historis. US Non-Land Rental:
import requests
import statistics
BASE = "https://fxmacrodata.com/api"
# Fetch predictions — free for USD, no key needed
preds_resp = requests.get(
f"{BASE}/v1/predictions/usd/non_farm_payrolls",
params={"prediction_type": "market_consensus"},
timeout=30,
).json()
# Fetch actuals
actuals_resp = requests.get(
f"{BASE}/v1/announcements/usd/non_farm_payrolls",
params={"start_date": "2020-01-01"},
timeout=30,
).json()
# Index actuals by announcement_id
actuals = {row["announcement_id"]: row["val"] for row in actuals_resp["data"]}
# Compute surprises (actual - consensus)
surprises = []
for group in preds_resp["data"]:
aid = group["announcement_id"]
actual = actuals.get(aid)
if actual is None:
continue
# Use the first (or only) prediction in the group
forecast = group["predictions"][0]["predicted_value"]
surprises.append({
"date": group["date"],
"actual": actual,
"forecast": forecast,
"surprise": actual - forecast,
})
# Normalise to z-scores
values = [s["surprise"] for s in surprises]
mean = statistics.mean(values)
stdev = statistics.stdev(values)
for s in surprises:
s["z_score"] = (s["surprise"] - mean) / stdev
# Print recent surprises
for s in surprises[-6:]:
direction = "↑ beat" if s["z_score"] > 0 else "↓ miss"
print(f"{s['date']}: actual={s['actual']:,.0f}k forecast={s['forecast']:,.0f}k "
f"surprise={s['surprise']:+,.0f}k z={s['z_score']:+.2f} {direction}")
Hasilnya memberikan Anda serangkaian waktu kejutan normalisasi yang dapat berkorelasi langsung dengan pergerakan spot USD pada hari rilis untuk mengukur koefisien transmisi kejutan ke FX untuk indikator tertentu.
Membandingkan perkiraan bank sentral dengan konsensus pasar
Sebuah sinyal yang berguna dalam pasangan mata uang yang sensitif terhadap suku bunga adalah perbedaan antara apa yang diproyeksikan bank sentral dan apa yang diharapkan pasar. Ketika keduanya konvergen, itu seringkali menandakan bahwa pasar telah sepenuhnya mencerna panduan bank. Ketika mereka berbeda, itu dapat menunjukkan celah kredibilitas atau asimetri informasi yang sebenarnya antara bank dan sisi beli.
Anda dapat mengambil kedua jenis perkiraan dalam satu permintaan dan menghitung divergensi langsung:
import requests
# Fetch all prediction types for EUR inflation together
resp = requests.get(
"https://fxmacrodata.com/api/v1/predictions/eur/inflation",
params={"api_key": "YOUR_API_KEY"},
timeout=30,
).json()
# For each announcement group, compare central_bank_forecast vs market_consensus
for group in resp["data"]:
preds_by_type = {p["prediction_type"]: p for p in group["predictions"]}
cb = preds_by_type.get("central_bank_forecast")
mkt = preds_by_type.get("market_consensus")
if cb and mkt:
divergence = cb["predicted_value"] - mkt["predicted_value"]
print(f"{group['date']}: CB={cb['predicted_value']:.2f}% "
f"Market={mkt['predicted_value']:.2f}% "
f"Divergence={divergence:+.2f}pp "
f"({cb['prediction_source_label']})")
Perbedaan positif (bank sentral memproyeksikan inflasi yang lebih tinggi dari pasar) biasanya merupakan sinyal yang tajam. Bank baik memiliki informasi non-publik atau sengaja memberi sinyal toleransi untuk inflasi di atas target. Perbedaan yang positif yang berkelanjutan secara historis telah mendahului kenaikan kejutan di beberapa pasangan mata uang yang dilacak pada . Kalender rilisAku tidak tahu.
Perbandingan antara perkiraan mata uang dengan IMF WEO
Karena proyeksi WEO IMF ada untuk setiap mata uang yang tercakup dan menggunakan metodologi yang konsisten, mereka sangat cocok untuk perbandingan lintas mata uang. PDB perkiraan untuk empat mata uang utama yang terkait dengan komoditas dan menata mereka menurut pertumbuhan yang diharapkan:
import requests
API_KEY = "YOUR_API_KEY"
CURRENCIES = ["aud", "cad", "nzd", "brl"]
forecasts = {}
for ccy in CURRENCIES:
resp = requests.get(
f"https://fxmacrodata.com/api/v1/predictions/{ccy}/gdp",
params={"prediction_type": "imf_weo", "api_key": API_KEY},
timeout=30,
).json()
if resp.get("data"):
# Take the most recent forecast
latest = resp["data"][-1]
forecasts[ccy.upper()] = latest["predictions"][0]["predicted_value"]
# Rank by projected growth
ranked = sorted(forecasts.items(), key=lambda x: x[1], reverse=True)
print("IMF WEO GDP forecast ranking:")
for rank, (ccy, val) in enumerate(ranked, 1):
print(f" {rank}. {ccy}: {val:.1f}% YoY")
Peringkat semacam ini secara alami memberi makan kerangka nilai relatif untuk pasangan mata uang komoditas seperti AUD/CAD atau NZD/AUD, di mana perbedaan pertumbuhan adalah pendorong utama posisi carry jangka menengah.
Menganalisis sumber prediksi
Ketika satu pengumuman memiliki beberapa prediksi dari sumber yang berbeda, Anda mungkin ingin mengisolasi satu tertentu. prediction_source parameter query dengan slug sumber stabil:
# Philadelphia Fed Survey of Professional Forecasters only
curl "https://fxmacrodata.com/api/v1/predictions/usd/inflation?prediction_source=philly_fed_spf"
# ECB Survey of Professional Forecasters (requires API key)
curl "https://fxmacrodata.com/api/v1/predictions/eur/inflation?prediction_source=ecb_spf&api_key=YOUR_API_KEY"
# RBNZ Monetary Policy Statement (requires API key)
curl "https://fxmacrodata.com/api/v1/predictions/nzd/inflation?prediction_source=rbnz_mps&api_key=YOUR_API_KEY"
# IMF World Economic Outlook
curl "https://fxmacrodata.com/api/v1/predictions/usd/inflation?prediction_source=imf_weo"
- Apa? prediction_source_label kolom dalam tanggapan memberikan nama sumber yang dapat dibaca manusia, cocok untuk label grafik dan catatan kaki laporan. prediction_source peluru untuk penyaringan dan penggabungan program.
Menggunakan kalender rilis untuk perkiraan mendatang
- Apa? Kalender rilis Anda dapat menggunakan data kalender untuk memperlihatkan data yang akan dirilis pada setiap versi yang akan datang.
import requests
from datetime import date
API_KEY = "YOUR_API_KEY"
BASE = "https://fxmacrodata.com/api"
# Get upcoming USD releases
calendar = requests.get(f"{BASE}/v1/calendar/usd").json()
upcoming = [row for row in calendar["data"] if row.get("release")]
# For each upcoming release, fetch the current consensus prediction
for release in upcoming[:5]:
indicator = release["release"]
preds = requests.get(
f"{BASE}/v1/predictions/usd/{indicator}",
params={"prediction_type": "market_consensus"},
timeout=30,
).json()
if preds.get("data"):
latest_pred = preds["data"][-1]
if latest_pred.get("predictions"):
val = latest_pred["predictions"][0]["predicted_value"]
print(f"{indicator}: consensus={val}")
Ringkasan referensi titik akhir
Dokumentasi parameter lengkap tersedia di Halaman referensi APITabel di bawah ini memberikan referensi cepat untuk dua rute prediksi:
| Parameter | Jenis | Deskripsi |
|---|---|---|
currency | jalur | Kode mata uang 3 huruf. USD gratis; yang lain membutuhkan kunci. |
indicator | jalur atau query | Slang indikator (misalnya inflationAku akan pergi. policy_rateAku akan pergi. gdpJalan di /{currency}/{indicator} rute; pertanyaan opsional pada /{currency}Aku tidak tahu. |
prediction_type | pertanyaan | Salah satu market_consensusAku akan pergi. market_predictionAku akan pergi. surveyAku akan pergi. central_bank_forecastAku akan pergi. imf_weoAku akan pergi. fxmacrodataAku tidak tahu. |
prediction_source | pertanyaan | Slang sumber stabil (misalnya philly_fed_spfAku akan pergi. ecb_spfAku akan pergi. imf_weo)). |
start_date / end_date | pertanyaan | Rentang tanggal periode (YYY-MM-DD). Default untuk berlangsung 12 bulan / hari ini. |
api_key | pertanyaan | Kunci API profesional. Dibutuhkan untuk mata uang non-USD. |
API prediksi dirancang untuk duduk di samping inflasiAku akan pergi. suku bunga kebijakan, dan halaman tinjauan indikator lainnya di mana perbandingan lintas mata uang paling berguna dan Kalender rilis, dimana waktu pengumuman mendatang memenuhi perkiraan yang mendahului mereka.