Skip to content

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())