From 6a26e9840cd4857e73f582e45d90591163b9fbb9 Mon Sep 17 00:00:00 2001 From: CloudChen <73453791+Cloud-Pku@users.noreply.github.com> Date: Wed, 20 Sep 2023 12:43:07 +0800 Subject: [PATCH] polish(cy): polish anytrading (#731) --- dizoo/gym_anytrading/envs/README.md | 2 +- dizoo/gym_anytrading/envs/statemachine.png | Bin 55344 -> 44656 bytes dizoo/gym_anytrading/envs/stocks_env.py | 2 +- 3 files changed, 2 insertions(+), 2 deletions(-) diff --git a/dizoo/gym_anytrading/envs/README.md b/dizoo/gym_anytrading/envs/README.md index 699f78b2c1..0be3fe219b 100644 --- a/dizoo/gym_anytrading/envs/README.md +++ b/dizoo/gym_anytrading/envs/README.md @@ -59,7 +59,7 @@ If profit or loss occurs, it means that one of the following two cycles in state According to the above definition, we can easily know that the formula of accumulative profit is: -$\prod_{buying\ long}(r_{curr}/r_{pre}\ *\ cost) + \prod_{short\ selling}((2-r_{curr}/r_{pre})\ *\ cost)$ +$\prod_{buying\ long}(r_{curr}/r_{pre}\ *\ cost) * \prod_{short\ selling}((2-r_{curr}/r_{pre})\ *\ cost)$ ### Reward Function diff --git a/dizoo/gym_anytrading/envs/statemachine.png b/dizoo/gym_anytrading/envs/statemachine.png index 2c355939f1c60de1213d504d7ed01ad3ec7242eb..bbc3d39d8937435a715c3119fab053ed5d3bd65d 100644 GIT binary patch literal 44656 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 literal 55344 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%0Djba|vpk%~HqvvP%^|oXxwXSuNknA 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 diff --git a/dizoo/gym_anytrading/envs/stocks_env.py b/dizoo/gym_anytrading/envs/stocks_env.py index a71ae3f59b..8d34caa182 100644 --- a/dizoo/gym_anytrading/envs/stocks_env.py +++ b/dizoo/gym_anytrading/envs/stocks_env.py @@ -69,7 +69,7 @@ def _process_data(self, start_idx: int = None) -> Any: # validate index if start_idx is None: if self.train_range == None or self.test_range == None: - self.start_idx = np.random.randint(self.window_size, len(self.df) - self._cfg.eps_length) + self.start_idx = np.random.randint(self.window_size - 1, len(self.df) - self._cfg.eps_length) elif self._env_id[-1] == 'e': boundary = int(len(self.df) * (1 + self.test_range)) assert len(self.df) - self._cfg.eps_length > boundary + self.window_size,\