# Banks, treasury & ALM

Treasury, ALM and market-risk teams need the rate environment every day, and the history behind it for stress tests. PakDataHub puts all of it behind one key.

## The rate stack

| Need | Series |
|---|---|
| Today's KIBOR (bid and offer) | `rates.kibor.3m`, `rates.kibor.6m`, `rates.kibor.1y` |
| KIBOR history for backtests (daily, 2005 ->) | `rates.kibor.3m`, `rates.kibor.6m`, `rates.kibor.1y` (`dims=side:offer` or `side:bid`) |
| Daily interbank USD/PKR for revaluation | `fx.rate.m2m.usd` (SBP M2M rate), `fx.rate.interbank.usd` |
| Policy-rate corridor | `rates.policy`, `rates.policy.floor`, `rates.policy.ceiling`, `rates.policy_target` |
| Overnight money market | `rates.repo.overnight` (daily, from SBP's market snapshot), `rates.weighted_average_overnight_repo_rate` (history) |
| Government yield curve (20 tenors, daily) | `rates.pkrv.1m` ... `rates.pkrv.20y`; Islamic curve `rates.pkisrv.*` |
| Primary-market auctions | [`/v1/fixed-income/auctions`](https://pakdatahub.com/docs/api-auctions.md), `rates.auction.tbill.3m.cutoff_yield`, `rates.auction.pib.10y.cutoff_yield` |
| Floating PIB and Sukuk prices | [`/v1/securities`](https://pakdatahub.com/docs/api-securities.md) |

## Balance sheet & system context

- **Liquidity and funding:** `banking.m2`, `banking.total_deposits_with_scheduled_banks`, weekly `banking.broad_money_liability_side_2`.
- **Asset quality benchmarks:** `banking.npl.*` (NPLs by segment) and `sme.npl_ratio`.
- **Who holds government paper:** `debt.mtb_holding_banks`, `debt.pib_holding_banks`, `debt.gis_holding_banks`.

## Example: build today's curve

```python
import httpx, pandas as pd
H = {"X-API-Key": "pk_live_xxx"}
tenors = ["1m", "3m", "6m", "1y", "2y", "3y", "5y", "10y", "15y", "20y"]
curve = {t: httpx.get(f"https://api.pakdatahub.com/v1/series/rates.pkrv.{t}/latest", headers=H)
            .json()["data"][0]["value"] for t in tenors}
print(pd.Series(curve))
```

## Example: a KIBOR stress window

```bash
# 6-month KIBOR offer through the 2022-23 tightening cycle
curl -H "X-API-Key: pk_live_xxx" \
  "https://api.pakdatahub.com/v1/series/banking.six_months_karachi_interbank_offer?from=2022-01-01&to=2024-12-31&sort=asc&format=csv"
```

## Why teams use it

- **One format:** every series comes back the same way, so the curve, KIBOR and auctions join by date without any scraping.
- **Reproducible regulatory work:** [revision vintages](https://pakdatahub.com/docs/api-vintages.md) (Pro) return data exactly as it stood on a past date.
- **No polling:** [webhooks](https://pakdatahub.com/docs/api-webhooks.md) tell your systems when a new KIBOR fixing or auction result lands.

---
Source: https://pakdatahub.com/docs/use-case-banks-treasury - PakDataHub docs index: https://pakdatahub.com/docs/llms.txt
