Ejemplo n.º 1
0
        internal static void AddMapping(FuturesSymbolMapping mapping, IDictionary <FuturesSymbolKey, FuturesSymbolMapping> bloombergSymbol, IDictionary <FuturesSymbolKey, FuturesSymbolMapping> sendingSymbol, IDictionary <FuturesSymbolKey, FuturesSymbolMapping> receivingSymbol)
        {
            // only the bloomberg symbol is required
            if (!string.IsNullOrEmpty(mapping.PlatformReceivingSymbolRoot))
            {
                var receivingKey = new FuturesSymbolKey(mapping.PlatformId, mapping.PlatformReceivingSymbolRoot);
                receivingSymbol.Add(receivingKey, mapping);
            }

            // only the bloomberg symbol is required
            if (!string.IsNullOrEmpty(mapping.PlatformSendingSymbolRoot))
            {
                var sendingKey = new FuturesSymbolKey(mapping.PlatformId, mapping.PlatformSendingSymbolRoot);
                sendingSymbol.Add(sendingKey, mapping);
            }

            var bloombergKey = new FuturesSymbolKey(mapping.PlatformId, mapping.BloombergSymbolRoot);

            if (!bloombergSymbol.ContainsKey(bloombergKey))
            {
                bloombergSymbol.Add(bloombergKey, mapping);
            }
            else
            {
                bloombergSymbol[bloombergKey] = mapping;
            }
        }
Ejemplo n.º 2
0
        /// <summary>
        /// return the RIC root to a Bloomberg root
        /// </summary>
        /// <param name="ricRoot"></param>
        /// <returns></returns>
        public string ConvertRicRoot(string ricRoot)
        {
            // we are going to cheat and use the TradingScreen platform mappings
            var sendingKey = new FuturesSymbolKey("TRADS", ricRoot);

            lock (_sendingSymbol) {
                return(_sendingSymbol.ContainsKey(sendingKey) ? _sendingSymbol[sendingKey].BloombergSymbolRoot : null);
            }
        }
Ejemplo n.º 3
0
        public decimal LookupToBloombergPriceMultiplier(string platform, string bloombergRoot)
        {
            var bloombergKey = new FuturesSymbolKey(platform, bloombergRoot);

            lock (_bloombergSymbol) {
                return(_bloombergSymbol.ContainsKey(bloombergKey)
                    ? _bloombergSymbol[bloombergKey].PriceMultiplier
                    : decimal.One);
            }
        }
Ejemplo n.º 4
0
        public string LookupPlatformRoot(string platform, string bloombergRoot, bool returnRoot)
        {
            var bloombergKey = new FuturesSymbolKey(platform, bloombergRoot);

            lock (_bloombergSymbol) {
                if (_bloombergSymbol.ContainsKey(bloombergKey))
                {
                    return(_bloombergSymbol[bloombergKey].PlatformReceivingSymbolRoot);
                }
            }

            return(returnRoot ? bloombergRoot : null);
        }
Ejemplo n.º 5
0
        public string ConvertPlatformReceiving(string platform, string receivingRoot, bool returnRoot)
        {
            var receivingKey = new FuturesSymbolKey(platform, receivingRoot);

            lock (_receivingSymbol) {
                if (_receivingSymbol.ContainsKey(receivingKey))
                {
                    return(_receivingSymbol[receivingKey].BloombergSymbolRoot);
                }
            }

            return(returnRoot ? receivingRoot : null);
        }