// Process1D 생성용 //내부사용함. private static StochasticProcess1D buildProcess1D(Underlying under) { Date today = Settings.evaluationDate(); CurveSetting curveSetting = new CurveSetting(); ProcessSetting processSetting = new ProcessSetting(); ProcessType proType = processSetting.processType(under); StochasticProcess1D process; if (proType == ProcessType.BlackScholesMertonProcess) { Handle<Quote> quite = new Handle<Quote>();//under.quoteValue(today); Handle<YieldTermStructure> driftTS = curveSetting.driftCurve(under); Handle<YieldTermStructure> dividendTS = curveSetting.dividendCurve(under); Handle<BlackVolTermStructure> volTS = curveSetting.volCurve(under); process = new BlackScholesMertonProcess(quite,driftTS,dividendTS,volTS); } else if (proType == ProcessType.GemetricBrownianMotion) { throw new NotImplementedException(); } else if ( proType == ProcessType.HullWhite ) { throw new NotImplementedException(); } else if (proType == ProcessType.Vasicek) { throw new NotImplementedException(); } else { throw new NotImplementedException(); } return process; }
// Process1D 생성용 //내부사용함. private static StochasticProcess1D buildProcess1D(Underlying under) { Date today = Settings.evaluationDate(); CurveSetting curveSetting = new CurveSetting(); ProcessSetting processSetting = new ProcessSetting(); ProcessType proType = processSetting.processType(under); StochasticProcess1D process; if (proType == ProcessType.BlackScholesMertonProcess) { Handle <Quote> quite = new Handle <Quote>();//under.quoteValue(today); Handle <YieldTermStructure> driftTS = curveSetting.driftCurve(under); Handle <YieldTermStructure> dividendTS = curveSetting.dividendCurve(under); Handle <BlackVolTermStructure> volTS = curveSetting.volCurve(under); process = new BlackScholesMertonProcess(quite, driftTS, dividendTS, volTS); } else if (proType == ProcessType.GemetricBrownianMotion) { throw new NotImplementedException(); } else if (proType == ProcessType.HullWhite) { throw new NotImplementedException(); } else if (proType == ProcessType.Vasicek) { throw new NotImplementedException(); } else { throw new NotImplementedException(); } return(process); }