public override double GetVol(DateTime date_, VolType type_, int window_ = 252) { if(m_histVols==null) m_histVols = HelperMethods.GetRollingStat(Prices.ToReturns(), window_, Statistics.Stdev); return m_histVols.ValueOnDate(date_); }
public override double GetVol(DateTime date_, VolType type_, int window_) { // any overrides? //if (CHECK_VOL_OVERRIDES && QC.Common.SignalStuff.VolOverrides.Model.HasVolOverride(type_, date_, CoreProduct)) // return QC.Common.SignalStuff.VolOverrides.Model.GetVolOverride(type_, date_, CoreProduct); if (!IsValid(date_)) return 1d; if (type_ == VolType.covar) { var cov = Singleton<ComCovarianceSource>.Instance.GetCovarianceForDateElesePrevious(date_, 45); var ret = cov == null ? GetVol(date_, VolType.hist, 63) : cov.IndividualVols[CoreProduct.ArrayIndex]; if (double.IsNaN(ret) || double.IsInfinity(ret) || ret==0d ) ret = GetVol(date_, VolType.hist, 63); return ret; } else // hist { var returns = Prices.ToReturns(); var index = returns.IndexOf(date_); if (index == -1 || index <= 21) { return 1d; } else return Statistics.Stdev(returns.Data, index - 20, 21); } }
public override double GetVol(DateTime date_, VolType type_, int window_ = 252) { if (m_histVoles.ContainsKey(window_)==false) m_histVoles[window_] = HelperMethods.GetRollingStdev(Prices.ToReturns(), window_); var ret= m_histVoles[window_].ValueOnDate(date_); return double.IsInfinity(ret) || double.IsNaN(ret) || ret==0d ? 1d : ret; }
public override double GetVol(DateTime date_, VolType type_, int window_) { // any overrides? //if (CHECK_VOL_OVERRIDES && QC.Common.SignalStuff.VolOverrides.Model.HasVolOverride(type_, date_, CoreProduct)) // return QC.Common.SignalStuff.VolOverrides.Model.GetVolOverride(type_, date_, CoreProduct); if (!IsValid(date_)) return 1d; if (type_ == VolType.covar) { return Singleton<CovarianceSource>.Instance.GetCovarianceForDateElesePrevious(date_).IndividualVols[ CoreProduct.ArrayIndex]; } else // hist { return Singleton<FXHistCovar>.Instance.FindForDate(date_, window_).IndividualVols[CoreProduct.ArrayIndex]; } }
public abstract double GetVol(DateTime date_, VolType type_, int window_=252);
//该方法和App_DeCoderQRCode是一对配合使用 //根据志愿者类型获取该社区下的某类志愿者排名 public ActionResult App_GetVolOrderByTypeScore(string deptid, VolType type, int page = 1, int pageSize = 20) { JsonMessage retJson = new JsonMessage(); using (LoveBankDBContext db = new LoveBankDBContext()) { var t_v = db.T_Vol; var list = from v in t_v where v.DepId.IndexOf(deptid) > -1 select new VolShowModel { DepId = v.DepId, ID = v.ID, Phone = v.Phone, RealName = v.RealName, LoveBankScore = v.LoveBankScore, VolType = v.VolType }; list = list.Where(x => x.VolType == type); retJson.Data = list.OrderByDescending(x => x.LoveBankScore).ToPagedList(page - 1, pageSize); retJson.Status = true; } return Json(retJson); }
private static CovarianceItem getCovarianceItem(DateTime date_, VolType type_, int windowLength_) { CovarianceItem item = null; switch (type_) { case VolType.covar: item = Singleton<CovarianceSource>.Instance.GetCovarianceForDateElesePrevious(date_); break; case VolType.hist: item = Singleton<FXHistCovar>.Instance.FindForDate(date_, windowLength_); break; } return item; }