Skip to content

Commit

Permalink
Rename more rates-specific classes (#1766)
Browse files Browse the repository at this point in the history
CurveCalibrator to RatesCurveCalibrator
SyntheticCurveCalibrator to SyntheticRatesCurveCalibrator
CurveGroupDefinitionCsvLoader to RatesCurveGroupDefinitionCsvLoader
  • Loading branch information
jodastephen committed Jul 11, 2018
1 parent 6f1f93d commit 71636f2
Show file tree
Hide file tree
Showing 36 changed files with 99 additions and 96 deletions.
Expand Up @@ -25,7 +25,7 @@
import com.opengamma.strata.market.param.CurrencyParameterSensitivities;
import com.opengamma.strata.market.sensitivity.PointSensitivities;
import com.opengamma.strata.pricer.curve.CalibrationMeasures;
import com.opengamma.strata.pricer.curve.CurveCalibrator;
import com.opengamma.strata.pricer.curve.RatesCurveCalibrator;
import com.opengamma.strata.pricer.rate.ImmutableRatesProvider;
import com.opengamma.strata.pricer.sensitivity.MarketQuoteSensitivityCalculator;
import com.opengamma.strata.pricer.swap.DiscountingSwapTradePricer;
Expand Down Expand Up @@ -80,7 +80,7 @@ public class CalibrationPV01Example {
ImmutableMarketData.builder(VALUATION_DATE).values(MAP_MQ).build();

private static final CalibrationMeasures CALIBRATION_MEASURES = CalibrationMeasures.PAR_SPREAD;
private static final CurveCalibrator CALIBRATOR = CurveCalibrator.of(1e-9, 1e-9, 100, CALIBRATION_MEASURES);
private static final RatesCurveCalibrator CALIBRATOR = RatesCurveCalibrator.of(1e-9, 1e-9, 100, CALIBRATION_MEASURES);

private static final DiscountingSwapTradePricer PRICER_SWAP = DiscountingSwapTradePricer.DEFAULT;
private static final MarketQuoteSensitivityCalculator MQC = MarketQuoteSensitivityCalculator.DEFAULT;
Expand Down
Expand Up @@ -25,7 +25,7 @@
import com.opengamma.strata.market.param.CurrencyParameterSensitivities;
import com.opengamma.strata.market.sensitivity.PointSensitivities;
import com.opengamma.strata.pricer.curve.CalibrationMeasures;
import com.opengamma.strata.pricer.curve.CurveCalibrator;
import com.opengamma.strata.pricer.curve.RatesCurveCalibrator;
import com.opengamma.strata.pricer.rate.ImmutableRatesProvider;
import com.opengamma.strata.pricer.sensitivity.MarketQuoteSensitivityCalculator;
import com.opengamma.strata.pricer.swap.DiscountingSwapTradePricer;
Expand Down Expand Up @@ -78,7 +78,7 @@ public class CalibrationPVPerformanceExample {
ImmutableMarketData.builder(VALUATION_DATE).values(MAP_MQ).build();

private static final CalibrationMeasures CALIBRATION_MEASURES = CalibrationMeasures.PAR_SPREAD;
private static final CurveCalibrator CALIBRATOR = CurveCalibrator.of(1e-9, 1e-9, 100, CALIBRATION_MEASURES);
private static final RatesCurveCalibrator CALIBRATOR = RatesCurveCalibrator.of(1e-9, 1e-9, 100, CALIBRATION_MEASURES);

private static final DiscountingSwapTradePricer PRICER_SWAP = DiscountingSwapTradePricer.DEFAULT;
private static final MarketQuoteSensitivityCalculator MQC = MarketQuoteSensitivityCalculator.DEFAULT;
Expand Down
Expand Up @@ -26,7 +26,7 @@
import com.opengamma.strata.market.observable.QuoteId;
import com.opengamma.strata.market.param.CurrencyParameterSensitivities;
import com.opengamma.strata.market.sensitivity.PointSensitivities;
import com.opengamma.strata.pricer.curve.CurveCalibrator;
import com.opengamma.strata.pricer.curve.RatesCurveCalibrator;
import com.opengamma.strata.pricer.rate.ImmutableRatesProvider;
import com.opengamma.strata.pricer.sensitivity.MarketQuoteSensitivityCalculator;
import com.opengamma.strata.pricer.swap.DiscountingSwapTradePricer;
Expand Down Expand Up @@ -83,7 +83,7 @@ public class CalibrationInterpolationExample {
private static final ImmutableMarketData MARKET_QUOTES =
ImmutableMarketData.builder(VALUATION_DATE).values(MAP_MQ).build();

private static final CurveCalibrator CALIBRATOR = CurveCalibrator.standard();
private static final RatesCurveCalibrator CALIBRATOR = RatesCurveCalibrator.standard();

private static final DiscountingSwapTradePricer PRICER_SWAP = DiscountingSwapTradePricer.DEFAULT;
private static final MarketQuoteSensitivityCalculator MQC = MarketQuoteSensitivityCalculator.DEFAULT;
Expand Down
Expand Up @@ -42,7 +42,7 @@
import com.opengamma.strata.market.surface.interpolator.GridSurfaceInterpolator;
import com.opengamma.strata.market.surface.interpolator.SurfaceInterpolator;
import com.opengamma.strata.pricer.curve.CalibrationMeasures;
import com.opengamma.strata.pricer.curve.CurveCalibrator;
import com.opengamma.strata.pricer.curve.RatesCurveCalibrator;
import com.opengamma.strata.pricer.impl.option.NormalFormulaRepository;
import com.opengamma.strata.pricer.option.RawOptionData;
import com.opengamma.strata.pricer.option.TenorRawOptionData;
Expand Down Expand Up @@ -82,7 +82,7 @@ public class SabrSwaptionCubeCalibrationExample {
private static final ImmutableMarketData MARKET_QUOTES = ImmutableMarketData.of(CALIBRATION_DATE, MAP_MQ);

private static final CalibrationMeasures CALIBRATION_MEASURES = CalibrationMeasures.PAR_SPREAD;
private static final CurveCalibrator CALIBRATOR = CurveCalibrator.of(1e-9, 1e-9, 100, CALIBRATION_MEASURES);
private static final RatesCurveCalibrator CALIBRATOR = RatesCurveCalibrator.of(1e-9, 1e-9, 100, CALIBRATION_MEASURES);
private static final RatesProvider MULTICURVE =
CALIBRATOR.calibrate(CONFIGS, MARKET_QUOTES, REF_DATA);

Expand Down
Expand Up @@ -47,7 +47,7 @@
import com.opengamma.strata.market.surface.interpolator.GridSurfaceInterpolator;
import com.opengamma.strata.market.surface.interpolator.SurfaceInterpolator;
import com.opengamma.strata.pricer.curve.CalibrationMeasures;
import com.opengamma.strata.pricer.curve.CurveCalibrator;
import com.opengamma.strata.pricer.curve.RatesCurveCalibrator;
import com.opengamma.strata.pricer.option.RawOptionData;
import com.opengamma.strata.pricer.option.TenorRawOptionData;
import com.opengamma.strata.pricer.rate.RatesProvider;
Expand Down Expand Up @@ -90,7 +90,7 @@ public class SabrSwaptionCubePvRiskExample {
private static final ImmutableMarketData MARKET_QUOTES = ImmutableMarketData.of(CALIBRATION_DATE, MAP_MQ);

private static final CalibrationMeasures CALIBRATION_MEASURES = CalibrationMeasures.PAR_SPREAD;
private static final CurveCalibrator CALIBRATOR = CurveCalibrator.of(1e-9, 1e-9, 100, CALIBRATION_MEASURES);
private static final RatesCurveCalibrator CALIBRATOR = RatesCurveCalibrator.of(1e-9, 1e-9, 100, CALIBRATION_MEASURES);

private static final SabrSwaptionPhysicalProductPricer SWAPTION_PRICER = SabrSwaptionPhysicalProductPricer.DEFAULT;

Expand Down
Expand Up @@ -283,7 +283,7 @@ private static ImmutableMap<CurveGroupName, RatesCurveGroupDefinition> parse0(
Collection<CharSource> curveNodeCharSources) {

// load curve groups and settings
List<RatesCurveGroupDefinition> curveGroups = CurveGroupDefinitionCsvLoader.parseCurveGroupDefinitions(groupsCharSource);
List<RatesCurveGroupDefinition> curveGroups = RatesCurveGroupDefinitionCsvLoader.parseCurveGroupDefinitions(groupsCharSource);
Map<CurveName, LoadedCurveSettings> settingsMap = RatesCurvesCsvLoader.parseCurveSettings(settingsCharSource);

// load curve definitions
Expand Down
Expand Up @@ -64,7 +64,7 @@
*
* @see RatesCurveGroupDefinition
*/
public final class CurveGroupDefinitionCsvLoader {
public final class RatesCurveGroupDefinitionCsvLoader {

// Column headers
private static final String GROUPS_NAME = "Group Name";
Expand Down Expand Up @@ -293,7 +293,7 @@ private static void writeCurveGroup(CsvOutput csv, RatesCurveGroup group) {

//-------------------------------------------------------------------------
// This class only has static methods
private CurveGroupDefinitionCsvLoader() {
private RatesCurveGroupDefinitionCsvLoader() {
}

//-------------------------------------------------------------------------
Expand Down
Expand Up @@ -209,7 +209,7 @@ public static ImmutableListMultimap<LocalDate, RatesCurveGroup> parse(
CharSource settingsCharSource,
Collection<CharSource> curveValueCharSources) {

List<RatesCurveGroupDefinition> curveGroups = CurveGroupDefinitionCsvLoader.parseCurveGroupDefinitions(groupsCharSource);
List<RatesCurveGroupDefinition> curveGroups = RatesCurveGroupDefinitionCsvLoader.parseCurveGroupDefinitions(groupsCharSource);
Map<LocalDate, Map<CurveName, Curve>> curves =
parseCurves(datePredicate, settingsCharSource, curveValueCharSources);
ImmutableListMultimap.Builder<LocalDate, RatesCurveGroup> builder = ImmutableListMultimap.builder();
Expand Down
Expand Up @@ -18,16 +18,16 @@

import com.google.common.collect.ImmutableList;
import com.opengamma.strata.collect.io.ResourceLocator;
import com.opengamma.strata.market.curve.CurveName;
import com.opengamma.strata.market.curve.RatesCurveGroup;
import com.opengamma.strata.market.curve.RatesCurveGroupDefinition;
import com.opengamma.strata.market.curve.RatesCurveGroupEntry;
import com.opengamma.strata.market.curve.CurveName;

/**
* Test {@link CurveGroupDefinitionCsvLoader}.
* Test {@link RatesCurveGroupDefinitionCsvLoader}.
*/
@Test
public class CurveGroupDefinitionCsvLoaderTest {
public class RatesCurveGroupDefinitionCsvLoaderTest {

private static final String GROUPS_1 = "classpath:com/opengamma/strata/loader/csv/groups.csv";
private static final String SETTINGS_1 = "classpath:com/opengamma/strata/loader/csv/settings.csv";
Expand All @@ -37,7 +37,8 @@ public class CurveGroupDefinitionCsvLoaderTest {

//-------------------------------------------------------------------------
public void test_loadCurveGroupDefinition() {
List<RatesCurveGroupDefinition> defns = CurveGroupDefinitionCsvLoader.loadCurveGroupDefinitions(ResourceLocator.of(GROUPS_1));
List<RatesCurveGroupDefinition> defns =
RatesCurveGroupDefinitionCsvLoader.loadCurveGroupDefinitions(ResourceLocator.of(GROUPS_1));
assertEquals(defns.size(), 1);
RatesCurveGroupDefinition defn = defns.get(0);
assertEquals(defn.getEntries().get(0), RatesCurveGroupEntry.builder()
Expand All @@ -52,9 +53,10 @@ public void test_loadCurveGroupDefinition() {

//-------------------------------------------------------------------------
public void test_writeCurveGroupDefinition() {
RatesCurveGroupDefinition defn = CurveGroupDefinitionCsvLoader.loadCurveGroupDefinitions(ResourceLocator.of(GROUPS_1)).get(0);
RatesCurveGroupDefinition defn =
RatesCurveGroupDefinitionCsvLoader.loadCurveGroupDefinitions(ResourceLocator.of(GROUPS_1)).get(0);
Appendable underlying = new StringBuilder();
CurveGroupDefinitionCsvLoader.writeCurveGroupDefinition(underlying, defn);
RatesCurveGroupDefinitionCsvLoader.writeCurveGroupDefinition(underlying, defn);
String created = underlying.toString();
String expected =
"Group Name,Curve Type,Reference,Curve Name" + System.lineSeparator() +
Expand All @@ -71,7 +73,7 @@ public void test_writeCurveGroup() {
ResourceLocator.of(SETTINGS_1),
ImmutableList.of(ResourceLocator.of(CURVES_1), ResourceLocator.of(CURVES_2)));
Appendable underlying = new StringBuilder();
CurveGroupDefinitionCsvLoader.writeCurveGroup(underlying, curveGroups.get(0));
RatesCurveGroupDefinitionCsvLoader.writeCurveGroup(underlying, curveGroups.get(0));
String created = underlying.toString();
String expected =
"Group Name,Curve Type,Reference,Curve Name" + System.lineSeparator() +
Expand All @@ -81,16 +83,17 @@ public void test_writeCurveGroup() {
}

public void test_test_writeCurveGroupDefinition_roundtrip() throws Exception {
List<RatesCurveGroupDefinition> defn = CurveGroupDefinitionCsvLoader.loadCurveGroupDefinitions(ResourceLocator.of(GROUPS_1));
List<RatesCurveGroupDefinition> defn =
RatesCurveGroupDefinitionCsvLoader.loadCurveGroupDefinitions(ResourceLocator.of(GROUPS_1));
File tempFile = File.createTempFile("TestCurveGroupLoading", "csv");
tempFile.deleteOnExit();
CurveGroupDefinitionCsvLoader.writeCurveGroupDefinition(tempFile, defn.get(0));
assertEquals(CurveGroupDefinitionCsvLoader.loadCurveGroupDefinitions(ResourceLocator.ofFile(tempFile)), defn);
RatesCurveGroupDefinitionCsvLoader.writeCurveGroupDefinition(tempFile, defn.get(0));
assertEquals(RatesCurveGroupDefinitionCsvLoader.loadCurveGroupDefinitions(ResourceLocator.ofFile(tempFile)), defn);
}

//-------------------------------------------------------------------------
public void coverage() {
coverPrivateConstructor(CurveGroupDefinitionCsvLoader.class);
coverPrivateConstructor(RatesCurveGroupDefinitionCsvLoader.class);
}

}
Expand Up @@ -37,7 +37,7 @@
import com.opengamma.strata.market.observable.IndexQuoteId;
import com.opengamma.strata.measure.curve.RootFinderConfig;
import com.opengamma.strata.pricer.curve.CalibrationMeasures;
import com.opengamma.strata.pricer.curve.CurveCalibrator;
import com.opengamma.strata.pricer.curve.RatesCurveCalibrator;
import com.opengamma.strata.pricer.rate.ImmutableRatesProvider;

/**
Expand Down Expand Up @@ -108,7 +108,7 @@ public MarketDataBox<RatesCurveGroup> build(

// create the calibrator, using the configured RootFinderConfig if found
RootFinderConfig rfc = marketDataConfig.find(RootFinderConfig.class).orElse(RootFinderConfig.standard());
CurveCalibrator calibrator = CurveCalibrator.of(
RatesCurveCalibrator calibrator = RatesCurveCalibrator.of(
rfc.getAbsoluteTolerance(), rfc.getRelativeTolerance(), rfc.getMaximumSteps(), calibrationMeasures);

// calibrate
Expand All @@ -135,7 +135,7 @@ public Class<RatesCurveGroupId> getMarketDataIdType() {
*/
MarketDataBox<RatesCurveGroup> buildCurveGroup(
RatesCurveGroupDefinition configuredGroup,
CurveCalibrator calibrator,
RatesCurveCalibrator calibrator,
ScenarioMarketData marketData,
ReferenceData refData,
ObservableSource obsSource) {
Expand Down Expand Up @@ -170,7 +170,7 @@ private Map<ObservableId, LocalDateDoubleTimeSeries> extractFixings(ScenarioMark
// calibrates when there are multiple groups
private MarketDataBox<RatesCurveGroup> buildMultipleCurveGroups(
RatesCurveGroupDefinition configuredGroup,
CurveCalibrator calibrator,
RatesCurveCalibrator calibrator,
MarketDataBox<LocalDate> valuationDateBox,
List<MarketDataBox<RatesCurveInputs>> inputBoxes,
Map<ObservableId, LocalDateDoubleTimeSeries> fixings,
Expand Down Expand Up @@ -199,7 +199,7 @@ private static List<RatesCurveInputs> inputsForScenario(List<MarketDataBox<Rates
// calibrates when there is a single group
private MarketDataBox<RatesCurveGroup> buildSingleCurveGroup(
RatesCurveGroupDefinition configuredGroup,
CurveCalibrator calibrator,
RatesCurveCalibrator calibrator,
LocalDate valuationDate,
List<MarketDataBox<RatesCurveInputs>> inputBoxes,
Map<ObservableId, LocalDateDoubleTimeSeries> fixings,
Expand Down Expand Up @@ -251,7 +251,7 @@ private static MarketData inputsByKey(

private RatesCurveGroup buildGroup(
RatesCurveGroupDefinition groupDefn,
CurveCalibrator calibrator,
RatesCurveCalibrator calibrator,
MarketData marketData,
ReferenceData refData) {

Expand Down
Expand Up @@ -91,7 +91,7 @@
import com.opengamma.strata.measure.StandardComponents;
import com.opengamma.strata.measure.ValuationZoneTimeDefinition;
import com.opengamma.strata.measure.rate.RatesMarketDataLookup;
import com.opengamma.strata.pricer.curve.CurveCalibrator;
import com.opengamma.strata.pricer.curve.RatesCurveCalibrator;
import com.opengamma.strata.pricer.fxopt.BlackFxOptionSmileVolatilities;
import com.opengamma.strata.pricer.fxopt.BlackFxOptionSurfaceVolatilities;
import com.opengamma.strata.pricer.fxopt.BlackFxVanillaOptionTradePricer;
Expand Down Expand Up @@ -298,7 +298,7 @@ public class FxOptionVolatilitiesMarketDataFunctionTest {
private static final MarketDataRequirements REQUIREMENTS = MarketDataRequirements.of(RULES, TARGETS, COLUMN, REF_DATA);
private static final CalculationRunner CALC_RUNNER = CalculationRunner.ofMultiThreaded();

private static final CurveCalibrator CURVE_CALIBRATOR = CurveCalibrator.standard();
private static final RatesCurveCalibrator CURVE_CALIBRATOR = RatesCurveCalibrator.standard();
private static final RatesProvider EXP_RATES = CURVE_CALIBRATOR.calibrate(CURVE_GROUP_DEFINITION, MARKET_DATA, REF_DATA);
private static final RatesProvider EXP_RATES_1 = CURVE_CALIBRATOR.calibrate(
CURVE_GROUP_DEFINITION, SCENARIO_MARKET_DATA.scenario(1), REF_DATA);
Expand Down
Expand Up @@ -62,7 +62,7 @@
import com.opengamma.strata.market.observable.QuoteId;
import com.opengamma.strata.market.param.ParameterMetadata;
import com.opengamma.strata.measure.curve.TestMarketDataMap;
import com.opengamma.strata.pricer.curve.CurveCalibrator;
import com.opengamma.strata.pricer.curve.RatesCurveCalibrator;
import com.opengamma.strata.pricer.fra.DiscountingFraTradePricer;
import com.opengamma.strata.pricer.rate.RatesProvider;
import com.opengamma.strata.pricer.swap.DiscountingSwapTradePricer;
Expand All @@ -78,7 +78,7 @@
public class RatesCurveGroupMarketDataFunctionTest {

/** The calibrator. */
private static final CurveCalibrator CALIBRATOR = CurveCalibrator.standard();
private static final RatesCurveCalibrator CALIBRATOR = RatesCurveCalibrator.standard();
/** The maximum allowable PV when round-tripping an instrument used to calibrate a curve. */
private static final double PV_TOLERANCE = 5e-10;
/** The reference data. */
Expand Down
Expand Up @@ -37,7 +37,7 @@
import com.opengamma.strata.product.ResolvedTrade;

/**
* Curve calibrator.
* Curve calibrator for rates curves.
* <p>
* This calibrator takes an abstract curve definition and produces real curves.
* <p>
Expand All @@ -52,13 +52,13 @@
* Once calibrated, the curves are then available for use.
* Each node in the curve definition becomes a parameter in the matching output curve.
*/
public final class CurveCalibrator {
public final class RatesCurveCalibrator {

/**
* The standard curve calibrator.
*/
private static final CurveCalibrator STANDARD =
CurveCalibrator.of(1e-9, 1e-9, 1000, CalibrationMeasures.PAR_SPREAD, CalibrationMeasures.PRESENT_VALUE);
private static final RatesCurveCalibrator STANDARD =
RatesCurveCalibrator.of(1e-9, 1e-9, 1000, CalibrationMeasures.PAR_SPREAD, CalibrationMeasures.PRESENT_VALUE);
/**
* The matrix algebra used for matrix inversion.
*/
Expand Down Expand Up @@ -88,8 +88,8 @@ public final class CurveCalibrator {
*
* @return the standard curve calibrator
*/
public static CurveCalibrator standard() {
return CurveCalibrator.STANDARD;
public static RatesCurveCalibrator standard() {
return RatesCurveCalibrator.STANDARD;
}

/**
Expand All @@ -103,7 +103,7 @@ public static CurveCalibrator standard() {
* @param stepMaximum the maximum steps
* @return the curve calibrator
*/
public static CurveCalibrator of(
public static RatesCurveCalibrator of(
double toleranceAbs,
double toleranceRel,
int stepMaximum) {
Expand All @@ -123,7 +123,7 @@ public static CurveCalibrator of(
* @param measures the calibration measures, used to compute the function for which the root is found
* @return the curve calibrator
*/
public static CurveCalibrator of(
public static RatesCurveCalibrator of(
double toleranceAbs,
double toleranceRel,
int stepMaximum,
Expand All @@ -145,15 +145,15 @@ public static CurveCalibrator of(
* stored in the metadata
* @return the curve calibrator
*/
public static CurveCalibrator of(
public static RatesCurveCalibrator of(
double toleranceAbs,
double toleranceRel,
int stepMaximum,
CalibrationMeasures measures,
CalibrationMeasures pvMeasures) {

NewtonVectorRootFinder rootFinder = NewtonVectorRootFinder.broyden(toleranceAbs, toleranceRel, stepMaximum);
return new CurveCalibrator(rootFinder, measures, pvMeasures);
return new RatesCurveCalibrator(rootFinder, measures, pvMeasures);
}

/**
Expand All @@ -165,17 +165,17 @@ public static CurveCalibrator of(
* stored in the metadata
* @return the curve calibrator
*/
public static CurveCalibrator of(
public static RatesCurveCalibrator of(
NewtonVectorRootFinder rootFinder,
CalibrationMeasures measures,
CalibrationMeasures pvMeasures) {

return new CurveCalibrator(rootFinder, measures, pvMeasures);
return new RatesCurveCalibrator(rootFinder, measures, pvMeasures);
}

//-------------------------------------------------------------------------
// restricted constructor
private CurveCalibrator(
private RatesCurveCalibrator(
NewtonVectorRootFinder rootFinder,
CalibrationMeasures measures,
CalibrationMeasures pvMeasures) {
Expand Down

0 comments on commit 71636f2

Please sign in to comment.