fix csi500 end date issue #1373
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
Use
todayinstead of returned date from baostock as the end date of csi500 instruments.Motivation and Context
The "end_date" of
get_new_companiesshould be today instead of the returned date ofbaostock.query_zz500_stocks, as the latter is the latest update date before the date given in parameter, it is not the last effective date thus does not change with the data date.As a result, running the current version (with bug) today returns csi500 instrument file as below
(to verify, running
qlib\scripts\data_collector\cn_index>python collector.py --qlib_dir E:\fake1ddir --index-name=CSI500)and any test with stock population of csi500 ends at 2022-08-01.
This pull request fixes the bug.
How Has This Been Tested?
pytest qlib/tests/test_all_pipeline.pyunder upper directory ofqlib.Screenshots of Test Results (if appropriate):
running the collector generates correct instrument population file
Types of changes