Data Providers¶
Forex, commodity, and economic calendar data from multiple sources.
Forex¶
from financelib.data_providers import ForexProvider
fx = ForexProvider()
# Current rate
rate = fx.get_rate("USD", "TRY")
print(f"USD/TRY: {rate}")
# Currency conversion
result = fx.convert(1000, "USD", "TRY")
print(f"1000 USD = {result} TRY")
# Historical data
df = fx.get_historical("EUR", "USD", period="3mo")
# Available pairs
pairs = ForexProvider.available_pairs()
print(pairs["try"]) # ['USDTRY', 'EURTRY', ...]
Commodities¶
from financelib.data_providers import CommodityProvider
# Gold price
gold = CommodityProvider.get_price("gold")
print(f"Gold: ${gold}")
# All commodity prices
prices = CommodityProvider.get_prices(["gold", "silver", "crude_oil"])
# Historical
df = CommodityProvider.get_historical("crude_oil", period="6mo")
# Available: gold, silver, platinum, palladium, copper, crude_oil,
# brent_oil, natural_gas, wheat, corn, soybeans, cotton, sugar, coffee, cocoa
Economic Calendar (FRED + TCMB)¶
from financelib.data_providers import EconomicCalendar
eco = EconomicCalendar(fred_api_key="your-key", tcmb_api_key="your-key")
# FRED data
cpi = eco.get_fred_series("us_cpi", start="2020-01-01")
fed_rate = eco.get_fred_series("fed_funds_rate")
# TCMB EVDS data (22 series available)
usdtry = eco.get_tcmb_series("usdtry", start="01-01-2024")
policy = eco.get_tcmb_series("policy_rate")
cpi_tr = eco.get_tcmb_series("cpi_annual")
# Multiple series at once
data = eco.get_tcmb_multiple(["usdtry", "eurtry", "policy_rate"])
# List available series
print(EconomicCalendar.available_fred_series())
print(EconomicCalendar.available_tcmb_series())