بيانات الأسواق الناشئة: مقارنة التضخم والفائدة والنمو

تغطية الأسواق الناشئة غير متساوية، لذا تحتاج المقارنة إلى اختبار للتغطية. تعيد Narwhal التضخم الشهري وسعر الفائدة الرئيسي ونمو الناتج المحلي الإجمالي لإندونيسيا والبرازيل، وسلاسل World Bank السنوية للدول التي لا تحتوي مساراتها الشهرية على بيانات.

طلب التضخم لسوق ناشئة واحدة

curl، التضخم في إندونيسيا
curl -s "https://api.narwhalapi.com/v1/economics/IDN/inflation" \
  -H "Authorization: Bearer $NARWHAL_API_KEY"
الاستجابة
{
  "country": "IDN",
  "period": "2026-09",
  "year_over_year": "3.28",
  "month_over_month": "0.3",
  "released_on": "2026-10-29",
  "source": {
    "publisher": "Statistics Indonesia (BPS)",
    "distributor": "OECD"
  }
}

year_over_year وmonth_over_month نسبتان مئويتان، وperiod هو الشهر المغطى، وreleased_on هو يوم صدور الرقم. وعندما يكون مكتب الإحصاء معروفا، يذكر source الجهة الناشرة والجهة الموزعة. مسار سعر الفائدة الرئيسي له الشكل نفسه لكل دولة: أعاد GET /v1/economics/{country}/central-bank/policy-rate القيمة rate 5.75 لإندونيسيا مع instrument هو bi_rate، و13.75 للبرازيل مع instrument هو selic_target. ويأتي النمو من GET /v1/economics/{country}/gdp-growth.

اختبار الدول التي تستجيب

تختلف التغطية باختلاف الدولة والسلسلة، لذا اختبر كل زوج بدلا من افتراض اكتمال المجموعة. هذه نتائج HTTP لست أسواق ناشئة كبيرة.

الدولةالتضخمسعر الفائدة الرئيسينمو الناتج المحلي الإجماليالبطالة
إندونيسيا (IDN)200200200404
البرازيل (BRA)200200200404
المكسيك (MEX)200404200200
الهند (IND)404404200200
جنوب أفريقيا (ZAF)404404200200
تركيا (TUR)404404404404

يحمل الرمز 404 رمز المشكلة series_not_found. ويعني أن هذا المسار لا يحتوي على سلسلة منشورة لتلك الدولة، فاعتبره فجوة وتابع. شغّل الحلقة نفسها على أي رموز دول أخرى تحتاجها قبل تصميم الجدول، لأن تشغيلا واحدا يبين أي خلايا الشبكة يمكن ملؤها من المسارات الشهرية وأيها يحتاج إلى البديل السنوي.

قراءة النمو للدول نفسها

يعيد GET /v1/economics/{country}/gdp-growth الحقول year_over_year وquarter_over_quarter وperiod وreleased_on. تختلف تواريخ الإصدار كثيرا بين الدول، لذا اطبع released_on بجانب الرقم.

الدولةالفترةعلى أساس سنويعلى أساس ربع سنويتاريخ الإصدار
إندونيسيا2026-Q25.31.32026-10-30
البرازيل2026-Q21.90.52026-10-30
المكسيك2026-Q21.91.42026-08-24
جنوب أفريقيا2026-Q20.9-0.22026-09-08

تحتوي استجابة جنوب أفريقيا على year_over_year_not_seasonally_adjusted، وتحتوي استجابة الهند على not_seasonally_adjusted. اقرأ هاتين العلامتين قبل وضع دولتين في رسم بياني واحد.

سد الفجوات ببيانات World Bank السنوية

حتى عندما لا يحتوي المسار الشهري على سلسلة، قد يحتفظ الفهرس بسلسلة سنوية. يبحث GET /v1/economics/catalogue بالمعاملين q وsource. والبحث عن التضخم في المصدر wdi يعيد id_template فيه خانة {country}. استبدل الخانة برمز الدولة من ثلاثة أحرف صغيرة، مثل wdi:fp.cpi.totl.zg/ind للهند.

curl، البحث عن التضخم في الفهرس
curl -s "https://api.narwhalapi.com/v1/economics/catalogue?source=wdi&q=inflation&limit=1" \
  -H "Authorization: Bearer $NARWHAL_API_KEY"
الاستجابة، النتيجة الأولى
{
  "results": [
    {
      "id_template": "wdi:fp.cpi.totl.zg/{country}",
      "source": "wdi",
      "title": "Inflation, consumer prices (annual %)",
      "frequency": "annual",
      "unit_label": "Inflation, consumer prices (annual %)"
    }
  ]
}

اقرأ المشاهدات عبر GET /v1/economics/catalogue/series/observations?id=... مع استخدام start وend كسنوات للسلسلة السنوية. تكرر كل استجابة attribution وlicence_url، فاحتفظ بهما بجانب أي رسم بياني. تركيا اختبار جيد لأن المسارات الشهرية لا تحتوي على شيء لها.

