All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.opengamma.strata.pricer.curve.RatesProviderGenerator Maven / Gradle / Ivy

The newest version!
/*
 * Copyright (C) 2015 - present by OpenGamma Inc. and the OpenGamma group of companies
 *
 * Please see distribution for license.
 */
package com.opengamma.strata.pricer.curve;

import java.util.Map;

import com.google.common.collect.ImmutableMap;
import com.opengamma.strata.collect.array.DoubleArray;
import com.opengamma.strata.market.curve.CurveName;
import com.opengamma.strata.market.curve.JacobianCalibrationMatrix;
import com.opengamma.strata.pricer.rate.ImmutableRatesProvider;
import com.opengamma.strata.pricer.rate.RatesProvider;

/**
 * Generates a {@link RatesProvider} from a set of parameters.
 * 

* This creates a new provider based on the specified parameters. */ public interface RatesProviderGenerator { /** * Generates a rates provider from a set of parameters. *

* The number of parameters passed has to match the total number of parameters in all the curves generated. * * @param parameters the parameters describing the provider * @return the provider */ public default ImmutableRatesProvider generate(DoubleArray parameters) { return generate(parameters, ImmutableMap.of()); } /** * Generates a rates provider from a set of parameters and calibration information. *

* The number of parameters passed has to match the total number of parameters in all the curves generated. * * @param parameters the parameters describing the provider * @param jacobians the curve calibration info * @return the provider */ public default ImmutableRatesProvider generate( DoubleArray parameters, Map jacobians) { return generate(parameters, jacobians, ImmutableMap.of()); } /** * Generates a rates provider from a set of parameters and calibration information. *

* The number of parameters passed has to match the total number of parameters in all the curves generated. * * @param parameters the parameters describing the provider * @param jacobians the curve calibration info * @param sensitivitiesMarketQuote the PV sensitivities * @return the provider */ public abstract ImmutableRatesProvider generate( DoubleArray parameters, Map jacobians, Map sensitivitiesMarketQuote); }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy