/** * Copyright (C) 2015 - present by OpenGamma Inc. and the OpenGamma group of companies * * Please see distribution for license. */ package com.opengamma.solutions.library.tool; import java.util.Set; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.threeten.bp.ZonedDateTime; import com.google.common.collect.Sets; import com.google.inject.Guice; import com.google.inject.Injector; import com.google.inject.Module; import com.opengamma.sesame.engine.Results; import com.opengamma.solutions.library.engine.EngineModule; import com.opengamma.solutions.library.storage.DataLoadModule; import com.opengamma.solutions.library.storage.InMemoryStorageModule; import com.opengamma.solutions.library.storage.SourcesModule; import com.opengamma.solutions.util.ViewUtils; import com.opengamma.util.time.DateUtils; /** * Credit pricer example */ public class CreditPricerExample { private static final Logger s_logger = LoggerFactory.getLogger(CreditPricerExample.class); private static final String CREDIT_CURVE_NAME = "Sample Credit Curve"; private static final String YIELD_CURVE_NAME = "Sample Yield Curve"; private static final ZonedDateTime VALUATION_TIME = DateUtils.getUTCDate(2014, 10, 16); /** * Entry point to running the Credit Pricer. * Log PV and CS01 results to the console * @param args, no args are need to run this tool */ public static void main(String[] args) { Set<Module> modules = Sets.newHashSet(); modules.add(new InMemoryStorageModule()); modules.add(new SourcesModule()); modules.add(new DataLoadModule("credit-import-data")); modules.add(new EngineModule()); Injector injector = Guice.createInjector(modules); CreditPricer pricer = injector.getInstance(CreditPricer.class); Results results = pricer.price(VALUATION_TIME, CREDIT_CURVE_NAME, YIELD_CURVE_NAME); s_logger.info("Got results:\n" + ViewUtils.format(results)); } }