Esempio n. 1
0
 public void TestMDSBloomberg()
 {
     // test basic start, request snapshot, and stop functions
     // - create a MDS client with direct connection to provider
     using (Reference <ILogger> loggerRef = Reference <ILogger> .Create(new TraceLogger(true)))
     {
         IModuleInfo clientInfo = new V131ModuleInfo(new V131ClientInfo());
         using (ICoreClient client = new CoreClientFactory(loggerRef).SetEnv(BuildConst.BuildEnv).Create())
         {
             const string curveName  = "Orion.V5r3.Configuration.PricingStructures.QR_LIVE.RateCurve.AUD-BBR-BBSW-3M";
             ICoreItem    marketItem = client.LoadItem <Market>(curveName);
             if (marketItem == null)
             {
                 throw new ApplicationException("Market '" + curveName + "' not found!");
             }
             var market = (Market)marketItem.Data;
             //PricingStructure ps = market.Items[0];
             PricingStructureValuation psv            = market.Items1[0];
             QuotedAssetSet            quotedAssetSet = ((YieldCurveValuation)psv).inputs;
             using (IMarketDataClient mdc = new MarketDataRealtimeClient(
                        loggerRef, null, client,
                        MDSProviderId.Bloomberg))//MDSProviderId.GlobalIB
             {
                 QuotedAssetSet data = mdc.GetMarketQuotes(
                     MDSProviderId.Bloomberg, clientInfo, Guid.NewGuid(), true,
                     null,
                     quotedAssetSet).Result;
                 Assert.IsNotNull(data);
             }
         }
     }
 }
Esempio n. 2
0
        static void Main(string[] args)
        {
            ILogger logger = Logger.CreateConsoleLogger("TestMdc: ");

            logger.LogInfo("Running...");
            try
            {
                QRDataProviderId dataProviderId = QRDataProviderId.Bloomberg; // QRDataProviderId.ReutersIDN;

                // create MDS client
                MarketDataSet     data = null;
                IMarketDataClient mdc  = new MarketDataRealtimeClient(
                    logger, new Sequencer(logger),
                    dataProviderId);

                data = mdc.GetCurrentData(
                    QRDataProviderId.Undefined,
                    Guid.NewGuid(),
                    null,
                    QRAssetIdType.Undefined,
                    new string[6] {
                    "AUD-FxSpot-SP",
                    "NZD-FxSpot-SP",
                    "GBP-FxSpot-SP",
                    "JPY-FxSpot-SP",
                    "CHF-FxSpot-SP",
                    "XYZ-FxSpot-SP"
                },
                    new string[2] {
                    "ASK", "BID"
                });

                Thread.Sleep(1000);

                logger.LogInfo("Results...");
                for (int i = 0; i < data.rows.Length; i++)
                {
                    MarketDataRow row = data.rows[i];
                    logger.LogInfo("[{0}] {1}", i, row.instrumentId);
                    for (int j = 0; j < row.field.Length; j++)
                    {
                        MarketDataFld field = row.field[j];
                        logger.LogInfo("[{0}]     {1} ({2})='[{3}]'", i, field.name, field.type, String.Join(",", field.value));
                    }
                }
                logger.LogInfo("Completed.");
            }
            catch (Exception e)
            {
                logger.Log(e);
            }
            logger.LogInfo("Press ENTER to exit.");
            Console.ReadLine();
        }