Package com.opengamma.engine.value

Examples of com.opengamma.engine.value.ComputedValue


  @Override
  protected Set<ComputedValue> getResult(final InstrumentDerivative forex, final ForexOptionDataBundle<?> data, final ComputationTarget target,
      final Set<ValueRequirement> desiredValues, final FunctionInputs inputs, final ValueSpecification spec, final FunctionExecutionContext executionContext) {
    if (data instanceof SmileDeltaTermStructureDataBundle) {
      final double result = forex.accept(SpotBlackGammaForexCalculator.getInstance(), data);
      return Collections.singleton(new ComputedValue(spec, result));
    }
    throw new OpenGammaRuntimeException("Can only calculate spot gamma for surfaces with smiles");
  }
View Full Code Here


        }
        final DoubleTimeSeries<?> spotFX = ((HistoricalTimeSeries) spotFXObject).getTimeSeries();
        vegaPnL = vegaPnL.multiply(spotFX);
      }
      final ValueSpecification spec = new ValueSpecification(ValueRequirementNames.PNL_SERIES, target.toSpecification(), desiredValue.getConstraints());
      return Collections.singleton(new ComputedValue(spec, vegaPnL));
    }
View Full Code Here

  @Override
  protected Set<ComputedValue> getResult(final InstrumentDerivative forex, final YieldCurveWithBlackForexTermStructureBundle data, final ComputationTarget target,
      final Set<ValueRequirement> desiredValues, final FunctionInputs inputs, final ValueSpecification spec, final FunctionExecutionContext executionContext) {
    final MultipleCurrencyAmount result = forex.accept(CALCULATOR, data);
    return Collections.singleton(new ComputedValue(spec, result));
  }
View Full Code Here

    for (ComputedValue input : inputs.getAllValues()) {
      currentSum = MoneyCalculationUtils.add(currentSum, new BigDecimal(String.valueOf(input.getValue())));
    }
    final ValueRequirement desiredValue = desiredValues.iterator().next();
    final ValueSpecification valueSpecification = new ValueSpecification(ValueRequirementNames.PNL, target.toSpecification(), desiredValue.getConstraints());
    final ComputedValue result = new ComputedValue(valueSpecification, currentSum.doubleValue());
    return Sets.newHashSet(result);
  }
View Full Code Here

    final String expectedCurrency = spec.getProperty(ValuePropertyNames.CURRENCY);
    if (!expectedCurrency.equals(resultCurrency)) {
      throw new OpenGammaRuntimeException("Expected currency " + expectedCurrency + " does not equal result currency " + resultCurrency);
    }
    final double amount = ca.getAmount();
    return Collections.singleton(new ComputedValue(spec, amount));
  }
View Full Code Here

  @Override
  protected Set<ComputedValue> getResult(final InstrumentDerivative forex, final ForexOptionDataBundle<?> data, final ComputationTarget target,
      final Set<ValueRequirement> desiredValues, final FunctionInputs inputs, final ValueSpecification spec, final FunctionExecutionContext executionContext) {
    if (data instanceof SmileDeltaTermStructureDataBundle) {
      final Double result = forex.accept(CALCULATOR, data);
      return Collections.singleton(new ComputedValue(spec, result));
    }
    throw new OpenGammaRuntimeException("Can only calculated implied volatility for surfaces with smiles");
  }
View Full Code Here

      final String expectedCurrency = spec.getProperty(ValuePropertyNames.CURRENCY);
      if (!expectedCurrency.equals(resultCurrency)) {
        throw new OpenGammaRuntimeException("Expected currency " + expectedCurrency + " does not equal result currency " + resultCurrency);
      }
      final double deltaValue = result.getAmount();
      return Collections.singleton(new ComputedValue(spec, deltaValue));
    }
    throw new OpenGammaRuntimeException("Can only calculate delta for surfaces with smiles");
  }
View Full Code Here

        throw new OpenGammaRuntimeException("Unable to find both pay and receive curve P&L series in inputs");
      }
      final DoubleTimeSeries<?> result = payPnLSeries.add(receivePnLSeries);
      final ValueRequirement desiredValue = desiredValues.iterator().next();
      final ValueSpecification resultSpec = new ValueSpecification(ValueRequirementNames.PNL_SERIES, target.toSpecification(), desiredValue.getConstraints());
      return Collections.singleton(new ComputedValue(resultSpec, result));
    }
View Full Code Here

          spot = data.getFxRates().getFxRate(fxDerivative.getCurrency2(), fxDerivative.getCurrency1());      
        }
      } else if (forex instanceof ForexOptionSingleBarrier) {
        final ForexOptionSingleBarrier fxDerivative = (ForexOptionSingleBarrier) forex;
        spot = data.getFxRates().getFxRate(fxDerivative.getCurrency1(), fxDerivative.getCurrency2());
        return Collections.singleton(new ComputedValue(spec, gammaValue * spot * spot));
      }
      return Collections.singleton(new ComputedValue(spec, gammaValue * spot));
    }
    throw new OpenGammaRuntimeException("Can only calculate gamma spot for surfaces with smiles");
  }
View Full Code Here

  @Override
  protected Set<ComputedValue> getResult(final InstrumentDerivative forex, final ForexOptionDataBundle<?> data, final ComputationTarget target,
      final Set<ValueRequirement> desiredValues, final FunctionInputs inputs, final ValueSpecification spec, final FunctionExecutionContext executionContext) {
    if (data instanceof SmileDeltaTermStructureDataBundle) {
      final double result = forex.accept(ForwardBlackGammaForexCalculator.getInstance(), data);
      return Collections.singleton(new ComputedValue(spec, result));
    }
    throw new OpenGammaRuntimeException("Can only calculate forward gamma for surfaces with smiles");
  }
View Full Code Here

TOP

Related Classes of com.opengamma.engine.value.ComputedValue

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.