Exemple #1
0
 public BlackProcess(Handle <Quote> x0,
                     Handle <YieldTermStructure> riskFreeTS,
                     Handle <BlackVolTermStructure> blackVolTS,
                     IDiscretization1D d)
     : base(x0, riskFreeTS, riskFreeTS, blackVolTS, d)
 {
 }
 public BlackProcess(Handle<Quote> x0,
                     Handle<YieldTermStructure> riskFreeTS,
                     Handle<BlackVolTermStructure> blackVolTS,
                     IDiscretization1D d)
     : base(x0, riskFreeTS, riskFreeTS, blackVolTS, d)
 {
 }
Exemple #3
0
 public BlackScholesMertonProcess(Handle <Quote> x0,
                                  Handle <YieldTermStructure> dividendTS,
                                  Handle <YieldTermStructure> riskFreeTS,
                                  Handle <BlackVolTermStructure> blackVolTS,
                                  IDiscretization1D d)
     : base(x0, dividendTS, riskFreeTS, blackVolTS, d)
 {
 }
Exemple #4
0
 public GarmanKohlagenProcess(Handle <Quote> x0, Handle <YieldTermStructure> foreignRiskFreeTS,
                              Handle <YieldTermStructure> domesticRiskFreeTS,
                              Handle <BlackVolTermStructure> blackVolTS,
                              RelinkableHandle <LocalVolTermStructure> localVolTS,
                              IDiscretization1D d = null)
     : base(x0, foreignRiskFreeTS, domesticRiskFreeTS, blackVolTS, localVolTS, d)
 {
 }
Exemple #5
0
 public SquareRootProcess(double b, double a, double sigma, double x0, IDiscretization1D disc)
     : base(disc)
 {
     x0_         = x0;
     mean_       = b;
     speed_      = a;
     volatility_ = sigma;
 }
Exemple #6
0
 public SquareRootProcess(double b, double a, double sigma, double x0, IDiscretization1D disc)
     : base(disc)
 {
     x0_ = x0;
     mean_ = b;
     speed_ = a;
     volatility_ = sigma;
 }
Exemple #7
0
 public BlackScholesProcess(Handle <Quote> x0,
                            Handle <YieldTermStructure> riskFreeTS,
                            Handle <BlackVolTermStructure> blackVolTS,
                            IDiscretization1D d)
     : base(x0,
            // no dividend yield
            new Handle <YieldTermStructure>(new FlatForward(0, new NullCalendar(), 0.0, new Actual365Fixed())),
            riskFreeTS, blackVolTS, d)
 {
 }
        public GeneralizedBlackScholesProcess(Handle <Quote> x0, Handle <YieldTermStructure> dividendTS,
                                              Handle <YieldTermStructure> riskFreeTS, Handle <BlackVolTermStructure> blackVolTS,
                                              IDiscretization1D disc)
            : base(disc)
        {
            x0_              = x0;
            riskFreeRate_    = riskFreeTS;
            dividendYield_   = dividendTS;
            blackVolatility_ = blackVolTS;
            updated_         = false;

            x0_.registerWith(update);
            riskFreeRate_.registerWith(update);
            dividendYield_.registerWith(update);
            blackVolatility_.registerWith(update);
        }
 protected ForwardMeasureProcess1D(IDiscretization1D disc)
     : base(disc)
 {
 }
Exemple #10
0
 protected StochasticProcess1D(IDiscretization1D disc)
 {
     discretization_ = disc;
 }
Exemple #11
0
 protected StochasticProcess1D(IDiscretization1D disc)
 {
     discretization_ = disc;
 }
Exemple #12
0
        public GeneralizedBlackScholesProcess(Handle <Quote> x0, Handle <YieldTermStructure> dividendTS,
                                              Handle <YieldTermStructure> riskFreeTS, Handle <BlackVolTermStructure> blackVolTS,
                                              RelinkableHandle <LocalVolTermStructure> localVolTS, IDiscretization1D disc = null)
            : base(disc ?? new EulerDiscretization())
        {
            x0_              = x0;
            riskFreeRate_    = riskFreeTS;
            dividendYield_   = dividendTS;
            blackVolatility_ = blackVolTS;
            localVolatility_ = localVolTS != null ? (localVolTS.empty() ? new RelinkableHandle <LocalVolTermStructure>() : localVolTS)
                            : new RelinkableHandle <LocalVolTermStructure>();
            updated_ = !localVolatility_.empty();

            x0_.registerWith(update);
            riskFreeRate_.registerWith(update);
            dividendYield_.registerWith(update);
            blackVolatility_.registerWith(update);
            localVolatility_.registerWith(update);
        }
 public BlackScholesProcess(Handle<Quote> x0,
                            Handle<YieldTermStructure> riskFreeTS,
                            Handle<BlackVolTermStructure> blackVolTS,
                            IDiscretization1D d)
     : base(x0,
      // no dividend yield
      new Handle<YieldTermStructure>(new FlatForward(0, new NullCalendar(), 0.0, new Actual365Fixed())),
      riskFreeTS, blackVolTS, d)
 {
 }
 public GarmanKohlagenProcess(Handle<Quote> x0, Handle<YieldTermStructure> foreignRiskFreeTS,
                              Handle<YieldTermStructure> domesticRiskFreeTS,
                              Handle<BlackVolTermStructure> blackVolTS, IDiscretization1D d)
     : base(x0, foreignRiskFreeTS, foreignRiskFreeTS, blackVolTS, d)
 {
 }
        public GeneralizedBlackScholesProcess(Handle<Quote> x0, Handle<YieldTermStructure> dividendTS,
                                              Handle<YieldTermStructure> riskFreeTS, Handle<BlackVolTermStructure> blackVolTS,
                                              IDiscretization1D disc)
            : base(disc)
        {
            x0_ = x0;
            riskFreeRate_ = riskFreeTS;
            dividendYield_ = dividendTS;
            blackVolatility_ = blackVolTS;
            updated_ = false;

            x0_.registerWith(update);
            riskFreeRate_.registerWith(update);
            dividendYield_.registerWith(update);
            blackVolatility_.registerWith(update);
        }
 public BlackScholesMertonProcess(Handle<Quote> x0,
                                  Handle<YieldTermStructure> dividendTS,
                                  Handle<YieldTermStructure> riskFreeTS,
                                  Handle<BlackVolTermStructure> blackVolTS,
                                  IDiscretization1D d)
     : base(x0, dividendTS, riskFreeTS, blackVolTS, d)
 {
 }
 public GarmanKohlagenProcess(Handle <Quote> x0, Handle <YieldTermStructure> foreignRiskFreeTS,
                              Handle <YieldTermStructure> domesticRiskFreeTS,
                              Handle <BlackVolTermStructure> blackVolTS, IDiscretization1D d)
     : base(x0, foreignRiskFreeTS, foreignRiskFreeTS, blackVolTS, d)
 {
 }