Ejemplo n.º 1
0
 def test_simulate_hullwhite(self):
     paths = 100
     steps = 10
     horizon = 1
     seed = 12345
     grid = TimeGrid(horizon, steps)
     res = simulate_process(self.hullwhite_process, paths, grid, seed, True)
     self.assertAlmostEqual(res[-1, :].mean(), 0.1001516)
Ejemplo n.º 2
0
 def test_simulate_hullwhite(self):
     paths = 100
     steps = 10
     horizon = 1
     seed = 12345
     grid = TimeGrid(horizon, steps)
     res = simulate_process(self.hullwhite_process, paths, grid, seed, True)
     self.assertAlmostEqual(res[-1,:].mean(), 0.1001516)
Ejemplo n.º 3
0
    def test_simulate_bates(self):

        paths = 4
        steps = 10
        horizon = 1
        seed = 12345
        grid = TimeGrid(horizon, steps)
        res = simulate_process(self.bates_process, paths, grid, seed)

        time = list(grid)
        time_expected = np.arange(0, 1.1, .1)

        np.testing.assert_array_almost_equal(time, time_expected, decimal=4)
Ejemplo n.º 4
0
    def test_simulate_bates(self):

        paths = 4
        steps = 10
        horizon = 1
        seed = 12345
        grid = TimeGrid(horizon, steps)
        res = simulate_process(self.bates_process, paths, grid, seed)

        time = list(grid)
        time_expected = np.arange(0, 1.1, .1)

        np.testing.assert_array_almost_equal(time, time_expected, decimal=4)
Ejemplo n.º 5
0
    def test_simulate_heston_2(self):

        s0 = SimpleQuote(100.0)
        v0 = 0.05
        kappa = 5.0
        theta = 0.05
        sigma = 1.0e-4
        rho = 0.0

        process = HestonProcess(self.risk_free_ts, self.dividend_ts, s0, v0,
                                kappa, theta, sigma, rho)

        nbPaths = 4
        nbSteps = 100
        horizon = 1
        seed = 12345
        grid = TimeGrid(horizon, nbSteps)
        res = simulate_process(process, nbPaths, grid, seed)
        self.assertAlmostEqual(res[-1, 0], 152.50, delta=.1)
Ejemplo n.º 6
0
    def test_simulate_heston_1(self):

        settings = self.settings
        settlement_date = today()
        settings.evaluation_date = settlement_date

        # simulate Heston paths
        paths = 4
        steps = 10
        horizon = 1
        seed = 12345

        grid = TimeGrid(horizon, steps)
        res = simulate_process(self.heston_process, paths, grid, seed)

        time = list(grid)
        time_expected = np.arange(0, 1.1, .1)

        np.testing.assert_array_almost_equal(time, time_expected, decimal=4)
Ejemplo n.º 7
0
    def test_simulate_heston_1(self):

        settings = self.settings
        settlement_date = today()
        settings.evaluation_date = settlement_date

        # simulate Heston paths
        paths = 4
        steps = 10
        horizon = 1
        seed = 12345

        grid = TimeGrid(horizon, steps)
        res = simulate_process(self.heston_process, paths, grid, seed)

        time = list(grid) 
        time_expected = np.arange(0, 1.1, .1)

        np.testing.assert_array_almost_equal(time, time_expected, decimal=4)
Ejemplo n.º 8
0
    def test_simulate_heston_2(self):

        s0 = SimpleQuote(100.0)
        v0    = 0.05
        kappa = 5.0
        theta = 0.05
        sigma = 1.0e-4
        rho   = 0.0

        process = HestonProcess(self.risk_free_ts,
                                self.dividend_ts, s0, v0,
                                kappa, theta, sigma, rho)

        nbPaths = 4
        nbSteps = 100
        horizon = 1
        seed = 12345
        grid = TimeGrid(horizon, nbSteps)
        res = simulate_process(process, nbPaths, grid, seed)
        self.assertAlmostEqual(res[-1, 0], 152.50, delta=.1)