gpt4 book ai didi

com.opengamma.strata.pricer.ZeroRateSensitivity.getCurveCurrency()方法的使用及代码示例

转载 作者:知者 更新时间:2024-03-13 11:11:04 25 4
gpt4 key购买 nike

本文整理了Java中com.opengamma.strata.pricer.ZeroRateSensitivity.getCurveCurrency()方法的一些代码示例,展示了ZeroRateSensitivity.getCurveCurrency()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。ZeroRateSensitivity.getCurveCurrency()方法的具体详情如下:
包路径:com.opengamma.strata.pricer.ZeroRateSensitivity
类名称:ZeroRateSensitivity
方法名:getCurveCurrency

ZeroRateSensitivity.getCurveCurrency介绍

[英]Gets the currency of the curve for which the sensitivity is computed.
[中]获取计算灵敏度的曲线的货币。

代码示例

代码示例来源:origin: OpenGamma/Strata

/**
 * Gets the currency of the curve for which the sensitivity is computed.
 * 
 * @return the curve currency
 */
public Currency getCurveCurrency() {
 return zeroRateSensitivity.getCurveCurrency();
}

代码示例来源:origin: OpenGamma/Strata

@Override
public int compareKey(PointSensitivity other) {
 if (other instanceof CreditCurveZeroRateSensitivity) {
  CreditCurveZeroRateSensitivity otherZero = (CreditCurveZeroRateSensitivity) other;
  return ComparisonChain.start()
    .compare(zeroRateSensitivity.getYearFraction(), otherZero.zeroRateSensitivity.getYearFraction())
    .compare(zeroRateSensitivity.getCurrency(), otherZero.zeroRateSensitivity.getCurrency())
    .compare(zeroRateSensitivity.getCurveCurrency(), otherZero.zeroRateSensitivity.getCurveCurrency())
    .compare(legalEntityId, otherZero.legalEntityId)
    .result();
 }
 return getClass().getSimpleName().compareTo(other.getClass().getSimpleName());
}

代码示例来源:origin: OpenGamma/Strata

@Override
protected Object propertyGet(Bean bean, String propertyName, boolean quiet) {
 switch (propertyName.hashCode()) {
  case 1303639584:  // curveCurrency
   return ((ZeroRateSensitivity) bean).getCurveCurrency();
  case -1731780257:  // yearFraction
   return ((ZeroRateSensitivity) bean).getYearFraction();
  case 575402001:  // currency
   return ((ZeroRateSensitivity) bean).getCurrency();
  case 564403871:  // sensitivity
   return ((ZeroRateSensitivity) bean).getSensitivity();
 }
 return super.propertyGet(bean, propertyName, quiet);
}

代码示例来源:origin: OpenGamma/Strata

/**
 * Obtains an instance from zero rate sensitivity and group.
 * 
 * @param zeroRateSensitivity  the zero rate sensitivity
 * @param repoGroup  the group
 * @return the point sensitivity object
 */
public static RepoCurveZeroRateSensitivity of(ZeroRateSensitivity zeroRateSensitivity, RepoGroup repoGroup) {
 return of(
   zeroRateSensitivity.getCurveCurrency(),
   zeroRateSensitivity.getYearFraction(),
   zeroRateSensitivity.getCurrency(),
   repoGroup,
   zeroRateSensitivity.getSensitivity());
}

代码示例来源:origin: OpenGamma/Strata

/**
 * Obtains an instance from zero rate sensitivity and legal entity group.
 * 
 * @param zeroRateSensitivity  the zero rate sensitivity
 * @param legalEntityGroup  the legal entity group
 * @return the point sensitivity object
 */
public static IssuerCurveZeroRateSensitivity of(
  ZeroRateSensitivity zeroRateSensitivity,
  LegalEntityGroup legalEntityGroup) {
 return of(
   zeroRateSensitivity.getCurveCurrency(),
   zeroRateSensitivity.getYearFraction(),
   zeroRateSensitivity.getCurrency(),
   legalEntityGroup,
   zeroRateSensitivity.getSensitivity());
}

代码示例来源:origin: OpenGamma/Strata

@Override
public CurrencyParameterSensitivity singleDiscountCurveParameterSensitivity(
  PointSensitivities pointSensitivities,
  Currency currency) {
 CurrencyParameterSensitivities sens = CurrencyParameterSensitivities.empty();
 for (PointSensitivity point : pointSensitivities.getSensitivities()) {
  if (point instanceof ZeroRateSensitivity) {
   ZeroRateSensitivity pt = (ZeroRateSensitivity) point;
   if (pt.getCurveCurrency().equals(currency)) {
    CreditDiscountFactors factors = discountFactors(pt.getCurveCurrency());
    sens = sens.combinedWith(factors.parameterSensitivity(pt));
   }
  }
 }
 ArgChecker.isTrue(sens.size() == 1, "sensitivity must be unique");
 return sens.getSensitivities().get(0);
}

