Zero Curve

 

Download PDF - Zero Curve

 

Zero curves can be created from offset points, derived from underlying instruments, or derived from underlying instruments with convexity adjustment to futures.

Zero curve from offset points
Zero curve from underlying instruments
Blended zero curve
Zero curve with convexity adjustments
Agency option adjusted spread curve
Pricer configuration

 

From the Calypso Navigator, navigate to Market Data > Interest Rate Curves > Zero Yield Curve (menu action marketdata.CurveZeroWindow).

 

1. General Curve Information

The name of the curve is set upon saving. It will identify the curve throughout the system.
The instance of the curve dictates the quote side of the underlying instruments to be used for generating the curve.
The CLOSE instance uses CLOSE quotes.
The LAST instance uses BID, MID, and ASK quotes.
The OPEN instance uses OPEN quotes.
By default, the curve is saved as of the current date and time. You can clear the Current checkbox and change the curve date and time as needed.
You can change the precision of the discount factors using Utilities > Set Df Precision - Default is 8.

 

Curve Update

You can use the scheduled task PROP_RATE_1BUSDAY to roll the quotes which are not liquid.

You can use the scheduled task GENERATE_CURVE to regenerate a curve as of the current valuation date.

 

Setup Information

The environment property INT_CURVE_INTERP_RATE_B impacts the zero curve.

If INT_CURVE_INTERP_RATE_B = Y (Default value), curves are interpolated on the zero rates.
If INT_CURVE_INTERP_RATE_B = N, curves are interpolated on the discount factors.

 

However, you can override the interpolation space at the curve level using the "Interp As" field in the curve definition window:

Default - Uses the value of environment property INT_CURVE_INTERP_RATE_B.
Rate - Interpolates the curve on the zero rates, regardless of environment property INT_CURVE_INTERP_RATE_B.
DiscountFactor - Interpolates the curves on the discount factors, regardless of environment property INT_CURVE_INTERP_RATE_B.

 

Graph Panel

Once a curve is generated, you can select the Graph panel to view the curve in graphical form.

 

Curve Generation Monitoring

The debug category "CurveGenInputs" logs the inputs passed to the curve generator from the curve (underlyings, generator parameters, quotes, points, underlying market data items) and some information from the pricing environment, such as quotes and pricing parameters.

This debug category is supported for all yield curve generators, and only for a few other generators (FXPoints, Probability).

 

2. Generating Zero Curves From Offsets

 

Zero Curve from Offsets Quick Reference

Configuration Requirements

Rate Index Definition – From the Calypso Navigator, navigate to Configuration > Interest Rates > Rate Index Definitions.

Curve Generation

1. Click New to start a new curve.

2. Definition Panel — Select the following information to define the curve: currency, index, tenor, holidays, “Generate from instruments” should be unchecked, interpolator, interpolation space, generation algorithm, curve type set to “CurveZero”, Pricing Env.

3. Offsets Panel — Select the tenors and dates.

4. Points Panel — Click Generate to generate the points. Enter the zero rates.

5. Click Save, and enter a curve name.

Pricer Configuration

Assign the zero curve from offsets as a discount curve and/or as a forecast curve.

 

2.1 Definition Panel

Click New to start a new curve.

Select the following to define the curve: currency, index, tenor, holidays, “Generate from instruments” should be unchecked, interpolator, interpolation space, generation algorithm, curve type set to “CurveZero”, Pricing Env.

 Ⓘ   [NOTE: You can click ... next to the "Discount Curve" field to select a discount curve for retrieving the discount factors - The zero curve will only compute the forward points]

 

2.2 Offsets Panel

Click the Offset tab, and select tenors and dates.

» Select the offsets in the left panel, and click >> to add them to the Selection panel.
» Specific Tenors - You can add specific tenors to the list. Enter the number, select the type of tenor, and click Add Specific Tenor.
» Specific Dates - Alternatively, you can enter specific dates for the offsets and click Add to list them in the panel below.

 

2.3 Points Panel

Click the Points tab, and click Generate to generate the point grid.

» You can adjust the daycount and frequency as needed. The default values come from the selected rate index. You will be prompted to recalculate the zero rates or the discount factors.
» You can enter the zero rates manually, or copy and paste from an Excel spreadsheet.

 

