Package com.opengamma.bbg.loader

Source Code of com.opengamma.bbg.loader.BloombergIRFutureOptionLoader

/**
* Copyright (C) 2009 - present by OpenGamma Inc. and the OpenGamma group of companies
*
* Please see distribution for license.
*/
package com.opengamma.bbg.loader;

import java.util.Collection;
import java.util.Set;

import org.springframework.context.ConfigurableApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

import com.google.common.collect.Sets;
import com.opengamma.bbg.referencedata.ReferenceDataProvider;
import com.opengamma.bbg.util.BloombergDataUtils;
import com.opengamma.bbg.util.BloombergDomainIdentifierResolver;
import com.opengamma.financial.security.DefaultSecurityLoader;
import com.opengamma.id.ExternalId;
import com.opengamma.id.ExternalIdBundle;
import com.opengamma.masterdb.security.DbSecurityMaster;
import com.opengamma.provider.security.SecurityProvider;
import com.opengamma.util.PlatformConfigUtils;

/**
* Little util for loading options for Interest rate future
*/
public class BloombergIRFutureOptionLoader {

  /* package */static final String CONTEXT_CONFIGURATION_PATH = "/com/opengamma/bbg/loader/bloomberg-security-loader-context.xml";

  private static ConfigurableApplicationContext getApplicationContext() {
    ConfigurableApplicationContext context = new ClassPathXmlApplicationContext(CONTEXT_CONFIGURATION_PATH);
    context.start();
    return context;
  }
 
  /**
   * Little util for loading options for Interest rate future.
   * @param args command line params
   */
  public static void main(String args[]) { //CSIGNORE
    ExternalId underlyingId = ExternalId.parse(args[0]);
   
    PlatformConfigUtils.configureSystemProperties();
    ConfigurableApplicationContext appcontext = getApplicationContext();
   
    ReferenceDataProvider bbgRefDataProvider = appcontext.getBean("sharedReferenceDataProvider", ReferenceDataProvider.class);
    String bloombergKey = BloombergDomainIdentifierResolver.toBloombergKey(underlyingId);
    SecurityProvider secProvider = appcontext.getBean("bloombergSecurityProvider", SecurityProvider.class);
    DbSecurityMaster secMaster = appcontext.getBean("dbSecurityMaster", DbSecurityMaster.class);
    DefaultSecurityLoader loader = new DefaultSecurityLoader(secMaster, secProvider);
   
    Set<ExternalId> optionChain = BloombergDataUtils.getOptionChain(bbgRefDataProvider, bloombergKey);
    if (optionChain != null && !optionChain.isEmpty()) {
      loader.loadSecurities(toBundles(optionChain));
    }
  }

  private static Collection<ExternalIdBundle> toBundles(Set<ExternalId> optionChain) {
    Set<ExternalIdBundle> results = Sets.newHashSet();
    for (ExternalId identifier : optionChain) {
      results.add(ExternalIdBundle.of(identifier));
    }
    return results;
  }

}
TOP

Related Classes of com.opengamma.bbg.loader.BloombergIRFutureOptionLoader

TOP
Copyright © 2018 www.massapi.com. 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.