Ejemplo n.º 1
0
 public EqualProbabilitiesBinomialTree(StochasticProcess1D process, double end, int steps)
     : base(process, end, steps)
 {
 }
Ejemplo n.º 2
0
 protected ShortRateDynamics(StochasticProcess1D process)
 {
     process_ = process;
 }
Ejemplo n.º 3
0
 public LeisenReimer factory(StochasticProcess1D process, double end, int steps, double strike)
 {
     return(new LeisenReimer(process, end, steps, strike));
 }
Ejemplo n.º 4
0
 public Joshi4 factory(StochasticProcess1D process, double end, int steps, double strike)
 {
     return(new Joshi4(process, end, steps, strike));
 }
Ejemplo n.º 5
0
 public Trigeorgis factory(StochasticProcess1D process, double end, int steps, double strike)
 {
     return(new Trigeorgis(process, end, steps, strike));
 }
Ejemplo n.º 6
0
 public Tian factory(StochasticProcess1D process, double end, int steps, double strike)
 {
     return(new Tian(process, end, steps, strike));
 }
Ejemplo n.º 7
0
 public AdditiveEQPBinomialTree(StochasticProcess1D process, double end, int steps, double strike)
     : base(process, end, steps)
 {
     up_ = -0.5 * driftPerStep_ +
           0.5 * Math.Sqrt(4.0 * process.variance(0.0, x0_, dt_) - 3.0 * driftPerStep_ * driftPerStep_);
 }
Ejemplo n.º 8
0
 public AdditiveEQPBinomialTree factory(StochasticProcess1D process, double end, int steps, double strike)
 {
     return(new AdditiveEQPBinomialTree(process, end, steps, strike));
 }
Ejemplo n.º 9
0
 public JarrowRudd factory(StochasticProcess1D process, double end, int steps, double strike)
 {
     return(new JarrowRudd(process, end, steps, strike));
 }
Ejemplo n.º 10
0
 public CoxRossRubinstein factory(StochasticProcess1D process, double end, int steps, double strike)
 {
     return(new CoxRossRubinstein(process, end, steps, strike));
 }
Ejemplo n.º 11
0
 public JarrowRudd(StochasticProcess1D process, double end, int steps, double strike)
     : base(process, end, steps)
 {
     // drift removed
     up_ = process.stdDeviation(0.0, x0_, dt_);
 }
Ejemplo n.º 12
0
        /*! Returns an approximation of the variance defined as
         *  \f$ \sigma(t_0, x_0)^2 \Delta t \f$. */
        public double variance(StochasticProcess1D process, double t0, double x0, double dt)
        {
            double sigma = process.diffusion(t0, x0);

            return(sigma * sigma * dt);
        }
Ejemplo n.º 13
0
 /*! Returns an approximation of the diffusion defined as
  *  \f$ \sigma(t_0, x_0) \sqrt{\Delta t} \f$. */
 public double diffusion(StochasticProcess1D process, double t0, double x0, double dt)
 {
     return(process.diffusion(t0, x0) * Math.Sqrt(dt));
 }
Ejemplo n.º 14
0
 /*! Returns an approximation of the drift defined as
  *  \f$ \mu(t_0, x_0) \Delta t \f$. */
 public double drift(StochasticProcess1D process, double t0, double x0, double dt)
 {
     return(process.drift(t0, x0) * dt);
 }
Ejemplo n.º 15
0
 public TrinomialTree(StochasticProcess1D process,
                      TimeGrid timeGrid)
     : this(process, timeGrid, false)
 {
 }