2.4 Save Curve

Click Save at the bottom of the window to save the curve. You will be prompted to enter a curve name.

 

3. Generating Derived Zero Curves

 

Zero Curve from Underlying Instruments Quick Reference

Configuration Requirements

Rate Index Definition – From the Calypso Navigator, navigate to Configuration > Interest Rates > Rate Index Definitions.

Curve Underlying Instruments

You can use the following types of underlying instruments for building zero curves: Money Market, FRA, Future, Bond Future, Swap, Spread, Turn Rate, and Bond.

To define underlying instruments, navigate to Configuration > Market Data > Curve Underlyings from the Calypso Navigator, or click New/Edit Underlying in the Underlying panel of the Curve window.

Curve Generation

1. Click New to start a new curve.

2. Select the curve instance.

3. Definition Panel — Select the following information to define the curve: currency, index, tenor, “Generate from instruments” should be checked, interpolator, interpolation space, generation algorithm, curve type set to “CurveZero”, Pricing Env.

4. Underlying Panel — Select the underlying instruments.

5. Quotes Panel / Resets Panel — Enter / load quotes.

6. Points Panel — Click Generate to generate the points.

7. Click Save, and enter a curve name.

Pricer Configuration

Assign the zero curve as a discount curve and/or forecast curve.

 

3.1 Definition Panel

Click New to start a new curve.

Select the following to define the curve: currency, index, tenor, holidays, “Generate from instruments” should be checked, interpolator, interpolation space, generation algorithm, curve type set to “CurveZero”, Pricing Env.

 Ⓘ   [NOTE: When a holiday calendar is set on the underlying instrument, the curve holiday calendar is ignored]

 Ⓘ   [NOTE: You can click ... next to the "Discount Curve" field to select a discount curve for retrieving the discount factors - The zero curve will only compute the forward points, and the discount curve will be used for discounting]

 

The generation algorithms are described in the Calypso Yield Curves Generation guide.

See Yield Curve Generation for details.

 

 Ⓘ   [NOTE: The yield curve generator BootstrapISDA replicates the ISDA C code discount factors to within 1.0e-9. With this curve generator, comparison with Markit is identical to 1 dollar. Because of rounding of cents may be different, sometimes Calypso results will round opposite to Markit and be off by Markit by 1 dollar, but usually the rounding is to the same number]

 

3.2 Underlying Panel

Click the Underlying tab, and select the underlying instruments.

» Select an instrument type to display the list of available instruments. If none appear, you can click New/Edit Underlying to create new instruments.
» Select instruments from the list of available instruments on the left-hand side, and click >> to add them to the list of selected instruments on the right-hand side.

You can exclude instruments from the curve generation if they are no longer needed.

You can set a priority when multiple instruments have the same maturity date. The lowest priority is 0. When two underlying instruments have the same end date, the one with the lowest priority is automatically removed, if the priority is set.

 

3.3 Quotes Panel

Click the Quotes tab.

» You can click Refresh Quotes to load the quotes from the pricing environment selected in the Definition panel. If your market data server is running, quotes will be updated in real-time.
» You can also enter the quotes manually, and save them to the pricing environment.

 

Quotes Parameters Details

Parameter

Description

Extrapolation

Select the method to extrapolate points outside of the curve.

Flat on Zero - The last known zero rate is kept constant
Flat on Forward - The last known forward rate is kept constant

Use Future Convexity

If set to True, the system uses a RATE volatility surface to compute the convexity adjustments when you generate the curve points.

See Generating Zero Curves with Convexity Adjustments for details.

Use Manual Future Convexity

Set to True to manually set the convexity adjustment for futures.

Another option is to set the environment property USE_QUOTE_ADJUSTMENT to False, and set specific spread quotes for the convexity adjustments.

See Generating Zero Curves with Convexity Adjustments for details.

Use month end tenors for MM

If set to True, the following rules are applied in the curve generation:

