// 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;

        }
Beispiel #2
0
        // 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);
            }
        }
Beispiel #7
0
        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);

        }
Beispiel #9
0
 public void setUnderlying(UnderlyingInfo under)
 {
     this.processArr_ = ProcessFactory.buildProcess(under);
     this.pathGenerator(under);
 }
 public void setUnderlying(UnderlyingInfo under)
 {
     this.processArr_ = ProcessFactory.buildProcess(under);
     this.pathGenerator(under);
 }