Skip to content

Commit

Permalink
Rename more rates-specific classes (OpenGamma#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.
Original file line number Diff line number Diff line change
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
Original file line number Diff line number Diff line change
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
Original file line number Diff line number Diff line change
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
Original file line number Diff line number Diff line change
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
Original file line number Diff line number Diff line change
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
Original file line number Diff line number Diff line change
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
Original file line number Diff line number Diff line change
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
Original file line number Diff line number Diff line change
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
Original file line number Diff line number Diff line change
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);
}

}
Original file line number Diff line number Diff line change
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
Original file line number Diff line number Diff line change
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
Original file line number Diff line number Diff line change
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
Original file line number Diff line number Diff line change
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
Loading

0 comments on commit 71636f2

Please sign in to comment.