If a swap underlying starts on the last business day of a month, we set the END_MONTH period rule on the swap. This is NOT applied if the underlying swap PeriodRule is “Unadjusted” or “Mat Unadjusted.”
If period rule is “Unadjusted,” end month date roll is not used.
If period rule is “Mat Unadjusted,” maturity date is not adjusted, but end month date roll is used to generate other payment dates.

The default value is False.

Generate on all flow points

Set to True to generate curve points for each flow date of multi-period instruments, such as swaps.

Use MMkt up to first future

If set to True, money markets instruments with a maturity date after the first available future instrument, are not used in curve generation.

The default value is False.

Roll Method

You can select the roll method.

For example, you create a curve instance on T0. On T1 you price a trade.

Roll Forwards - Forward rates are unchanged between any two dates. In particular, when pricing on T1, the discount factor for pricing a cashflow is the same as the discount factor between T1 and T0 when obtained from the T0 curve.
Roll Points - Curve points are rolled forward when pricing. The points are the same on T1 as on T0.
Regenerate - Curve points are regenerated when rolled. The points are regenerated on T1 using quotes from T0.

Future Rolling Type

Future Rolling Lag

You can select the rolling method for futures:

Default – Futures are rolled the day before the expiry day.
Last Trading Day – Futures are rolled on the last trading day.
Lag Days – Futures are rolled based on a user-defined number of days before the expiry day. Enter the number of days in Future Rolling Lag.

 

 Ⓘ   [NOTE: This functionality is also compatible with FRA underlyings created from Date Rules. The default behavior for date-rule driven FRA underlyings is that they roll 1 day prior to expiry. You can use these parameters to specify a number of days the FRA underlyings roll before the expiry defined in the date rule.]

Daily Average Swap Fast Approx

When True, a fast approximation is used when generating a curve with daily averaging MM futures (e.g. FedFunds futures).

When False, the curve is calibrated exactly to the daily average MM futures.

In case 1, performance is better than in case 2.

In case 2, round-trip pricing of daily average MM futures is better than in case 1.

Use FX Reset

Only available when the generator is BasisGlobal.

Indicates whether the Spot Alternative FX reset should be used instead of the FX spot rate. The generator parameter value will be False by default to retain current functionality.

When set to True:

The generator will require an FX reset for the given currency pair whose FX Rate Definition has the “Spot Alternative” checkbox selected.
The Spot Alternative quote name for the FX Reset will appear in the Resets/Turns tab of the curve.
If a Spot Alternative FX reset for the given currency pair is not defined, the generator will throw an error and require the user to define the FX reset before generating the curve.

For more details on Spot Alternative, see Defining FX Rate Fixings in the Calypso Getting Started documentation.

The other parameters apply to the Global generator and are described in details in the Calypso Yield Curve Generation guide.

 

Resets Panel

You can choose Curve > Show Reset/Turn Tab to display / hide the Resets/turns panel.

The Resets area panel shows manual resets requirements for underlying instruments (cash quotes associated with a given underlying instrument). This applies when "Manual First Reset" is checked in the definition of the underlying instrument.

In the Turn Rates area, you can select turn rates that you have defined as underlying instruments and click to associate them with the curve. Then you can set the quotes and save.

 Ⓘ   [NOTE: If you hide the Resets/Turns panel, the required quotes are displayed in the Underlying panel, along with the quotes of the underlying instruments - For Turn Rates however, you need to use the Resets/Turns panel to associate them with the curve]

 

3.4 Points Panel

Click the Points tab. Click Generate to view the generated zero rates and discount factors.

» You can adjust the daycount and frequency as needed. The default values come from the selected rate index. You will be prompted to recalculate the zero rates or the discount factors.
» You can modify the zero rates and discount factors.

 

3.5 Save Curve

Click Save at the bottom of the window to save the curve. You will be prompted to enter a curve name.

 

4. Generating Blended Zero Curves

Blended zero curves can be used for collateral pricing.

Collateral pricing is the ability to select the discount curve based on the collateral agreement's collateral policy instead of the trade currency.

 

Blended Zero Curve Quick Reference

You can build a cheapest-to-deliver collateral curve by blending up to three other collateral discount curves.

Curve Generation

1. Click New to start a new curve.

2. Definition Panel — Select the generation algorithm "CTDCollateral", and select the discount curves.