代码示例来源:origin: OpenGamma/Strata

public void test_presentValueSensitivityWithSpread_df_spread_continuous() {
 PointSensitivities point = PRICER.presentValueSensitivityWithSpread(
   PAYMENT, DISCOUNT_FACTORS, Z_SPREAD, CONTINUOUS, 0).build();
 double relativeYearFraction = ACT_365F.relativeYearFraction(VAL_DATE_2014_01_22, PAYMENT_DATE);
 double expected = -DF * relativeYearFraction * NOTIONAL_USD * Math.exp(-Z_SPREAD * relativeYearFraction);
 ZeroRateSensitivity actual = (ZeroRateSensitivity) point.getSensitivities().get(0);
 assertEquals(actual.getCurrency(), USD);
 assertEquals(actual.getCurveCurrency(), USD);
 assertEquals(actual.getYearFraction(), relativeYearFraction);
 assertEquals(actual.getSensitivity(), expected, NOTIONAL_USD * TOL);
}

代码示例来源:origin: OpenGamma/Strata

public void test_presentValueSensitivity_df() {
 PointSensitivities point = PRICER.presentValueSensitivity(PAYMENT, DISCOUNT_FACTORS).build();
 double relativeYearFraction = ACT_365F.relativeYearFraction(VAL_DATE_2014_01_22, PAYMENT_DATE);
 double expected = -DF * relativeYearFraction * NOTIONAL_USD;
 ZeroRateSensitivity actual = (ZeroRateSensitivity) point.getSensitivities().get(0);
 assertEquals(actual.getCurrency(), USD);
 assertEquals(actual.getCurveCurrency(), USD);
 assertEquals(actual.getYearFraction(), relativeYearFraction);
 assertEquals(actual.getSensitivity(), expected, NOTIONAL_USD * TOL);
}

代码示例来源:origin: OpenGamma/Strata

public void test_presentValueSensitivity_provider() {
 PointSensitivities point = PRICER.presentValueSensitivity(TRADE, PROVIDER);
 double relativeYearFraction = ACT_365F.relativeYearFraction(VAL_DATE_2014_01_22, PAYMENT_DATE);
 double expected = -DF * relativeYearFraction * NOTIONAL_USD;
 ZeroRateSensitivity actual = (ZeroRateSensitivity) point.getSensitivities().get(0);
 assertEquals(actual.getCurrency(), USD);
 assertEquals(actual.getCurveCurrency(), USD);
 assertEquals(actual.getYearFraction(), relativeYearFraction);
 assertEquals(actual.getSensitivity(), expected, NOTIONAL_USD * TOL);
}

代码示例来源:origin: OpenGamma/Strata

public void test_presentValueSensitivity_provider() {
 PointSensitivities point = PRICER.presentValueSensitivity(PAYMENT, PROVIDER).build();
 double relativeYearFraction = ACT_365F.relativeYearFraction(VAL_DATE_2014_01_22, PAYMENT_DATE);
 double expected = -DF * relativeYearFraction * NOTIONAL_USD;
 ZeroRateSensitivity actual = (ZeroRateSensitivity) point.getSensitivities().get(0);
 assertEquals(actual.getCurrency(), USD);
 assertEquals(actual.getCurveCurrency(), USD);
 assertEquals(actual.getYearFraction(), relativeYearFraction);
 assertEquals(actual.getSensitivity(), expected, NOTIONAL_USD * TOL);
}

代码示例来源:origin: OpenGamma/Strata

public void test_presentValueSensitivity() {
 SimpleRatesProvider prov = createProvider(VAL_DATE);
 PointSensitivities point = PRICER.presentValueSensitivity(PERIOD, prov).build();
 double relativeYearFraction = DAY_COUNT.relativeYearFraction(VAL_DATE, PAYMENT_DATE);
 double expected = -DISCOUNT_FACTOR * relativeYearFraction * AMOUNT_1000;
 ZeroRateSensitivity actual = (ZeroRateSensitivity) point.getSensitivities().get(0);
 assertEquals(actual.getCurrency(), GBP);
 assertEquals(actual.getCurveCurrency(), GBP);
 assertEquals(actual.getYearFraction(), relativeYearFraction);
 assertEquals(actual.getSensitivity(), expected, AMOUNT_1000 * TOLERANCE_PV);
}

代码示例来源:origin: OpenGamma/Strata

