public Tuple<AssetRateDataLog, AdjRateDataLog> Calculate(MarketDataSet marketData) { DateTime curDate = this.InputData.StartDate; AssetRateDataLog assetLog = new AssetRateDataLog(); AdjRateDataLog adjLog = new AdjRateDataLog(); while (curDate <= this.InputData.EndDate) { if (marketData.IsExistDate(curDate)) { AssetRateDatum assetDatum = this.Alloc.CalculateAndGetAssetRateDatum(curDate, marketData); AdjRateDatum adjDatum = GetAdjRateDatum(curDate, marketData, adjLog); assetDatum.Multiply(adjDatum); assetDatum.SetScale(); assetLog.Add(curDate, assetDatum); } curDate = curDate.AddDays(1); } return new Tuple<AssetRateDataLog, AdjRateDataLog>(assetLog, adjLog); }
public AssetRateDataLog Execute(long caseNumber) { DateTime curDate = this.Input.StartDate; AssetRateDataLog log = new AssetRateDataLog(); IAdjustment adj = this._adjs[(int)caseNumber]; log.ExperimentKey = _descriptions[(int)caseNumber]; while (curDate <= this.Input.EndDate) { if (this._readyData.IsExistDate(curDate)) { AssetRateDatum aw = this._allocBase.CalculateAndGetAssetRateDatum(curDate, this._readyData); AdjRateDatum aa = adj.CalculateAssetWeight(null, curDate, _readyData); aw.Multiply(aa); aw.SetScale(); log.Add(curDate, aw); } curDate = curDate.AddDays(1); } return log; }
public AssetRateDataLog Execute(long caseNumber) { IAlloc allocBase = this._allocBases[(int)caseNumber]; DateTime curDate = this.Input.StartDate; AssetRateDataLog log = new AssetRateDataLog(); _curKey = String.Format("SAO({0})", allocBase.GetKey()); while (curDate <= this.Input.EndDate) { if (this._readyData.IsExistDate(curDate)) { AssetRateDatum aw = allocBase.CalculateAndGetAssetRateDatum(curDate, this._readyData); AdjRateDatum aa = new AdjRateDatum(1, 1, 1); aw.Multiply(aa); aw.SetScale(); log.Add(curDate, aw); } curDate = curDate.AddDays(1); } return log; }
public AssetRateDataLog Execute(long caseNumber) { DateTime curDate = this.Input.StartDate; AssetRateDataLog log = new AssetRateDataLog(); _opSet.SetOpFlag(caseNumber); this._adjustment.Clear(); while (curDate <= this.Input.EndDate) { if (this._readyData.IsExistDate(curDate)) { AssetRateDatum aw = this._allocBase.CalculateAndGetAssetRateDatum(curDate, this._readyData); AdjRateDatum aa = this._adjustment.CalculateAssetWeight(_opSet, curDate, _readyData); aw.Multiply(aa); aw.SetScale(); log.Add(curDate, aw); } curDate = curDate.AddDays(1); } return log; }