download cn qlib data from remote Parameters ---------- target_dir: str data save directory name: str dataset name, value from [qlib_data, qlib_data_simple], by default qlib_data version: str data version, value from [v1, .
(
self,
name="qlib_data",
target_dir="~/.qlib/qlib_data/cn_data",
version=None,
interval="1d",
region="cn",
delete_old=True,
exists_skip=False,
)
| 151 | shutil.rmtree(_p) |
| 152 | |
| 153 | def qlib_data( |
| 154 | self, |
| 155 | name="qlib_data", |
| 156 | target_dir="~/.qlib/qlib_data/cn_data", |
| 157 | version=None, |
| 158 | interval="1d", |
| 159 | region="cn", |
| 160 | delete_old=True, |
| 161 | exists_skip=False, |
| 162 | ): |
| 163 | """download cn qlib data from remote |
| 164 | |
| 165 | Parameters |
| 166 | ---------- |
| 167 | target_dir: str |
| 168 | data save directory |
| 169 | name: str |
| 170 | dataset name, value from [qlib_data, qlib_data_simple], by default qlib_data |
| 171 | version: str |
| 172 | data version, value from [v1, ...], by default None(use script to specify version) |
| 173 | interval: str |
| 174 | data freq, value from [1d], by default 1d |
| 175 | region: str |
| 176 | data region, value from [cn, us], by default cn |
| 177 | delete_old: bool |
| 178 | delete an existing directory, by default True |
| 179 | exists_skip: bool |
| 180 | exists skip, by default False |
| 181 | |
| 182 | Examples |
| 183 | --------- |
| 184 | # get 1d data |
| 185 | python get_data.py qlib_data --name qlib_data --target_dir ~/.qlib/qlib_data/cn_data --interval 1d --region cn |
| 186 | When this command is run, the data will be downloaded from this link: https://qlibpublic.blob.core.windows.net/data/default/stock_data/v2/qlib_data_cn_1d_latest.zip?{token} |
| 187 | |
| 188 | # get 1min data |
| 189 | python get_data.py qlib_data --name qlib_data --target_dir ~/.qlib/qlib_data/cn_data_1min --interval 1min --region cn |
| 190 | When this command is run, the data will be downloaded from this link: https://qlibpublic.blob.core.windows.net/data/default/stock_data/v2/qlib_data_cn_1min_latest.zip?{token} |
| 191 | ------- |
| 192 | |
| 193 | """ |
| 194 | if exists_skip and exists_qlib_data(target_dir): |
| 195 | logger.warning( |
| 196 | f"Data already exists: {target_dir}, the data download will be skipped\n" |
| 197 | f"\tIf downloading is required: `exists_skip=False` or `change target_dir`" |
| 198 | ) |
| 199 | return |
| 200 | |
| 201 | qlib_version = ".".join(re.findall(r"(\d+)\.+", qlib.__version__)) |
| 202 | |
| 203 | def _get_file_name_with_version(qlib_version, dataset_version): |
| 204 | dataset_version = "v2" if dataset_version is None else dataset_version |
| 205 | file_name_with_version = f"{dataset_version}/{name}_{region.lower()}_{interval.lower()}_{qlib_version}.zip" |
| 206 | return file_name_with_version |
| 207 | |
| 208 | file_name = _get_file_name_with_version(qlib_version, dataset_version=version) |
| 209 | if not self.check_dataset(file_name): |
| 210 | file_name = _get_file_name_with_version("latest", dataset_version=version) |