com.opengamma.financial.analytics.model.bondfutureoption.BondFutureOptionUtils.java Source code

Java tutorial

Introduction

Here is the source code for com.opengamma.financial.analytics.model.bondfutureoption.BondFutureOptionUtils.java

Source

/**
 * 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);
    }
}