Package com.opengamma

Examples of com.opengamma.OpenGammaRuntimeException


    if (object.getFra3MInstrumentProviders() != null) {
      final MutableFudgeMsg fra3MInstrumentProvidersMessage = serializer.newMessage();
      for (final Entry<Tenor, CurveInstrumentProvider> entry : object.getFra3MInstrumentProviders().entrySet()) {
        if (entry.getKey().getPeriod().toString() == null) {
          throw new OpenGammaRuntimeException("null");
        }
        serializer.addToMessageWithClassHeaders(fra3MInstrumentProvidersMessage, entry.getKey().getPeriod().toString(), null, entry.getValue(), CurveInstrumentProvider.class);
      }
      message.add(FRA_3M, fra3MInstrumentProvidersMessage);
    }

    if (object.getFra6MInstrumentProviders() != null) {
      final MutableFudgeMsg fra6MInstrumentProvidersMessage = serializer.newMessage();
      for (final Entry<Tenor, CurveInstrumentProvider> entry : object.getFra6MInstrumentProviders().entrySet()) {
        if (entry.getKey().getPeriod().toString() == null) {
          throw new OpenGammaRuntimeException("null");
        }
        serializer.addToMessageWithClassHeaders(fra6MInstrumentProvidersMessage, entry.getKey().getPeriod().toString(), null, entry.getValue(), CurveInstrumentProvider.class);
      }
      message.add(FRA_6M, fra6MInstrumentProvidersMessage);
    }
