Curve Redirection
Proxy
A proxy is a replacement curve to be used when the curve hardcoded in the pricing library is not available. So the rule is to use the real curve if available and revert to the proxy curve if the real curve is unavailable. When proxies are used a warning is triggered (note: the risk engine filters out warnings of the same type on the same curve to avoid an avalanche of repetitive warnings being generated by a simulation calculation).
Proxies can be applied at the global level, or at a product group level (for example all FX products) or at a product level. The product group associated with a product can be seen in the Inspect Product tab in the Utility section of the GUI.
For example, it might be appropriate to proxy an exotic currency’s zero curve to another zero curve for spot FX pricing as it has little influence on the price, but inappropriate to use this proxy for an interest rate swap.
Product level proxies take precedence over global proxies. Proxies of proxies are also allowed but the system will throw an error if multiple proxies of the same precedence could be applied that would resolve as more than one possible proxy curve outcome.
Curve Override
A curve override is a replacement curve to be used instead of the hardcoded curve in the product code. The rule is to use the override curve if available and throw an error if the override is unavailable. The logic extends a little further to allow a proxy to the override curve to be used if the override curve is unavailable. Note though that the original hardcoded curve is never used if an override is defined.
Curve overrides are implemented with wildcards, so a single curve override expression can cater for a similar override for all currencies (eg all money market zero curves to be replaced with FX zero curves for the product FX Forwards). Even double wildcard matches ($1, $2) can be used.
The override can only kick in directly over the hardcoded curve, so an override of an override is not supported.
Curve Reference
A curve reference is a user defined description for a curve. It consists of the description and the Vector Risk curve key to which it relates. Products can be defined such that some of their trade fields contain curve references. The product code is then able to request a different curve depending on the value in the curve reference. An example of where these might be used is the discount curve in a variable cash flow. The curve that is ultimately requested by the product code may be replaced by a curve override or proxy curve according to the rules described above, though it is unlikely that a curve override would ever be needed after a curve reference has been applied.