using System; using System.Text; using System.Collections.Generic; using System.Linq; using MarketData.Utils; using MarketData.Numerical; namespace MarketData.MarketDataModel { public class DividendLoadCollection : List { public DividendLoadCollection() { } public DividendLoadCollection(List elements) { foreach(DividendLoadElement dividendLoadElement in elements)Add(dividendLoadElement); } //public DividendLoadCollection RemoveOutliers(int standardDeviations=4) //{ // double[] values = (from DividendLoadElement element in this select element.DividendLoadPcnt).ToArray(); // double valuesStd=Numerics.Volatility(ref values)*standardDeviations; // DividendLoadCollection dividendLoadCollection=new DividendLoadCollection((from DividendLoadElement element in this where element.DividendLoadPcnt <=valuesStd select element).ToList()); // if(0==dividendLoadCollection.Count)return this; // else return dividendLoadCollection; //} } public class DividendLoadElement { public String Symbol{get;set;} public int Year{get;set;} public double EPS{get;set;} public double CashAmount{get;set;} public int Payments{get;set;} public double DividendLoadPcnt{get;set;} } }