build_value_curve
Creates an interpolated zero, discount, or forward curve from user-supplied date/tenor values and a reference date, without calling the pricing engine.
Instructions
An interpolated curve from explicit values (no engine call).
Args:
id: curve id.
kind: zero (InterpolatedZero), discount (InterpolatedDiscount:
first point must be the reference date with value 1.0) or
forward (InterpolatedFwd: instantaneous continuously-compounded
forwards; Linear/BackwardFlat/ForwardFlat only).
points: [{date: "2026-01-15", value: 0.96}, {tenor: "2Y", value: ...}]
in order; the engine anchors the curve at the first point.
reference_date: YYYY-MM-DD.
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.
preset: take the curve day counter and point calendar/convention
from this preset; or give conventions explicitly.
conventions: {day_counter, calendar, business_day_convention}.
compounding, frequency: zero points only (default Continuous /
Annual; all points share them).
interpolator: default Linear (zero, forward) or LogLinear (discount).
Returns {ok, curve, indices: [], preset, notes}.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| kind | Yes | ||
| points | Yes | ||
| preset | No | ||
| frequency | No | ||
| compounding | No | ||
| conventions | No | ||
| interpolator | No | ||
| reference_date | Yes | ||
| market_data_source | Yes |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||