public void ShowOptionPairs(OptionData od)
        {
            OptionPairs.Clear();

            var map = od.calls.Select(o => new OptionPair
            {
                Strike = o.strike.To<decimal>(),
                Expiry = o.expiry.To<DateTime>(),
                Call = o
            }).ToDictionary(p => p.Strike);

            foreach (var p in od.puts)
            {
                var strike = p.strike.To<decimal>();

                if (map.ContainsKey(strike))
                {
                    map[strike].Put = p;
                }
                else
                {
                    var x = new OptionPair
                    {
                        Strike = p.strike.To<decimal>(),
                        Expiry = p.expiry.To<DateTime>(),
                        Put = p
                    };
                    map.Add(x.Strike, x);
                }
            }

            var optionPairs = map.Select(pair => pair.Value).ToList();

            foreach (var pair in optionPairs)
            {
                OptionPairs.Add(pair);
            }
        }
示例#2
0
        public void ShowOptionPairs(OptionData od)
        {
            OptionPairs.Clear();

            var map = od.calls.Select(o => new OptionPair
            {
                Strike = o.strike.To <decimal>(),
                Expiry = o.expiry.To <DateTime>(),
                Call   = o
            }).ToDictionary(p => p.Strike);

            foreach (var p in od.puts)
            {
                var strike = p.strike.To <decimal>();

                if (map.ContainsKey(strike))
                {
                    map[strike].Put = p;
                }
                else
                {
                    var x = new OptionPair
                    {
                        Strike = p.strike.To <decimal>(),
                        Expiry = p.expiry.To <DateTime>(),
                        Put    = p
                    };
                    map.Add(x.Strike, x);
                }
            }

            var optionPairs = map.Select(pair => pair.Value).ToList();

            foreach (var pair in optionPairs)
            {
                OptionPairs.Add(pair);
            }
        }