public void test_presentValueSensitivityWithSpread_df_spread_periodic() {
 PointSensitivities point = PRICER.presentValueSensitivityWithSpread(
   PAYMENT, DISCOUNT_FACTORS, Z_SPREAD, PERIODIC, PERIOD_PER_YEAR).build();
 double relativeYearFraction = ACT_365F.relativeYearFraction(VAL_DATE_2014_01_22, PAYMENT_DATE);
 double discountFactorUp = DF * Math.exp(-EPS * relativeYearFraction);
 double discountFactorDw = DF * Math.exp(EPS * relativeYearFraction);
 double rateUp = (Math.pow(discountFactorUp, -1d / PERIOD_PER_YEAR / relativeYearFraction) - 1d) * PERIOD_PER_YEAR;
 double rateDw = (Math.pow(discountFactorDw, -1d / PERIOD_PER_YEAR / relativeYearFraction) - 1d) * PERIOD_PER_YEAR;
 double expected = 0.5 * NOTIONAL_USD / EPS * (
   discountFactorFromPeriodicallyCompoundedRate(rateUp + Z_SPREAD, PERIOD_PER_YEAR, relativeYearFraction) -
   discountFactorFromPeriodicallyCompoundedRate(rateDw + Z_SPREAD, PERIOD_PER_YEAR, relativeYearFraction));
 ZeroRateSensitivity actual = (ZeroRateSensitivity) point.getSensitivities().get(0);
 assertEquals(actual.getCurrency(), USD);
 assertEquals(actual.getCurveCurrency(), USD);
 assertEquals(actual.getYearFraction(), relativeYearFraction);
 assertEquals(actual.getSensitivity(), expected, NOTIONAL_USD * EPS);
}

代码示例来源:origin: OpenGamma/Strata

public void test_zeroRatePointSensitivityWithSpread_sensitivityCurrency_periodic() {
 int periodPerYear = 4;
 SimpleDiscountFactors test = SimpleDiscountFactors.of(GBP, DATE_VAL, CURVE);
 double relativeYearFraction = ACT_365F.relativeYearFraction(DATE_VAL, DATE_AFTER);
 double df = CURVE.yValue(relativeYearFraction);
 double discountFactorUp = df * Math.exp(-EPS * relativeYearFraction);
 double discountFactorDw = df * Math.exp(EPS * relativeYearFraction);
 double rateUp = (Math.pow(discountFactorUp, -1d / periodPerYear / relativeYearFraction) - 1d) * periodPerYear;
 double rateDw = (Math.pow(discountFactorDw, -1d / periodPerYear / relativeYearFraction) - 1d) * periodPerYear;
 double expectedValue = 0.5 / EPS * (
   discountFactorFromPeriodicallyCompoundedRate(rateUp + SPREAD, periodPerYear, relativeYearFraction) -
   discountFactorFromPeriodicallyCompoundedRate(rateDw + SPREAD, periodPerYear, relativeYearFraction));
 ZeroRateSensitivity computed = test
   .zeroRatePointSensitivityWithSpread(DATE_AFTER, USD, SPREAD, PERIODIC, periodPerYear);
 assertEquals(computed.getSensitivity(), expectedValue, EPS);
 assertEquals(computed.getCurrency(), USD);
 assertEquals(computed.getCurveCurrency(), GBP);
 assertEquals(computed.getYearFraction(), relativeYearFraction);
}

代码示例来源:origin: OpenGamma/Strata

public void test_zeroRatePointSensitivityWithSpread_periodic() {
 int periodPerYear = 4;
 ZeroRateDiscountFactors test = ZeroRateDiscountFactors.of(GBP, DATE_VAL, CURVE);
 double relativeYearFraction = ACT_365F.relativeYearFraction(DATE_VAL, DATE_AFTER);
 double discountFactorUp = Math.exp(-(CURVE.yValue(relativeYearFraction) + EPS) * relativeYearFraction);
 double discountFactorDw = Math.exp(-(CURVE.yValue(relativeYearFraction) - EPS) * relativeYearFraction);
 double rateUp = (Math.pow(discountFactorUp, -1d / periodPerYear / relativeYearFraction) - 1d) * periodPerYear;
 double rateDw = (Math.pow(discountFactorDw, -1d / periodPerYear / relativeYearFraction) - 1d) * periodPerYear;
 double expectedValue = 0.5 / EPS * (
   discountFactorFromPeriodicallyCompoundedRate(rateUp + SPREAD, periodPerYear, relativeYearFraction) -
   discountFactorFromPeriodicallyCompoundedRate(rateDw + SPREAD, periodPerYear, relativeYearFraction));
 ZeroRateSensitivity computed = test.zeroRatePointSensitivityWithSpread(
   DATE_AFTER, SPREAD, PERIODIC, periodPerYear);
 assertEquals(computed.getSensitivity(), expectedValue, EPS);
 assertEquals(computed.getCurrency(), GBP);
 assertEquals(computed.getCurveCurrency(), GBP);
 assertEquals(computed.getYearFraction(), relativeYearFraction);
}