View Full Code Here


        cashInstrumentProviders.put(Tenor.of(DateUtils.toPeriod(field.getName())), deserializer.fieldValueToObject(CurveInstrumentProvider.class, field));
      }
    }

    if (message.hasField(FRA_3M) && message.hasField(FRA)) {
      throw new OpenGammaRuntimeException("Have message with the old FRA field and the new FRA_3M field: should not happen");
    }

    Map<Tenor, CurveInstrumentProvider> fra3MInstrumentProviders = null;
    if (message.hasField(FRA)) {
      // Treat all old definitions as if they were 3m FRA rates
      final FudgeMsg fraInstrumentProvidersMessage = message.getMessage(FRA);
      fra3MInstrumentProviders = new HashMap<>();
      for (final FudgeField field : fraInstrumentProvidersMessage.getAllFields()) {
        fra3MInstrumentProviders.put(Tenor.of(DateUtils.toPeriod(field.getName())), deserializer.fieldValueToObject(CurveInstrumentProvider.class, field));
      }
    } else if (message.hasField(FRA_3M)) {
      fra3MInstrumentProviders = new HashMap<>();
      final FudgeMsg fra3MInstrumentProvidersMessage = message.getMessage(FRA_3M);
      for (final FudgeField field : fra3MInstrumentProvidersMessage.getAllFields()) {
        fra3MInstrumentProviders.put(Tenor.of(DateUtils.toPeriod(field.getName())), deserializer.fieldValueToObject(CurveInstrumentProvider.class, field));
      }
    }

    if (message.hasField(FRA_6M) && message.hasField(FRA)) {
      throw new OpenGammaRuntimeException("Have message with the old FRA field and the new FRA_6M field: should not happen");
    }

    Map<Tenor, CurveInstrumentProvider> fra6MInstrumentProviders = null;
    if (message.hasField(FRA_6M)) {
      fra6MInstrumentProviders = new HashMap<>();
      final FudgeMsg fra6MInstrumentProvidersMessage = message.getMessage(FRA_6M);
      for (final FudgeField field : fra6MInstrumentProvidersMessage.getAllFields()) {
        fra6MInstrumentProviders.put(Tenor.of(DateUtils.toPeriod(field.getName())), deserializer.fieldValueToObject(CurveInstrumentProvider.class, field));
      }
    }

    Map<Tenor, CurveInstrumentProvider> futureInstrumentProviders = null;
    if (message.hasField(FUTURE)) {
      futureInstrumentProviders = new HashMap<>();
      final FudgeMsg futureInstrumentProvidersMessage = message.getMessage(FUTURE);
      for (final FudgeField field : futureInstrumentProvidersMessage.getAllFields()) {
        futureInstrumentProviders.put(Tenor.of(DateUtils.toPeriod(field.getName())), deserializer.fieldValueToObject(CurveInstrumentProvider.class, field));
      }
    }
    if (message.hasField(RATE) && message.hasField(LIBOR)) {
      throw new OpenGammaRuntimeException("Have message with old RATE field and new LIBOR field: should not happen");
    }

    Map<Tenor, CurveInstrumentProvider> liborInstrumentProviders = null;
    if (message.hasField(RATE)) {
      // Treat all old definitions as if they were Libor rates
      liborInstrumentProviders = new HashMap<>();
      final FudgeMsg rateInstrumentProvidersMessage = message.getMessage(RATE);
      for (final FudgeField field : rateInstrumentProvidersMessage.getAllFields()) {
        liborInstrumentProviders.put(Tenor.of(DateUtils.toPeriod(field.getName())), deserializer.fieldValueToObject(CurveInstrumentProvider.class, field));
      }
    } else if (message.hasField(LIBOR)) {
      liborInstrumentProviders = new HashMap<>();
      final FudgeMsg liborInstrumentProvidersMessage = message.getMessage(LIBOR);
      for (final FudgeField field : liborInstrumentProvidersMessage.getAllFields()) {
        liborInstrumentProviders.put(Tenor.of(DateUtils.toPeriod(field.getName())), deserializer.fieldValueToObject(CurveInstrumentProvider.class, field));
      }
    }

    if (message.hasField(RATE) && message.hasField(EURIBOR)) {
      throw new OpenGammaRuntimeException("Have message with old RATE field and new EURIBOR field: should not happen");
    }

    Map<Tenor, CurveInstrumentProvider> euriborInstrumentProviders = null;
    if (message.hasField(EURIBOR)) {
      euriborInstrumentProviders = new HashMap<>();
      final FudgeMsg euriborInstrumentProvidersMessage = message.getMessage(EURIBOR);
      for (final FudgeField field : euriborInstrumentProvidersMessage.getAllFields()) {
        euriborInstrumentProviders.put(Tenor.of(DateUtils.toPeriod(field.getName())), deserializer.fieldValueToObject(CurveInstrumentProvider.class, field));
      }
    }

    Map<Tenor, CurveInstrumentProvider> cdorInstrumentProviders = null;
    if (message.hasField(CDOR)) {
      cdorInstrumentProviders = new HashMap<>();
      final FudgeMsg cdorInstrumentProvidersMessage = message.getMessage(CDOR);
      for (final FudgeField field : cdorInstrumentProvidersMessage.getAllFields()) {
        cdorInstrumentProviders.put(Tenor.of(DateUtils.toPeriod(field.getName())), deserializer.fieldValueToObject(CurveInstrumentProvider.class, field));
      }
    }

    Map<Tenor, CurveInstrumentProvider> ciborInstrumentProviders = null;
    if (message.hasField(CIBOR)) {
      ciborInstrumentProviders = new HashMap<>();
      final FudgeMsg ciborInstrumentProvidersMessage = message.getMessage(CIBOR);
      for (final FudgeField field : ciborInstrumentProvidersMessage.getAllFields()) {
        ciborInstrumentProviders.put(Tenor.of(DateUtils.toPeriod(field.getName())), deserializer.fieldValueToObject(CurveInstrumentProvider.class, field));
      }
    }

    Map<Tenor, CurveInstrumentProvider> stiborInstrumentProviders = null;
    if (message.hasField(STIBOR)) {
      stiborInstrumentProviders = new HashMap<>();
      final FudgeMsg stiborInstrumentProvidersMessage = message.getMessage(STIBOR);
      for (final FudgeField field : stiborInstrumentProvidersMessage.getAllFields()) {
        stiborInstrumentProviders.put(Tenor.of(DateUtils.toPeriod(field.getName())), deserializer.fieldValueToObject(CurveInstrumentProvider.class, field));
      }
    }

    if (message.hasField(SWAP) && message.hasField(SWAP_3M)) {
      throw new OpenGammaRuntimeException("Have message with old SWAP field and new SWAP_3M field: should not happen");
    }

    Map<Tenor, CurveInstrumentProvider> swap3MInstrumentProviders = null;
    if (message.hasField(SWAP)) {
      // Treat all old definitions as if they were swaps with 3m floating legs
      swap3MInstrumentProviders = new HashMap<>();
      final FudgeMsg swapInstrumentProvidersMessage = message.getMessage(SWAP);
      for (final FudgeField field : swapInstrumentProvidersMessage.getAllFields()) {
        swap3MInstrumentProviders.put(Tenor.of(DateUtils.toPeriod(field.getName())), deserializer.fieldValueToObject(CurveInstrumentProvider.class, field));
      }
    } else if (message.hasField(SWAP_3M)) {
      swap3MInstrumentProviders = new HashMap<>();
      final FudgeMsg swap3MInstrumentProvidersMessage = message.getMessage(SWAP_3M);
      for (final FudgeField field : swap3MInstrumentProvidersMessage.getAllFields()) {
        swap3MInstrumentProviders.put(Tenor.of(DateUtils.toPeriod(field.getName())), deserializer.fieldValueToObject(CurveInstrumentProvider.class, field));
      }
    }

    if (message.hasField(SWAP) && message.hasField(SWAP_6M)) {
      throw new OpenGammaRuntimeException("Have message with old SWAP field and new SWAP_6M field: should not happen");
    }

    Map<Tenor, CurveInstrumentProvider> swap6MInstrumentProviders = null;
    if (message.hasField(SWAP_6M)) {
      swap6MInstrumentProviders = new HashMap<>();
View Full Code Here

    final Random random = new Random(45689);
    final Collection<FinancialSecurity> securities = createRandomSwaps(random, 40);
    securities.addAll(createRandomCapFloors(random, 60));
    securities.addAll(createRandomCapFloorCMSSpreads(random, 60));
    if (securities.size() == 0) {
      throw new OpenGammaRuntimeException("No valid securities were generated");
    }
    persistToPortfolio(securities, PORTFOLIO_NAME);
  }
