public static Set<ValueRequirement> buildRequirements( final InterpolatedYieldCurveSpecification specification, final FunctionCompilationContext context) { final Set<ValueRequirement> result = new HashSet<ValueRequirement>(); for (final FixedIncomeStripWithIdentifier strip : specification.getStrips()) { result.add( new ValueRequirement(MarketDataRequirementNames.MARKET_VALUE, strip.getSecurity())); } final ConventionBundleSource conventionBundleSource = OpenGammaCompilationContext.getConventionBundleSource(context); final ConventionBundle conventionBundle = conventionBundleSource.getConventionBundle( Identifier.of( InMemoryConventionBundleMaster.SIMPLE_NAME_SCHEME, specification.getCurrency().getCode() + "_SWAP")); final ConventionBundle referenceRateConvention = conventionBundleSource.getConventionBundle( IdentifierBundle.of(conventionBundle.getSwapFloatingLegInitialRate())); final Identifier initialRefRateId = SecurityUtils.bloombergTickerSecurityId( referenceRateConvention.getIdentifiers().getIdentifier(SecurityUtils.BLOOMBERG_TICKER)); result.add(new ValueRequirement(MarketDataRequirementNames.MARKET_VALUE, initialRefRateId)); return Collections.unmodifiableSet(result); }