All the curves must be defined with the same currency but each curve can have underlying instruments in another currency.

3. Click Generate to generate the points.

4. Click Save, and enter a curve name.

Pricer Configuration

Assign the zero curve as a discount curve with the appropriate collateral policy.

 

4.1 Definition Panel

Click New to start a new curve.

Select the following to define the curve: currency, index, tenor, holidays, “Generate from instruments”, interpolator, interpolation space, generation algorithm "CTDCollateral", curve type set to “CurveZero”, Pricing Env.

» Select Curve 1, Curve 2, and optionally Curve 3.

All the curves must be defined with the same currency but each curve can have underlying instruments in another currency.

» Click Generate to generate the curve.

 

4.2 Save Curve

Click Save at the bottom of the window to save the curve. You will be prompted to enter a curve name.

 

4.3 Pricer Configuration

In the Discount Curves panel, select the trade currency, the collateral policy, and the other criteria as needed.

Please refer to Calypso Collateral Pricing (Trade CSA) for complete setup details.

 

5. Generating Zero Curves with Convexity Adjustments

 

Zero Curve with Convexity Adjustments Quick Reference

You can perform convexity adjustment using one of the following methods:

Load convexity adjustment values from a RATE volatility surface
Manually set convexity adjustment values
Use convexity spread quotes

These methods are described below in details.

Curve Generation

1. Generate a derived curve.

See Generating Derived Zero Curves for details.

2. In the Quotes panel, select the type of convexity adjustment you want to perform, and enter / load the convexity adjustment values.

3. Click Save, and enter a name for the curve.

Pricer Configuration

Assign the zero curve as a discount/forecast curve.

 

5.1 Quotes Panel

After you have defined a derived zero curve that contains future underlyings, click the Quotes tab. You can perform convexity adjustment using one of the following methods.

 

Convexity Adjustments from RATE Volatility Surface

Create a volatility surface for Future MM volatilities. The volatility surface may be a simple surface from offsets, using Black volatilities or basis point volatilities. From the Calypso Navigator, navigate to Market Data > Volatilities > Volatility Surface.

Register the volatility surface in the Pricer Configuration - Product Specific panel using PricerFutureMM and/or PricerFutureOptionMM and the FUT_CONVEXITY usage.

In the Quotes panel, of the zero cuve, set the following parameter.

» Set the parameter “Use Future Convexity” to True. The system will use the assigned volatility surface to compute the convexity adjustments when you generate the curve points. You can see the convexity quotes in the Points panel.

 

Manual Convexity Adjustments

» Set the parameters “Use Future Convexity” AND “Use Manual Future Convexity" to true.
» Enter the future convexity adjustments in the field "Future Convexity". When you generate the curve, you can view the convexity quotes in the points panel.

 

Convexity Adjustments from Spread Quotes

You can also elect to directly enter the convexity quotes.

Set the environment property "USE_QUOTE_ADJUSTMENT" to False (default is True).

The convexity quotes are created by appending “.convexity” to the future quotes, for example “Future.USD.CME.EURODOLLLAR.DEC.06.convexity”, and the quote type is a Spread expressed in basis points.

» Enter / load the convexity quotes.

 

5.2 Save Curve

Click Save at the bottom of the window to save the curve. You will be prompted to enter a curve name.

 

6. Generating Agency Option Adjusted Spread Curves

Agency Option Adjusted Spread (AOAS) curves are used to price European callable bonds.

 

AOAS Curve Quick Reference

Configuration Requirements

Rate Index Definition – From the Calypso Navigator, navigate to Configuration > Interest Rates > Rate Index Definitions.

Curve Generation

1. Click New to start a new curve.

2. Definition Panel — Select the following information to define the curve: currency, index, tenor, holidays, “Generate from instruments” should be checked, interpolator, interpolation space, generation algorithm set to "AgencyBootStrap", curve type set to “CurveZero”, Pricing Env.

3. Offsets Panel — Select the tenors and dates.

4. Points Panel — Click Generate to generate the points. Enter the zero rates.

5. Click Save, and enter a curve name.

Pricer Configuration

Assign the AOAS curve as a forecast curve.

 

