// ProcessArr 생성용 //외부사용함. public static StochasticProcessArray buildProcess(UnderlyingInfo underInfo) { Date today = Settings.evaluationDate(); List<Handle<Quote>> underlyingH = new List<Handle<Quote>>(); // bootstrap the yield/dividend/vol curves CorrelationSetting corrSetting = new CorrelationSetting(); List<Underlying> underlyings = underInfo.underlyings(); Matrix CorrMatrix = corrSetting.correlationMatrix(today); List<StochasticProcess1D> process1DList = new List<StochasticProcess1D>(); for (int i = 0; i < underlyings.Count ; i++) { process1DList.Add(ProcessFactory.buildProcess1D(underlyings[i])); } StochasticProcessArray processArr = new StochasticProcessArray(process1DList, CorrMatrix); return processArr; }
// ProcessArr 생성용 //외부사용함. public static StochasticProcessArray buildProcess(UnderlyingInfo underInfo) { Date today = Settings.evaluationDate(); List <Handle <Quote> > underlyingH = new List <Handle <Quote> >(); // bootstrap the yield/dividend/vol curves CorrelationSetting corrSetting = new CorrelationSetting(); List <Underlying> underlyings = underInfo.underlyings(); Matrix CorrMatrix = corrSetting.correlationMatrix(today); List <StochasticProcess1D> process1DList = new List <StochasticProcess1D>(); for (int i = 0; i < underlyings.Count; i++) { process1DList.Add(ProcessFactory.buildProcess1D(underlyings[i])); } StochasticProcessArray processArr = new StochasticProcessArray(process1DList, CorrMatrix); return(processArr); }
public UnderlyingInfoParameterViewModel(UnderlyingInfo underInfo) { this.underlyingParaVMList_ = new ObservableCollection <UnderlyingParameterViewModel>(); foreach (Underlying item in underInfo.Underlyings_) { this.underlyingParaVMList_.Add(new UnderlyingParameterViewModel(item)); } }
public UnderlyingInfoParameterViewModel(UnderlyingInfo underInfo) { this.underlyingParaVMList_ = new ObservableCollection<UnderlyingParameterViewModel>(); foreach (Underlying item in underInfo.Underlyings_) { this.underlyingParaVMList_.Add(new UnderlyingParameterViewModel(item)); } }
public void setUnderInfo(UnderlyingInfo underlyingInfo) { this.ItemCode_ = underlyingInfo.ItemCode_; UnderlyingParameterList_ = new List <UnderlyingParameter>(); foreach (var item in underlyingInfo.Underlyings_) { UnderlyingParameter underPara = new UnderlyingParameter(this.ItemCode_); underPara.setUnderInfo(item); underPara.ReferenceDate_ = this.referenceDate_; this.UnderlyingParameterList_.Add(underPara); } }
public void setUnderInfo(UnderlyingInfo underlyingInfo) { this.ItemCode_ = underlyingInfo.ItemCode_; UnderlyingParameterList_ = new List<UnderlyingParameter>(); foreach (var item in underlyingInfo.Underlyings_) { UnderlyingParameter underPara = new UnderlyingParameter(this.ItemCode_); underPara.setUnderInfo(item); underPara.ReferenceDate_ = this.referenceDate_; this.UnderlyingParameterList_.Add(underPara); } }
private void pathGenerator(UnderlyingInfo under) { ulong seed = 1; int timeSteps = 365; // int dimensions = this.processArr_.factors(); double t = processArr_.time(maturity); TimeGrid grid = new TimeGrid(t, timeSteps); IRNG rndGenerator = (IRNG) new PseudoRandom().make_sequence_generator(dimensions * (grid.size() - 1), seed); this.pathGenerator_ = new MultiPathGenerator <IRNG>(this.processArr_, grid, rndGenerator, false); }
private void pathGenerator(UnderlyingInfo under) { ulong seed = 1; int timeSteps = 365; // int dimensions = this.processArr_.factors(); double t = processArr_.time(maturity); TimeGrid grid = new TimeGrid(t, timeSteps); IRNG rndGenerator = (IRNG)new PseudoRandom().make_sequence_generator(dimensions * (grid.size() - 1), seed); this.pathGenerator_ = new MultiPathGenerator<IRNG>(this.processArr_, grid, rndGenerator, false); }
public void setUnderlying(UnderlyingInfo under) { this.processArr_ = ProcessFactory.buildProcess(under); this.pathGenerator(under); }