Beispiel #1
0
        private string GetExpression(FixingNode fixingNode, IDictionary <IFixing, string> fixingRefs)
        {
            string   fixingDesc = RetrieveStringParameter(fixingNode.FixingId);
            DateTime fixingDate = RetrieveDateParameter(fixingNode.ScheduleId);
            IFixing  fixing     = FixingParser.Parse(fixingDesc, fixingDate);

            return(FixingReference(fixing, fixingRefs));
        }
        private static Tuple <int, int> FindFixingIndex(IFixing[][] fixings, IFixing searchedFixing)
        {
            var dateIndex = fixings.Map(fs => fs.First().Date)
                            .FindIndex(searchedFixing.Date);
            var fixingIndex = fixings[dateIndex].FindIndex(searchedFixing);

            return(new Tuple <int, int>(dateIndex, fixingIndex));
        }
Beispiel #3
0
        private string FixingReference(IFixing fixing, IDictionary <IFixing, string> fixingRefs)
        {
            string fixingRef;

            if (!fixingRefs.TryGetValue(fixing, out fixingRef))
            {
                fixingRef = string.Format("{0}[{1}]", FixingArrayId, fixingRefs.Count);
                fixingRefs.Add(fixing, fixingRef);
            }
            return(fixingRef);
        }
Beispiel #4
0
        private static bool TryParseAsset(DateTime date, string[] args, out IFixing asset)
        {
            Currency currency   = null;
            bool     validAsset = args.Length == 2 && Currency.TryParse(args[1], out currency);

            if (!validAsset)
            {
                asset = null;
                return(false);
            }

            var assetId = new AssetId(args[0], currency);

            asset = new EquitySpot(date, assetId);
            return(true);
        }