Curve Handling
The Vector Risk pricing functions are split into two levels which we call “product” and “pricing”. The inner level “pricing” code is simply the valuation formula, which is given the value date and all the trade details and rates that it needs to price a trade.
The outer level “product” code is responsible for collecting trade details and rates, and sometimes generating cashflows from trade details. This level of the code also works with the risk engine to ensure path sensitive trades are able to track variables (such as barriers or averages) through a trade aging credit simulation.
So it is this outer level product code that decides which rates will be requested to value the trade. The request takes the form of a curve and a term. The requested curve is HARDCODED. The first section "Curve Definitions" describes how curves are named in a consistent way, allowing the product code a standardised way to request rate data from the risk engine.
The second section “Curve Selection” describes the mechanisms in the system to override these hardcoded curves to achieve various outcomes, including the ability to match risk pricing to the front or back office.
The third section “Curve Modelling” describes the features and models that can be ascribed to curves to determine the way they are evolved and interpolated and aligned through basis curve definitions.