6.1 Definition Panel

Click New to start a new curve.

Select the following to define the curve: currency, index, tenor, holidays, “Generate from instruments” should be checked, interpolator, interpolation space, generation algorithm set to "AgencyBootStrap", curve type set to “CurveZero”, Pricing Env.

 

6.2 Underlying Panel

Click the Underlying tab, and select the underlying instruments: benchmark bonds.

Benchmark bonds are created using Configuration > Fixed Income > Benchmarks from the Calypso Navigator.

Refer to Calypso Fixed Income documentation for information on creating benchmark bonds.

» Select instrument type "Bond" to display the list of available instruments. If none appear, you can click New/Edit Underlying to create new instruments.
» Select bond benchmarks from the list of available instruments on the left-hand side, and click >> to add them to the list of selected instruments on the right-hand side.

You can exclude instruments from the curve generation if they are no longer needed.

You can set a priority when multiple instruments have the same maturity date. The lowest priority is 0.

 

6.3 Quotes Panel

Click the Quotes tab.

» You can click Refresh Quotes to load the quotes from the pricing environment selected in the Definition panel. If your market data server is running, quotes will be updated in real-time.
» You can also enter the quotes manually, and save them to the pricing environment.

 

Quotes Parameters Details

See Quotes Panel for details on the other parameters.

Parameter

Description

Tension

Should be set to "75.6" per SIFMA.

Use Defined Spread Adjustments

Set to True to enable the Spread Adjustments column in the Quotes panel.

User Defined CM Yields

Set to True to enable the Constant Maturity Yields column in the Quotes panel.

 

6.4 Points Panel

Click the Points tab. Click Generate to view the generated zero rates and discount factors.

» You can adjust the daycount and frequency as needed. The default values come from the selected rate index. You will be prompted to recalculate the zero rates or the discount factors.
» You can modify the zero rates and discount factors.

 

6.5 Save Curve

Click Save at the bottom of the window to save the curve. You will be prompted to enter a curve name.

 

7. Pricer Configuration

From the Calypso Navigator, navigate to Market Data > Pricing Environment > Pricer Configuration, and click Load to select a pricer configuration name.

 

7.1 Discount Curves

Click the "Discount Curves" tab.

» Select the parameters for which the curve applies, and select the curve. The parameters are described below.
» Click Add to add the curve to the pricer configuration.
» Then click Save to save the pricer configuration.

 

Fields Description

Currency

Select the currency for which the curve applies.

Domiciliation

Select the domiciliation for which the curve applies:

Onshore - Legal entity and currency specified as located inside the jurisdiction of its primary operations. Currency will link to a collateral currency.
Offshore - Legal entity and currency specified as located outside the jurisdiction of its primary operations. Currency will link to a collateral currency.
ANY - Any domiciliation.

The domiciliation is based on the book attribute "Domiciliation".

Collateral Policy

Select the collateral policy for which the curve applies if any, or select NONE otherwise.

If the pricing parameter COLLATERALIZED_PRICING is set to true, the system checks if the trade is associated with a CSA agreement. If it is, the system uses the collateral policy of the CSA agreement to select the discount curve accordingly. If the collateral policy is not set on the CSA agreement, the trade currency is used to select the discount curve.

If COLLATERALIZED_PRICING is set to false, the collateral policy is not used.

See Trade CSA for more details.

Type

Select the product type for which the curve applies, or ANY.

Sub Type

Select the product subtype for which the curve applies, or ANY.

Extended Type

Select the extended type for which the curve applies, or ANY.

Rate Index

Select the rate index for which the curve applies, or ANY.

Tenor

Select the rate index tenor for which the curve applies, or ANY.

Market Data

Select the curve.

 

7.2 Forecast Curves

Click the "Forecast Curves" tab.

» Select a currency, a product or ANY, a subtype or ANY, an index, a tenor or ANY.
» Click ... to select the curve.
» Click Add to add the curve to the pricer configuration.
» Click Save to save the pricer configuration.

 

Zero curves used for forecasting equity forward prices using non-linear pricers (for Equity Derivatives trades) may be mapped using the FWD_PRICE_FOR usage in the Product Specific panel of the pricer configuration.