@Override public CurveMetadata metadata(LocalDate valuationDate, ReferenceData refData) { return DefaultCurveMetadata.builder() .curveName(name) .xValueType(xValueType) .yValueType(yValueType) .dayCount(dayCount) .parameterMetadata(parameterMetadata) .build(); }
/** * Obtains an instance used to obtain a curve group by name. * * @param groupName the curve group name * @return the identifier */ public static RatesCurveGroupId of(String groupName) { return new RatesCurveGroupId(CurveGroupName.of(groupName), ObservableSource.NONE); }
InterpolatedNodalCurveDefinition createCurveDefinition(List<CurveNode> nodes) { return InterpolatedNodalCurveDefinition.builder() .name(curveName) .xValueType(xValueType) .yValueType(yValueType) .dayCount(dayCount) .nodes(nodes) .interpolator(interpolator) .extrapolatorLeft(extrapolatorLeft) .extrapolatorRight(extrapolatorRight) .build(); }
public void zeroRates_curveName() { CurveMetadata test = Curves.zeroRates(CURVE_NAME, ACT_360); CurveMetadata expected = DefaultCurveMetadata.builder() .curveName(CURVE_NAME) .xValueType(ValueType.YEAR_FRACTION) .yValueType(ValueType.ZERO_RATE) .dayCount(ACT_360) .build(); assertEquals(test, expected); }
/** * Obtains an instance used to obtain a curve by name. * * @param groupName the curve group name * @param curveName the curve name * @return the identifier */ public static CurveId of(String groupName, String curveName) { return new CurveId(CurveGroupName.of(groupName), CurveName.of(curveName), ObservableSource.NONE); }
@Override public DefaultCurveMetadata withParameterMetadata(List<? extends ParameterMetadata> parameterMetadata) { if (parameterMetadata == null) { return this.parameterMetadata != null ? toBuilder().clearParameterMetadata().build() : this; } return toBuilder().parameterMetadata(parameterMetadata).build(); }
/** * Creates curve metadata for a curve providing zero rates. * <p> * The x-values represent year fractions relative to an unspecified base date * as defined by the specified day count. * * @param name the curve name * @param dayCount the day count * @return the curve metadata */ public static CurveMetadata zeroRates(String name, DayCount dayCount) { return zeroRates(CurveName.of(name), dayCount); }
/** * Creates curve metadata for a curve providing monthly prices, typically used in inflation. * <p> * The x-values represent months relative to an unspecified base month. * * @param name the curve name * @return the curve metadata */ public static CurveMetadata prices(String name) { return prices(CurveName.of(name)); }
/** * Converts this definition to the summary form. * <p> * The {@link CurveParameterSize} class provides a summary of this definition * consisting of the name and parameter size. * * @return the summary form */ public default CurveParameterSize toCurveParameterSize() { return CurveParameterSize.of(getName(), getParameterCount()); }
/** * Creates curve metadata for a curve providing forward rates. * <p> * The x-values represent year fractions relative to an unspecified base date * as defined by the specified day count. * * @param name the curve name * @param dayCount the day count * @return the curve metadata */ public static CurveMetadata forwardRates(String name, DayCount dayCount) { return forwardRates(CurveName.of(name), dayCount); }
/** * Creates curve metadata for a curve providing discount factors. * <p> * The x-values represent year fractions relative to an unspecified base date * as defined by the specified day count. * * @param name the curve name * @param dayCount the day count * @return the curve metadata */ public static CurveMetadata discountFactors(String name, DayCount dayCount) { return discountFactors(CurveName.of(name), dayCount); }
/** * Gets the curve name. * * @return the curve name */ public default CurveName getName() { return getMetadata().getCurveName(); }
@Override public ParallelShiftedCurve withParameter(int parameterIndex, double newValue) { if (parameterIndex == underlyingCurve.getParameterCount()) { return new ParallelShiftedCurve(underlyingCurve, shiftType, newValue); } return new ParallelShiftedCurve(underlyingCurve.withParameter(parameterIndex, newValue), shiftType, shiftAmount); }
@Override public default ParameterMetadata getParameterMetadata(int parameterIndex) { return getMetadata().getParameterMetadata(parameterIndex); }
/** * Obtains an instance used to obtain a curve group by name. * * @param groupName the curve group name * @return the identifier */ public static LegalEntityCurveGroupId of(String groupName) { return new LegalEntityCurveGroupId(CurveGroupName.of(groupName), ObservableSource.NONE); }
@Override public AddFixedCurve withPerturbation(ParameterPerturbation perturbation) { return new AddFixedCurve(fixedCurve, spreadCurve.withPerturbation(perturbation)); }
/** * Creates a constant curve with a specific value. * * @param name the curve name * @param yValue the constant y-value * @return the curve */ public static ConstantCurve of(CurveName name, double yValue) { return new ConstantCurve(DefaultCurveMetadata.of(name), yValue); }
@Override public NodalCurve curve(LocalDate valuationDate, CurveMetadata metadata, DoubleArray parameters) { NodalCurve curveWithoutFixing = curveWithoutFixingDefinition.curve(valuationDate, metadata, parameters); return InflationNodalCurve.of( curveWithoutFixing, valuationDate, lastFixingMonth, lastFixingValue, seasonalityDefinition); }