Configuring custom curve, examples-simulated


#1

I’m new to opengamma, trying to figure out how the system works using examples-simulated project.

I wanted to configure a curve that uses futures for USD currency and calculate a present vallue from it and had no luck:( So the question is, how to do it properly?
I’d like to find some step by step guide with descriptions.
I saw that similar curve exists for EUR - Forward3MFut and tried to make the same config for USD - it does not work.

As far as i understand, first thing i need to do is set Curve Specification Builder Configuration on the UI - set needed tenor and datasource(?) for needed security type(e.g. P0D and some data for future). For EUR it is configured as Tenor from P0D to P80Y and ERundefined in future column. What does "ERundefined" mean and what to set there for USD?

The second step is to create a Yeld Curve Definition, i’d like to have a curve with following definition:

1D - Libor
2D - Libor
1M - Libor
3M - Libor
6M - Future3M
9M - Future3M
12M - Future3M
15M - Future3M
18M - Future3M
2Y - Swap Rate
3Y - Swap Rate
4Y - Swap Rate
5Y - Swap Rate

How to create a Curve Definition and Curve Specification Builder Configuration using these values?

I’ve created FUTURE3M_USD definition and set Tenor P1D, Type Libor rate and getting:

“com.opengamma.OpenGammaRuntimeException: Error in constructing FUTURE3M_USD: No convention for cash OG_SYNTHETIC_TICKER~USDLIBORP1D so can’t establish business day convention” exception.

I’ve figured out that this is configured in com.opengamma.examples.simulated.convention.SyntheticUSConventions class, but what are these conventions and how should i configure them? Currently i’ve added:

“utils.addConventionBundle(ExternalIdBundle.of(syntheticSecurityId(“USDLIBORP1D”), simpleNameSecurityId(“USD LIBOR 1d”)), “USD LIBOR 1d”, act360, modified, Period.ofDays(1), 2, false, us);” line to this class and now i’m getting the following exception:

“com.opengamma.OpenGammaRuntimeException: Error in constructing FUTURE3M_USD: No market data for OG_SYNTHETIC_TICKER~USDLIBORP1D” .

I have added USDLIBORP1D entries to market data and historical data csv files, but i’m still getting the same exception.

So i’ve decided to try a future type as it is in EUR Curve - Tenor = P0D, Type=Interest-rate future, num=1. Now i have:

“com.opengamma.OpenGammaRuntimeException: Error in constructing FUTURE3M_USD: Security source did not contain future curve instrument BLOOMBERG_TICKER~ERZ3 undefined from strip FixedIncomeStripWithIdentifier…” exception.

Where is the BLOOMBERG_TICKER~ERZ3 is taken from and why? This is totally unclear to me.

The next thing i’ve done is the multi curve calculation xml config - can’t post it here, cause it’s escaped by forum.

This xml is not very clear to me, so some explanation is needed. I’ve just tried to adopt existing config.

and tried to use it in my swap portfolio:
Security Type - SWAP
Column1: Present Value
Counstraints: CurveCalculationConfig = USDCustom

All this doesn’t work, so i need some guide and explanations.

Thanks.