View Full Code Here

    final boolean cap = random.nextBoolean();
    final double strike = getSwapRate(CURRENCY, TRADE_DATE, tenor) * (1 + ((0.5 - random.nextDouble()) / 30));
    final double notional = 1000000 * (1 + random.nextInt(50));
    final ExternalId underlyingId = TICKERS.get(tenor);
    if (underlyingId == null) {
      throw new OpenGammaRuntimeException("Could not get swap rate ticker for " + tenor);
    }
    final CapFloorSecurity security = new CapFloorSecurity(TRADE_DATE.atStartOfDay(ZoneOffset.UTC), maturityDate, notional, underlyingId, strike, PeriodFrequency.SEMI_ANNUAL,
        Currency.USD, ACT_360, payer, cap, false);
    security.setName("USD " + FORMAT.format(notional / 1000000) + (cap ? "MM cap " : "MM floor ") + "@ " + FORMAT.format(strike) +
        (payer ? "%, pay " : "%, receive ") + tenor.getPeriod().normalized().getYears() + "Y ISDA fixing" +
View Full Code Here

    final ZonedDateTime maturityDate = tradeDate.plus(tenor.getPeriod());
    final ExternalId iborReferenceRate = LIBOR_3M;
    final PeriodFrequency frequency = PeriodFrequency.QUARTERLY;
    final ExternalId cmsId = TICKERS.get(tenor);
    if (cmsId == null) {
      throw new OpenGammaRuntimeException("Could not get swap rate ticker for " + tenor);
    }
    final InterestRateNotional notional = new InterestRateNotional(Currency.USD, 1000000 * (1 + random.nextInt(50)));
    final FloatingInterestRateLeg iborLeg = new FloatingInterestRateLeg(ACT_360, frequency, REGION, FOLLOWING, notional, true,
        iborReferenceRate, FloatingRateType.IBOR);
    final FloatingInterestRateLeg cmsLeg = new FloatingInterestRateLeg(ACT_360, frequency, REGION, FOLLOWING, notional, true,
View Full Code Here

    final ZonedDateTime maturityDate = tradeDate.plus(maturity.getPeriod());
    final boolean payer = random.nextBoolean();
    final boolean cap = random.nextBoolean();
    final ExternalId payIdentifier = TICKERS.get(payTenor);
    if (payIdentifier == null) {
      throw new OpenGammaRuntimeException("Could not get swap rate ticker for " + payTenor);
    }
    final ExternalId receiveIdentifier = TICKERS.get(receiveTenor);
    if (receiveIdentifier == null) {
      throw new OpenGammaRuntimeException("Could not get swap rate ticker for " + receiveTenor);
    }
    final double notional = 1000000 * (1 + random.nextInt(50));
    final CapFloorCMSSpreadSecurity security = new CapFloorCMSSpreadSecurity(tradeDate, maturityDate, notional, payIdentifier, receiveIdentifier, strike,
        PeriodFrequency.ANNUAL, CURRENCY, ACT_360, payer, cap);
    security.setName(CURRENCY.getCode() + " " + FORMAT.format(notional / 1000000) + (cap ? "MM cap spread " : "MM floor spread ") + "@ " + FORMAT.format(strike) +
View Full Code Here

  private Double getSwapRate(final Currency ccy, final LocalDate tradeDate, final Tenor maturity) {
    final HistoricalTimeSeriesSource historicalSource = getToolContext().getHistoricalTimeSeriesSource();
    final MasterConfigSource configSource = new MasterConfigSource(getToolContext().getConfigMaster());
    final ExternalId swapRateForMaturityIdentifier = getSwapRateFor(configSource, ccy, tradeDate, maturity);
    if (swapRateForMaturityIdentifier == null) {
      throw new OpenGammaRuntimeException("Couldn't get swap rate identifier for " + ccy + " [" + maturity + "]" + " from " + tradeDate);
    }

    final HistoricalTimeSeries fixedRateSeries = historicalSource.getHistoricalTimeSeries("PX_LAST",
        swapRateForMaturityIdentifier.toBundle(), HistoricalTimeSeriesRatingFieldNames.DEFAULT_CONFIG_NAME, tradeDate.minusDays(30), true, tradeDate, true);
    if (fixedRateSeries == null) {
      throw new OpenGammaRuntimeException("Time series for " + swapRateForMaturityIdentifier + " was null");
    }
    if (fixedRateSeries.getTimeSeries().isEmpty()) {
      throw new OpenGammaRuntimeException("Time series for " + swapRateForMaturityIdentifier + " was empty");
    }
    return fixedRateSeries.getTimeSeries().getLatestValue();
  }
View Full Code Here

  }

  private static ExternalId getSwapRateFor(final ConfigSource configSource, final Currency ccy, final LocalDate tradeDate, final Tenor tenor) {
    final CurveSpecificationBuilderConfiguration curveSpecConfig = configSource.getSingle(CurveSpecificationBuilderConfiguration.class, "DEFAULT_" + ccy.getCode(), VersionCorrection.LATEST);
    if (curveSpecConfig == null) {
      throw new OpenGammaRuntimeException("No curve spec builder configuration for DEFAULT_" + ccy.getCode());
    }
    ExternalId swapSecurity;
    if (ccy.equals(Currency.USD)) {
      // Standard (i.e. matches convention) floating leg tenor for USD is 3M
      swapSecurity = curveSpecConfig.getSwap3MSecurity(tradeDate, tenor);
View Full Code Here

  protected abstract String enumToStringNoCache(E value);
 
  protected E stringToEnum(final String string) {
    final E value = _stringToEnum.get(string);
    if (value == null) {
      throw new OpenGammaRuntimeException("unexpected value: " + string);
    }
    return value;
  }
View Full Code Here

    if (fullFragment != null) {
      cycleId = fullFragment.getViewCycleId();
    } else if (deltaFragment != null) {
      cycleId = deltaFragment.getViewCycleId();
    } else {
      throw new OpenGammaRuntimeException("both results fragments were null");
    }
    return cycleId;
  }
View Full Code Here

TOP

Related Classes of com.opengamma.OpenGammaRuntimeException

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.