/// <summary> /// Returns a shall copy of this option chain. /// All series are copied(cloned) themselves, but option instrument instances are shared with original. /// </summary> /// <returns>Returns a shall copy of this option chain.</returns> public object Clone() { OptionChain clone = new OptionChain(Symbol); foreach (var series in seriesMap.Values) { OptionSeries seriesClone = (OptionSeries)series.Clone(); clone.seriesMap.Add(seriesClone, seriesClone); } return(clone); }
private OptionChain GetOrCreateChain(string symbol) { OptionChain chain; if (!Chains.TryGetValue(symbol, out chain)) { chain = new OptionChain(symbol); Chains[symbol] = chain; } return(chain); }