Exemplo n.º 1
0
        private static void OnInitialisationStatus(object sender, EventArgs <bool> eventArgs)
        {
            Console.WriteLine("OnInitialisationStatus: {0}", eventArgs);

            if (eventArgs.Args)
            {
                _bloomberg.ToObservable(new[] { new SubscriptionRequest("VOD LN Equity", new[] { "BID", "ASK" }) })
                .ObserveOn(TaskPoolScheduler.Default)
                .Subscribe(
                    response =>
                {
                    Console.WriteLine("Subscription Received.");
                    Console.WriteLine("{0} - [{1}]", response.Ticker, string.Join(",", response.Data.Select(x => string.Format("{0}: {1}", x.Key, x.Value))));
                },
                    error => Console.WriteLine("Subscription Error: {0}", error),
                    () => Console.WriteLine("Subscription Completed."));

                _bloomberg.ToObservable(ReferenceDataRequest.Create(new[] { "VOD LN Equity", "TSCO LN Equity" }, new[] { "PX_LAST" }))
                .Subscribe(
                    response =>
                {
                    Console.WriteLine("Reference Data Received.");
                    foreach (var item in response)
                    {
                        if (item.Value.IsLeft)
                        {
                            Console.WriteLine("Ticker={0}, Error={1}", item.Key, item.Value.Left);
                        }
                        else
                        {
                            Console.WriteLine("{0} - [{1}]", item.Key, string.Join(",", item.Value.Right.Select(x => string.Format("{0}: {1}", x.Key, x.Value))));
                        }
                    }
                },
                    error => Console.WriteLine("Reference Data Error: {0}", error),
                    () => Console.WriteLine("Reference Data Completed."));

                _bloomberg.ToObservable(new SecurityEntitlementsRequest(new[] { "VOD LN Equity", "IBM US Equity" }))
                .Subscribe(
                    response =>
                {
                    Console.WriteLine("Security Entitlements Received.");
                    foreach (var item in response)
                    {
                        Console.WriteLine("Ticker={0}, Entitlements=[{1}]", item.Key, string.Join(",", item.Value.EntitlementIds));
                    }
                },
                    error => Console.WriteLine("Security Entitlements Error={0}", error),
                    () => Console.WriteLine("Security Entitlements Completed."));

                _bloomberg.ToObservable(IntradayTickRequest.Create("VOD LN Equity", new[] { EventType.BID, EventType.ASK, EventType.TRADE }, new DateTime(2015, 10, 16, 9, 0, 0), new DateTime(2015, 10, 16, 9, 10, 0)))
                .Subscribe(response =>
                {
                    Console.WriteLine("Intraday Ticks Received.");
                    Console.WriteLine("Ticker: {0}", response.Ticker);
                    foreach (var intradayTick in response.IntraDayTicks)
                    {
                        Console.WriteLine("  {0:yyyy-MM-dd HH:mm:ss.fff} - {1}: {2}", intradayTick.Time, intradayTick.EventType, intradayTick.Value);
                    }
                },
                           error => Console.WriteLine("Intraday Tick Error: {0}", error),
                           () => Console.WriteLine("Intraday Tick Completed."));

                _bloomberg.ToObservable(IntradayBarRequest.Create("VOD LN Equity", new DateTime(2015, 10, 16, 9, 0, 0), new DateTime(2015, 10, 16, 12, 00, 0), EventType.BID, 60))
                .Subscribe(
                    intradayBarResponse =>
                {
                    Console.WriteLine("Intraday Bar Received.");
                    Console.WriteLine("{0}: [{1}]", intradayBarResponse.Ticker, string.Join(",", intradayBarResponse.IntradayBars.Select(intradayBar => string.Format("Open={0}, High={1}, Low={2}, Close={3}, Volume={4}, NumEvents={5}", intradayBar.Open, intradayBar.High, intradayBar.Low, intradayBar.Close, intradayBar.Volume, intradayBar.NumEvents))));
                },
                    error => Console.WriteLine("Intraday Bar Error: {0}", error),
                    () => Console.WriteLine("Intraday Bars complete"));

                _bloomberg.ToObservable(HistoricalDataRequest.Create(new[] { "VOD LN Equity", "TSCO LN Equity" }, new[] { "PX_LAST" }, DateTime.Today.AddMonths(-2), DateTime.Today, PeriodicitySelection.DAILY))
                .Subscribe(
                    response =>
                {
                    Console.WriteLine("Historical Data Received");
                    foreach (var item in response)
                    {
                        if (item.Value.IsLeft)
                        {
                            Console.WriteLine("Ticker={0}, SecurityError={1}", item.Key, item.Value.Left);
                        }
                        else
                        {
                            Console.WriteLine("Ticker={0}", item.Key);
                            foreach (var dateAndFields in item.Value.Right)
                            {
                                Console.WriteLine("  Date: {0}", dateAndFields.Key);
                                foreach (var nameAndValue in dateAndFields.Value)
                                {
                                    Console.WriteLine("    {0}: {1}", nameAndValue.Key, nameAndValue.Value);
                                }
                            }
                        }
                    }
                },
                    error => Console.WriteLine("Historical Data Error: {0}", error),
                    () => Console.WriteLine("Historical Data Completed."));

                _bloomberg.RequestToken().Done(token => Console.WriteLine("Token={0}", token));

                Console.WriteLine("It's asynchronous");
            }
        }
 public IObservable <IntradayTickResponse> ToObservable(IntradayTickRequest request)
 {
     return(_intradayTickManager.ToObservable(request));
 }