QS.EVALUATE.RANGE

Prices instruments against one context or paired context handles; dated contexts run across workers and scalar results spill in input order

Category: QuantSupport - Pricing.

QS.EVALUATE.RANGE(context: cell or range, instruments: cell or range, request_name: text or blank, pricer: text or blank, policy: text or blank, transpose: logical or blank) → spilled range
Parameters:
  • context (cell or range) – One committed context handle for the whole range, or an independent handle array aligned one-for-one with instruments; paired contexts price across workers

  • instruments (cell or range) – Contract or trade handle(s); contracts use Receive at the context date and contractual notional; use a trade for explicit side/date/quantity or bond anchor

  • request_name (text or blank) – One request: Value (omitted or blank default), FairRate(index), YieldToMaturity, ModifiedDuration, ZSpread, OAS; QS.EVALUATE also returns Cashflows or Sensitivities tables

  • pricer (text or blank) – Optional explicit pricer handle; blank selects the product’s native pricer and the context base discount curve; swaptions require an explicit configured pricer

  • policy (text or blank) – Optional discount-policy handle for the default native pricer; omitted or blank uses the context policy; leave blank when passing an explicit configured pricer

  • transpose (logical or blank) – Optional TRUE transposes the entire spill; omitted or blank defaults to FALSE; table headers move with their fields

Returns:

One scalar per instrument in input order, with no stored evaluation objects. Historical batches reuse each distinct selected market and preserve its actual valuation date. transpose=TRUE exchanges rows and columns; omitted transpose defaults to FALSE. Empty output returns a blank cell.

Return Type:

spilled range

Errors:

#VALUE! for invalid or misaligned inputs, blank historical timestamps/instruments, stale handles, unsupported scalar requests, missing markets or pricing failure. Historical errors identify the input row. Invalid transpose/headers flags return #VALUE!; use TRUE/FALSE or leave optional flags blank.

Formula

=QS.EVALUATE.RANGE(context, instruments, request_name, pricer, policy, transpose)

Calculation

Runs on Excel’s main calculation thread.

Native Declaration

fn qs_evaluate_range (context : * const XLOPER12 , instruments : * const XLOPER12 , request_name : Option < String > , pricer : Option < String > , policy : Option < String > , transpose : * const XLOPER12 ,) -> Result < * mut XLOPER12 , XllError >

Rust source