代码示例来源:origin: OpenGamma/Strata

public void test_zeroRatePointSensitivityWithSpread_periodic() {
 int periodPerYear = 4;
 SimpleDiscountFactors test = SimpleDiscountFactors.of(GBP, DATE_VAL, CURVE);
 double relativeYearFraction = ACT_365F.relativeYearFraction(DATE_VAL, DATE_AFTER);
 double df = CURVE.yValue(relativeYearFraction);
 double discountFactorUp = df * Math.exp(-EPS * relativeYearFraction);
 double discountFactorDw = df * Math.exp(EPS * relativeYearFraction);
 double rateUp = (Math.pow(discountFactorUp, -1d / periodPerYear / relativeYearFraction) - 1d) * periodPerYear;
 double rateDw = (Math.pow(discountFactorDw, -1d / periodPerYear / relativeYearFraction) - 1d) * periodPerYear;
 double expectedValue = 0.5 / EPS * (
   discountFactorFromPeriodicallyCompoundedRate(rateUp + SPREAD, periodPerYear, relativeYearFraction) -
   discountFactorFromPeriodicallyCompoundedRate(rateDw + SPREAD, periodPerYear, relativeYearFraction));
 ZeroRateSensitivity computed = test.zeroRatePointSensitivityWithSpread(
   DATE_AFTER, SPREAD, PERIODIC, periodPerYear);
 assertEquals(computed.getSensitivity(), expectedValue, EPS);
 assertEquals(computed.getCurrency(), GBP);
 assertEquals(computed.getCurveCurrency(), GBP);
 assertEquals(computed.getYearFraction(), relativeYearFraction);
}

代码示例来源:origin: OpenGamma/Strata

public void test_zeroRatePointSensitivityWithSpread_sensitivityCurrency_periodic() {
 int periodPerYear = 4;
 ZeroRateDiscountFactors test = ZeroRateDiscountFactors.of(GBP, DATE_VAL, CURVE);
 double relativeYearFraction = ACT_365F.relativeYearFraction(DATE_VAL, DATE_AFTER);
 double discountFactorUp = Math.exp(-(CURVE.yValue(relativeYearFraction) + EPS) * relativeYearFraction);
 double discountFactorDw = Math.exp(-(CURVE.yValue(relativeYearFraction) - EPS) * relativeYearFraction);
 double rateUp = (Math.pow(discountFactorUp, -1d / periodPerYear / relativeYearFraction) - 1d) * periodPerYear;
 double rateDw = (Math.pow(discountFactorDw, -1d / periodPerYear / relativeYearFraction) - 1d) * periodPerYear;
 double expectedValue = 0.5 / EPS * (
   discountFactorFromPeriodicallyCompoundedRate(rateUp + SPREAD, periodPerYear, relativeYearFraction) -
   discountFactorFromPeriodicallyCompoundedRate(rateDw + SPREAD, periodPerYear, relativeYearFraction));
 ZeroRateSensitivity computed = test
   .zeroRatePointSensitivityWithSpread(DATE_AFTER, USD, SPREAD, PERIODIC, periodPerYear);
 assertEquals(computed.getSensitivity(), expectedValue, EPS);
 assertEquals(computed.getCurrency(), USD);
 assertEquals(computed.getCurveCurrency(), GBP);
 assertEquals(computed.getYearFraction(), relativeYearFraction);
}

代码示例来源:origin: OpenGamma/Strata

@Override
public CurrencyParameterSensitivities parameterSensitivity(PointSensitivities pointSensitivities) {
 CurrencyParameterSensitivities sens = CurrencyParameterSensitivities.empty();
 for (PointSensitivity point : pointSensitivities.getSensitivities()) {
  if (point instanceof CreditCurveZeroRateSensitivity) {
   CreditCurveZeroRateSensitivity pt = (CreditCurveZeroRateSensitivity) point;
   LegalEntitySurvivalProbabilities factors = survivalProbabilities(pt.getLegalEntityId(), pt.getCurveCurrency());
   sens = sens.combinedWith(factors.parameterSensitivity(pt));
  } else if (point instanceof ZeroRateSensitivity) {
   ZeroRateSensitivity pt = (ZeroRateSensitivity) point;
   CreditDiscountFactors factors = discountFactors(pt.getCurveCurrency());
   sens = sens.combinedWith(factors.parameterSensitivity(pt));
  }
 }
 return sens;
}

代码示例来源:origin: OpenGamma/Strata

if (point instanceof ZeroRateSensitivity) {
 ZeroRateSensitivity pt = (ZeroRateSensitivity) point;
 DiscountFactors factors = discountFactors(pt.getCurveCurrency());
 sens = sens.combinedWith(factors.parameterSensitivity(pt));

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com