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; } }
/// <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); } }
public decimal LookupToBloombergPriceMultiplier(string platform, string bloombergRoot) { var bloombergKey = new FuturesSymbolKey(platform, bloombergRoot); lock (_bloombergSymbol) { return(_bloombergSymbol.ContainsKey(bloombergKey) ? _bloombergSymbol[bloombergKey].PriceMultiplier : decimal.One); } }
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); }
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); }