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)
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)
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)
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)
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)
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)
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)
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)