public WtsSeriesAnalyzer(string name_, ConstructGen<double> wts_, ConstructGen<double> dailyReturns_, GetCov covDelegate_, bool addFXGroups_=true) { m_wts = wts_; m_perf = dailyReturns_; m_covDelegate=covDelegate_; Name=name_; m_c2v = new ConstructGen<double>(wts_.ArrayLength); m_c2v.ColumnHeadings = wts_.ColumnHeadings; foreach (DateTime date in wts_.Dates) { double[] dayWts = wts_.GetValues(date); if (Statistics.SumAbs(dayWts) == 0d || covDelegate_==null) m_c2v.SetValues(date, new double[m_c2v.ArrayLength]); else m_c2v.SetValues(date, covDelegate_(date).GetContToVar(wts_.GetValues(date), false)); } m_anal = new WtsAnalyzer(Name); if(addFXGroups_) m_anal.AddFXGroups(); analyzePersistence(); EvaluateAll(); }
public WtsAnalyzerFXGroup(WtsAnalyzer parent_, FXGroup fxGroup_) : base(string.Format("{0}.{1}",parent_.Strat.Trim(), fxGroup_.ToString().Trim())) { FX_Group = fxGroup_; Parent = parent_; }