key_rate_ladder
Computes key-rate DV01s by bumping each curve pillar individually and in parallel to measure per-tenor interest rate risk.
Instructions
Key-rate DV01 ladder: one bump per pillar of a curve, plus a parallel bump.
Args:
market, trade, bump_bp, method, as_of: as in swap_dv01.
market_data_source: where the market numbers in this call come from. user_pasted
(the user pasted or typed the numbers in this conversation), user_file (the
user attached a file/screenshot the numbers were read from), engine_example
(an engine example's pricing block, only when the user explicitly asked to run
an example), session (a market previously stored in this session, which
itself came from one of the above). There is no value for estimated, recalled or
placeholder data. If you would have to invent numbers, do not call this tool:
ask the user for the data.
curve: id of the curve whose pillars are the buckets (default: the trade's
discounting curve). Buckets are that curve's ACTUAL points in wire order.
Result: ladder = ordered [{pillar, quote_from, quote_up / quote_down, npv_up / npv_down, dv01}], parallel (all pillars bumped together),
sum_of_buckets (sum of the ladder dv01s), definitions (the exact difference
per method) and calls = base + parallel + one complete pricing result per pillar
and side (centered: 1 + 2 + 2 x pillars calls). Reprices run concurrently, bounded by
QUANTRA_MAX_CONCURRENCY.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| as_of | No | ||
| curve | No | ||
| trade | Yes | ||
| market | Yes | ||
| method | No | centered | |
| bump_bp | No | ||
| request_id | No | ||
| calendar_overrides | No | ||
| market_data_source | Yes |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||