curl، التضخم السنوي في تركيا
curl -s "https://api.narwhalapi.com/v1/economics/catalogue/series/observations?id=wdi:fp.cpi.totl.zg/tur&start=2024&end=2025" \
  -H "Authorization: Bearer $NARWHAL_API_KEY"
الاستجابة، التضخم السنوي في تركيا
{
  "id": "wdi:fp.cpi.totl.zg/tur",
  "title": "Inflation, consumer prices (annual %), Turkiye",
  "country": "TUR",
  "frequency": "annual",
  "unit_label": "Inflation, consumer prices (annual %)",
  "attribution": "World Bank, World Development Indicators, CC BY 4.0. Values normalised by Narwhal.",
  "observations": [
    {
      "period": "2024",
      "value": "58.5064492168435"
    },
    {
      "period": "2025",
      "value": "34.8811700293777"
    }
  ]
}

وضع الدول جنبا إلى جنب

  1. اطلب البيانات الشهرية أولا يطلب السكربت لكل دولة التضخم وسعر الفائدة الرئيسي. ويعيد None عند الحصول على 404.
  2. الرجوع إلى السلسلة السنوية إذا غاب التضخم الشهري، يقرأ السكربت سلسلة World Bank السنوية لعام 2025 ويضع على السطر تسمية سنوي. ويعيد المحاولة مرة واحدة عند الحصول على 503.
  3. حساب الفارق عندما يتوفر التضخم وسعر الفائدة الرئيسي معا، يطبع سعر الفائدة الرئيسي ناقص التضخم بالنقاط المئوية.
    Python، ست دول
    import os
    import time
    import requests
    
    BASE = "https://api.narwhalapi.com"
    HEAD = {"Authorization": f"Bearer {os.environ['NARWHAL_API_KEY']}"}
    
    def get(path, **params):
        for _ in range(2):
            r = requests.get(BASE + path, params=params, headers=HEAD, timeout=15)
            if r.status_code != 503:
                break
            time.sleep(3)
        if r.status_code == 404:
            return None
        r.raise_for_status()
        return r.json()
    
    for c in ("IDN", "BRA", "MEX", "IND", "ZAF", "TUR"):
        infl = get(f"/v1/economics/{c}/inflation")
        rate = get(f"/v1/economics/{c}/central-bank/policy-rate")
        if infl:
            line = f"{c} inflation {infl['year_over_year']}% ({infl['period']})"
        else:
            wb = get("/v1/economics/catalogue/series/observations",
                     id=f"wdi:fp.cpi.totl.zg/{c.lower()}", start="2025", end="2025")
            v = wb["observations"][0]
            line = f"{c} inflation {float(v['value']):.2f}% (annual {v['period']}, World Bank)"
        if rate:
            line += f" | policy rate {rate['rate']}%"
            if infl:
                line += f" | gap {float(rate['rate']) - float(infl['year_over_year']):.2f}"
        else:
            line += " | no policy rate"
        print(line)

طبع التشغيل ما يلي.

الدولةالتضخمالأساسسعر الفائدة الرئيسيسعر الفائدة الرئيسي ناقص التضخم
IDN3.28%شهري، 2026-095.75%2.47
BRA4.58%شهري، 2026-0913.75%9.17
MEX3.45%شهري، 2026-09لا شيءلا شيء
IND2.40%سنوي، 2025لا شيءلا شيء
ZAF3.21%سنوي، 2025لا شيءلا شيء
TUR34.88%سنوي، 2025لا شيءلا شيء

لا ترتب الصفوف السنوية مع الشهرية. فمعدل التغير السنوي لشهر واحد ومعدل سنة كاملة يغطيان مدتين مختلفتين، لذا يوضع عمود Basis بجانب كل رقم.

لماذا يبدو فارق الفائدة في البرازيل أكبر بكثير منه في إندونيسيا؟

الفارق هو سعر الفائدة الرئيسي ناقص التضخم على أساس سنوي، أي 13.75 ناقص 4.58 للبرازيل و5.75 ناقص 3.28 لإندونيسيا. وهو فرق بسيط بين رقمين منشورين. وللصيغة الدقيقة التي تقسم واحدا زائد السعر على واحد زائد التضخم، راجع حساب سعر الفائدة الحقيقي.

هل يمكنني الحصول على دولة بلا سلسلة بتغيير المسار؟

لا تغطي المسارات الشهرية كل الدول. ابحث في الفهرس عن سلسلة بالمعنى نفسه، كما في مثال تركيا، واقرأ frequency الخاص بها قبل مقارنتها برقم شهري.

لماذا أعاد طلب الفهرس الرمز 503؟

قد تعيد سلسلة World Bank التي لم تُقرأ من قبل الرمز 503 مع الرمز upstream_busy. وقد نجح طلب ثان بعد ثوان قليلة للسلسلة التي اختُبرت، لذا ينتظر السكربت ويعيد المحاولة مرة واحدة. أما بحث الفهرس نفسه فاستجاب بـ 200 في كل مرة، وظهر 503 عند قراءة السلسلة.

نُشر في .

الخطوات التالية