Package com.opengamma.engine.target

Examples of com.opengamma.engine.target.ComputationTargetReference


    if (requirements == null) {
      return null;
    }
    // Add live market_value of the option
    final FinancialSecurity security = (FinancialSecurity) target.getSecurity();
    final ComputationTargetReference securityTarget = new ComputationTargetSpecification(ComputationTargetType.SECURITY, security.getUniqueId());
    final ValueRequirement securityValueReq = new ValueRequirement(MarketDataRequirementNames.MARKET_VALUE, securityTarget);
    requirements.add(securityValueReq);

    return requirements;
  }
View Full Code Here


                                TypeFormatter.Format format,
                                ResultsCache cache,
                                Class<?> columnType,
                                Object inlineKey) {
    PortfolioGridRow row = _rows.get(rowIndex);
    ComputationTargetReference target = row.getTarget();
    ComputationTargetType targetType = target.getType();
    // TODO do I need to use the target type to figure out the row type? can I just have different row types?
    if (targetType.isTargetType(ComputationTargetType.POSITION)) {
      RowTarget rowTarget;
      UniqueId securityId = row.getSecurityId();
      ResultsCache.Result securityResult = cache.getEntity(securityId.getObjectId());
View Full Code Here

    //TODO get rid of hardcoded maxProxydelta = 1.5
    final LocalVolatilityForwardPDEGreekCalculator1<?> calculator = new LocalVolatilityForwardPDEGreekCalculator1<Moneyness>(theta, timeSteps, spaceSteps, timeGridBunching, spaceGridBunching,
        /*(MoneynessPiecewiseSABRSurfaceFitter)*/surfaceFitter, localVolatilityCalculator, 1.5);
    final ValueSpecification spec = new ValueSpecification(desiredValue.getValueName(), target.toSpecification(), desiredValue.getConstraints());
    final FinancialSecurity security = (FinancialSecurity) target.getSecurity();
    final ComputationTargetReference id = getTargetForUnderlyings(target);
    final ValueRequirement surfaceRequirement = getVolatilitySurfaceRequirement(surfaceName, surfaceType, xAxis, yAxis, yAxisType, hName, forwardCurveCalculationMethod, forwardCurveName, id);
    final Object localVolatilitySurfaceObject = inputs.getValue(surfaceRequirement);
    if (localVolatilitySurfaceObject == null) {
      throw new OpenGammaRuntimeException("Local volatility surface was null");
    }
View Full Code Here

    final String yAxisType = yAxisTypeNames.iterator().next();
    final String forwardCurveCalculationMethod = forwardCurveCalculationMethodNames.iterator().next();
    final String h = hNames.iterator().next();
    final String forwardCurveName = forwardCurveNames.iterator().next();
    final String surfaceName = surfaceNames.iterator().next();
    final ComputationTargetReference id = getTargetForUnderlyings(target);
    final ValueRequirement volDataRequirement = getUnderlyingVolatilityDataRequirement(surfaceName, id);
    return Sets.newHashSet(getVolatilitySurfaceRequirement(surfaceName, surfaceType, xAxis, yAxis, yAxisType, h,
        forwardCurveCalculationMethod, forwardCurveName, id),
        getForwardCurveRequirement(forwardCurveCalculationMethod, forwardCurveName, id),
        volDataRequirement);
View Full Code Here

   * @param valueRequirement to check for versioning
   * @return either 'unversioned' or returned unaltered
   */
  @Override
  protected ValueRequirement createRequirement(ValueRequirement valueRequirement) {
    ComputationTargetReference ref = valueRequirement.getTargetReference();

    if (ref instanceof ComputationTargetSpecification) {
      if (((ComputationTargetSpecification) ref).getUniqueId() == null) {
        return valueRequirement;
      }
      if (((ComputationTargetSpecification) ref).getUniqueId().isVersioned()) {
        ComputationTargetSpecification newTargetSpec = new ComputationTargetSpecification(ref.getType(), ((ComputationTargetSpecification) ref).getUniqueId().toLatest());
        ValueRequirement valueReq = new ValueRequirement(valueRequirement.getValueName(), newTargetSpec, valueRequirement.getConstraints());
        return valueReq;
      }
      return valueRequirement;
    } else {
View Full Code Here

      // with but might be necessary in the general case as there will be duplicate values in the resolver cache.
      return type.accept(s_getLeafType, null);
    }

    private void log(final ComputationTargetReference reference, final ComputationTargetSpecification resolved) {
      final ComputationTargetReference key = reference.accept(this);
      if (key != null) {
        final UniqueId resolvedId = resolved.getUniqueId();
        if (resolvedId != null) {
          final UniqueId previousId = _resolutions.put(key, resolvedId);
          if ((previousId != null) && !resolvedId.equals(previousId)) {
View Full Code Here

    // ResolutionLogger

    @Override
    public void log(final ComputationTargetReference reference, final UniqueId resolvedId) {
      final ComputationTargetReference key = reference.accept(this);
      if (key != null) {
        final UniqueId previousId = _resolutions.put(key, resolvedId);
        if ((previousId != null) && !resolvedId.equals(previousId)) {
          s_logger.info("Transitive resolution of {} to {} has expired", previousId);
          _expiredResolutions.add(previousId);
View Full Code Here

  }

  private static void addSpecificRequirements(final DependencyGraphBuilder builder, final ResultModelDefinition resultModelDefinition, final ViewCalculationConfiguration calcConfig) {
    // Scan through the current calc config's specific requirements
    for (final ValueRequirement requirement : calcConfig.getSpecificRequirements()) {
      final ComputationTargetReference targetReference = requirement.getTargetReference();
      if (resultModelDefinition.getOutputMode(targetReference.getType()) == ResultOutputMode.NONE) {
        // We're not including this in the results, so no point it being a terminal output. It will be added
        // automatically if it is needed for some other terminal output.
        continue;
      }
      // Add the specific requirement to the current calc config's dep graph builder
View Full Code Here

  @Override
  public ValueRequirement buildObject(FudgeDeserializer deserializer, FudgeMsg message) {
    String valueName = message.getString(VALUE_NAME_FIELD_NAME);
    Validate.notNull(valueName, "Fudge message is not a ValueRequirement - field 'valueName' is not present");
    ComputationTargetReference targetReference = ComputationTargetReferenceFudgeBuilder.buildObjectImpl(deserializer, message);
    FudgeField constraints = message.getByName(CONSTRAINTS_FIELD_NAME);
    if (constraints != null) {
      return new ValueRequirement(valueName, targetReference, deserializer.fieldValueToObject(ValueProperties.class, constraints));
    } else {
      return new ValueRequirement(valueName, targetReference);
View Full Code Here

          return null;
        }
      }
      final Map<Iterator<ValueSpecification>, ValueRequirement> inputs = new HashMap<Iterator<ValueSpecification>, ValueRequirement>();
      for (final ValueRequirement requirement : requirements) {
        final ComputationTargetReference targetRef = requirement.getTargetReference();
        if (targetRef instanceof ComputationTargetSpecification) {
          final ComputationTargetSpecification targetSpec = targetRef.getSpecification();
          final UniqueIdentifiable requirementTarget = _targetCache.get(targetSpec.getUniqueId());
          if (isAvailable(targetSpec, requirementTarget, requirement)) {
            s_logger.debug("Requirement {} can be satisfied by market data", requirement);
            inputs.put(new SingleItem<ValueSpecification>(new ValueSpecification(requirement.getValueName(), targetSpec, ValueProperties.with(ValuePropertyNames.FUNCTION, "marketdata").get())),
                requirement);
          } else {
            if (requirementTarget != null) {
              s_logger.debug("Resolving {} for function {}", requirement, function);
              final Set<ValueSpecification> satisfied = satisfyRequirement(visitedRequirements, visitedFunctions, ComputationTargetResolverUtils.createResolvedTarget(targetSpec, requirementTarget),
                  requirement);
              if (satisfied == null) {
                s_logger.debug("Can't satisfy {} for function {}", requirement, function);
                if (!function.canHandleMissingRequirements()) {
                  return null;
                }
              } else {
                s_logger.debug("Resolved {} to {}", requirement, satisfied);
                inputs.put(satisfied.iterator(), requirement);
              }
            } else {
              s_logger.debug("No target cached for {}, assuming ok", targetSpec);
              inputs.put(new SingleItem<ValueSpecification>(new ValueSpecification(requirement.getValueName(), targetSpec,
                  ValueProperties.with(ValuePropertyNames.FUNCTION, "").get())), requirement);
            }
          }
        } else {
          s_logger.debug("Externally referenced entity {}, assuming ok", targetRef);
          final ExternalId eid = targetRef.getRequirement().getIdentifiers().iterator().next();
          final UniqueId uid = UniqueId.of(eid.getScheme().getName(), eid.getValue());
          inputs.put(
              new SingleItem<ValueSpecification>(new ValueSpecification(requirement.getValueName(), new ComputationTargetSpecification(targetRef.getType(), uid), ValueProperties.with(
                  ValuePropertyNames.FUNCTION, "").get())), requirement);
        }
      }
      final Set<ValueSpecification> outputs = new HashSet<ValueSpecification>();
      final Map<ValueSpecification, ValueRequirement> inputSet = new HashMap<ValueSpecification, ValueRequirement>();
View Full Code Here

TOP

Related Classes of com.opengamma.engine.target.ComputationTargetReference

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.