/**
* Copyright (C) 2012 - present by OpenGamma Inc. and the OpenGamma group of companies
*
* Please see distribution for license.
*/
package com.opengamma.financial.analytics.model.bondfutureoption;
import com.google.common.collect.Iterables;
import com.opengamma.core.id.ExternalSchemes;
import com.opengamma.financial.security.option.BondFutureOptionSecurity;
import com.opengamma.financial.security.option.OptionType;
import com.opengamma.id.ExternalId;
import com.opengamma.id.ExternalIdBundle;
/**
*
*/
public class BondFutureOptionUtils {
public static ExternalId getBloombergTicker(final BondFutureOptionSecurity security) {
final ExternalIdBundle bundle = security.getExternalIdBundle();
return Iterables.getOnlyElement(bundle.getExternalIds(ExternalSchemes.BLOOMBERG_TICKER));
}
public static ExternalId getCallBloombergTicker(final BondFutureOptionSecurity security) {
final ExternalId id = getBloombergTicker(security);
if (security.getOptionType().equals(OptionType.CALL)) {
return id;
}
final String ticker = id.getValue();
final String putTicker = ticker.replaceFirst("P", "C");
return ExternalId.of(ExternalSchemes.BLOOMBERG_TICKER, putTicker);
}
public static ExternalId getPutBloombergTicker(final BondFutureOptionSecurity security) {
final ExternalId id = getBloombergTicker(security);
if (security.getOptionType().equals(OptionType.PUT)) {
return id;
}
final String ticker = id.getValue();
final String putTicker = ticker.replaceFirst("C", "P");
return ExternalId.of(ExternalSchemes.BLOOMBERG_TICKER, putTicker);
}
}