Skip to content

Merge nested main #597

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 118 commits into from
Sep 30, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
118 commits
Select commit Hold shift + click to select a range
3c740fc
MVP for Indian Stocks in qlib using yahooquery
2796gaurav Jul 14, 2021
457dcaa
cleaned with black
2796gaurav Jul 14, 2021
cfcd9fb
cleaned with black
2796gaurav Jul 15, 2021
d70e5a4
add YahooNormalizeIN and YahooNormalizeIN1d
2796gaurav Jul 17, 2021
d1c8d88
cleaned the code
2796gaurav Jul 21, 2021
8fa22bd
added 1min for IN and also updated readme
2796gaurav Jul 21, 2021
fa7eed8
update comments
bxdd Jul 24, 2021
a6ff561
fix comments
bxdd Jul 25, 2021
1d22ee5
recorder support upload both raw file and directory
you-n-g Jul 25, 2021
fa78feb
fix comments
bxdd Jul 25, 2021
e9a4693
solve conflict
bxdd Jul 25, 2021
a6f9dde
Update README.md
you-n-g Jul 26, 2021
dc6859b
Fix docs of QlibRecorder
you-n-g Jul 26, 2021
05d2846
sort index after loader (#538)
you-n-g Jul 29, 2021
9303415
refactor online serving rolling api
you-n-g Jul 29, 2021
07655f2
refactor TRA
Jul 21, 2021
a2c38c9
format by black
Jul 21, 2021
319a2f3
fix horizon
Jul 22, 2021
4f9f978
fix TRA when use single head
Jul 22, 2021
5b7b48e
clean up
Jul 22, 2021
a7c41b6
improve pretrain
Jul 28, 2021
da1f4db
update README
Jul 28, 2021
0483406
fix tra when logdir is None
Aug 2, 2021
e71e2f9
fix tra when logdir is None
Aug 2, 2021
398131c
Update strategy.py
ZhangTP1996 Aug 5, 2021
82a5223
Update README.md
you-n-g Aug 6, 2021
e3b57b1
Update README.md
you-n-g Aug 6, 2021
6697f20
Conda Suggestion
you-n-g Aug 12, 2021
3e75cea
code standard docs
you-n-g Aug 12, 2021
6608a40
Update ensemble.py (#560)
demon143 Aug 14, 2021
509bfcb
Fix CI Bug (#575)
Wangwuyi123 Aug 25, 2021
84d2cb3
Update gen.py (#576)
you-n-g Aug 25, 2021
1158472
Fix multi-process loop calls (#574)
zhupr Aug 25, 2021
25b771d
check lexsort in the 'lazy_sort_index' function (#566)
markzhao98 Aug 25, 2021
12af8f3
Delete .DS_Store
you-n-g Aug 26, 2021
19d15dd
Merge pull request #513 from 2796gaurav/main
you-n-g Aug 26, 2021
e2739ac
Update README.md
cslwqxx Aug 29, 2021
8f4d320
bug fix & use oracle transport pretrain
Aug 30, 2021
66467f7
merge xiaodong
wangwenxi-handsome Sep 7, 2021
03927ff
mend
wangwenxi-handsome Sep 7, 2021
e8126b0
Add `backend_freq_config` parameter, support multi-freq uri
zhupr Aug 26, 2021
c99494e
Add sample_config to QlibDataLoader, support multi-freq
zhupr Aug 26, 2021
76a05f3
add multi-freq example
zhupr Aug 26, 2021
6011a21
get_cls_kwargs renamed get_callable_kwargs
zhupr Aug 28, 2021
d1cbf4c
support multi-freq uri
zhupr Aug 29, 2021
3605cd7
Add inst_processors to D.features
zhupr Aug 29, 2021
ee5f3de
Fix typo
zhupr Aug 29, 2021
6e88ccc
Fix the index type of the multi-freq example
zhupr Aug 30, 2021
707399a
Fix duplicate mlflow directories in tests
zhupr Aug 31, 2021
e84cc23
Add DataPathManager to QlibConfig && modify inst_processors to suppor…
zhupr Sep 2, 2021
4c5a4d5
Modify the default value in the multi_freq example
zhupr Sep 2, 2021
ab9b6dc
Modify client-server mode and dataset-cache to disable inst_processor
zhupr Sep 7, 2021
0fc5233
Add wheel package to github CI
zhupr Sep 7, 2021
d796187
fix comment
wangwenxi-handsome Sep 7, 2021
8676675
Update FAQ.rst
zhupr Sep 8, 2021
2461575
Update README.md
you-n-g Sep 9, 2021
08f3d27
merge main
wangwenxi-handsome Sep 9, 2021
2759e8c
Update the docs of TaskManager (#586)
demon143 Sep 9, 2021
20a236d
update yaml
wangwenxi-handsome Sep 9, 2021
5607107
update run_all_model
wangwenxi-handsome Sep 9, 2021
5e82c18
Modify the Feature to be case sensitive (#589)
zhupr Sep 10, 2021
f35254c
update README
Sep 10, 2021
121b926
remove verbose
wangwenxi-handsome Sep 10, 2021
c87c6b1
fix spell bug
wangwenxi-handsome Sep 10, 2021
5279e71
Merge pull request #591 from evanzd/fix_tra
evanzd Sep 11, 2021
fb21c59
fix typos (#592)
saintmalik Sep 12, 2021
bb5cdfe
Update Release Note
you-n-g Sep 12, 2021
b45d245
fix portfolio bug
wangwenxi-handsome Sep 12, 2021
ba9ed56
Add calendar support for resample
zhupr Sep 12, 2021
e0f8158
Merge branch 'merge_nested_main' of github.com:microsoft/qlib into me…
zhupr Sep 12, 2021
5a29f03
Merge branch 'merge_nested_main' of https://github.com/microsoft/qlib…
wangwenxi-handsome Sep 12, 2021
8fd5792
add freq kwargs
wangwenxi-handsome Sep 12, 2021
28c99c7
test.yml: Remove redundant code (#595)
cclauss Sep 13, 2021
51709c2
Supporting shared processor (#596)
you-n-g Sep 13, 2021
735f2d8
fix comments
you-n-g Sep 13, 2021
b8d1e08
Fix undefined names in Python code (#599)
cclauss Sep 14, 2021
efb66fc
update seed
wangwenxi-handsome Sep 14, 2021
b0a9447
fix some docstring
you-n-g Sep 14, 2021
bab0f35
add comments
zhupr Sep 14, 2021
d02965e
Fix SimpleDatasetCache
zhupr Sep 15, 2021
a105ef1
Update setup.py
anukaal Sep 14, 2021
8ff68a1
Update setup.py
anukaal Sep 15, 2021
66ff3e5
Update python-publish.yml
anukaal Sep 15, 2021
3fc2f8c
updategrade version number
you-n-g Sep 16, 2021
414c308
Update model list
you-n-g Sep 18, 2021
114c38b
fix the type of filter_pipe
zhupr Sep 19, 2021
28f0e0c
fix comment
wangwenxi-handsome Sep 24, 2021
befccfd
fix record_temp
wangwenxi-handsome Sep 25, 2021
c500a01
update cvxpy version
you-n-g Sep 22, 2021
36fceaf
merge main
wangwenxi-handsome Sep 25, 2021
17d472c
Update code_standard.rst (#587)
demon143 Sep 26, 2021
45ea4ba
Add file lock for MLflowExpManager (#619)
you-n-g Sep 26, 2021
ef9dd85
fix torch version
demon143 Sep 27, 2021
55b6ff1
Share version number (#620)
you-n-g Sep 27, 2021
6ee0fe3
Update initialization.rst (#622)
demon143 Sep 27, 2021
bfa2d28
fix bugs for running previous exmaple
you-n-g Sep 27, 2021
cb3c616
fix deal amount bug
you-n-g Sep 28, 2021
ed4c5ac
Merge branch 'merge_nested_main' of https://github.com/microsoft/qlib…
demon143 Sep 28, 2021
b6a8bd5
update change doc (#623)
demon143 Sep 29, 2021
940aeab
update doc
wangwenxi-handsome Sep 29, 2021
2bc4bcd
Merge branch 'merge_nested_main' of https://github.com/microsoft/qlib…
wangwenxi-handsome Sep 29, 2021
ade4323
simplify run all model
you-n-g Sep 29, 2021
8eac0e4
Merge branch 'merge_nested_main' of github.com:microsoft/qlib into me…
you-n-g Sep 29, 2021
c8e35bf
fix run all model bug
you-n-g Sep 29, 2021
fc243fd
Fix Models (#483)
you-n-g Sep 30, 2021
0fee6a7
Merge remote-tracking branch 'origin/main' into merge_nested_main
you-n-g Sep 30, 2021
3c9259a
Merge remote-tracking branch 'origin/nested_decision_exe' into merge_…
you-n-g Sep 30, 2021
3cee0eb
type and skip empty exp
you-n-g Sep 30, 2021
f599a02
fix model yaml config
you-n-g Sep 30, 2021
7fb0ade
Merge branch 'merge_nested_main' of github.com:microsoft/qlib into me…
you-n-g Sep 30, 2021
45b83b6
fix tft import bug
you-n-g Sep 30, 2021
9910835
skip empty result
you-n-g Sep 30, 2021
73b3d21
fix model and yaml bug
you-n-g Sep 30, 2021
dd917fe
fix wrong generate parameter
you-n-g Sep 30, 2021
79dfffc
Modify multi-freq example (#626)
zhupr Sep 30, 2021
a30bc9a
update images
zhupr Sep 30, 2021
4a8aa53
fix workflow and update framework
you-n-g Sep 30, 2021
91945fd
Merge branch 'merge_nested_main' of github.com:microsoft/qlib into me…
you-n-g Sep 30, 2021
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/python-publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ jobs:
strategy:
matrix:
os: [windows-latest, macos-latest]
python-version: [3.6, 3.7, 3.8]
python-version: [3.6, 3.7, 3.8, 3.9]

steps:
- uses: actions/checkout@v2
Expand Down
99 changes: 25 additions & 74 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
name: Test
name: Test

on:
push:
Expand All @@ -13,7 +13,7 @@ jobs:
strategy:
matrix:
os: [windows-latest, ubuntu-16.04, ubuntu-18.04, ubuntu-20.04]
python-version: [3.6, 3.7, 3.8, 3.9]
python-version: [3.6, 3.7, 3.8]

steps:
- uses: actions/checkout@v2
Expand All @@ -25,63 +25,29 @@ jobs:

- name: Lint with Black
run: |
cd ..
if [ "$RUNNER_OS" == "Windows" ]; then
$CONDA\\python.exe -m pip install black
$CONDA\\python.exe -m black qlib -l 120 --check --diff
else
sudo $CONDA/bin/python -m pip install black
$CONDA/bin/python -m black qlib -l 120 --check --diff
fi
shell: bash
pip install --upgrade pip
pip install black wheel
black qlib -l 120 --check --diff

# Test Qlib installed with pip
# - name: Install Qlib with pip
# run: |
# if [ "$RUNNER_OS" == "Windows" ]; then
# $CONDA\\python.exe -m pip install numpy==1.19.5
# $CONDA\\python.exe -m pip install pyqlib --ignore-installed ruamel.yaml numpy --user
# else
# sudo $CONDA/bin/python -m pip install numpy==1.19.5
# sudo $CONDA/bin/python -m pip install pyqlib --ignore-installed ruamel.yaml numpy
# fi
# shell: bash
- name: Install Qlib with pip
run: |
pip install numpy==1.19.5 ruamel.yaml
pip install pyqlib --ignore-installed

# - name: Test data downloads
# run: |
# if [ "$RUNNER_OS" == "Windows" ]; then
# $CONDA\\python.exe scripts/get_data.py qlib_data --target_dir ~/.qlib/qlib_data/cn_data --interval 1d --region cn
# else
# $CONDA/bin/python scripts/get_data.py qlib_data --target_dir ~/.qlib/qlib_data/cn_data --interval 1d --region cn
# fi
# shell: bash
- name: Test data downloads
run: |
python scripts/get_data.py qlib_data --target_dir ~/.qlib/qlib_data/cn_data --interval 1d --region cn

# - name: Test workflow by config (install from pip)
# run: |
# if [ "$RUNNER_OS" == "Windows" ]; then
# $CONDA\\python.exe qlib\\workflow\\cli.py examples\\benchmarks\\LightGBM\\workflow_config_lightgbm_Alpha158.yaml
# $CONDA\\python.exe -m pip uninstall -y pyqlib
# else
# $CONDA/bin/python qlib/workflow/cli.py examples/benchmarks/LightGBM/workflow_config_lightgbm_Alpha158.yaml
# sudo $CONDA/bin/python -m pip uninstall -y pyqlib
# fi
# shell: bash

# Test Qlib installed from source
- name: Test workflow by config (install from pip)
run: |
python qlib/workflow/cli.py examples/benchmarks/LightGBM/workflow_config_lightgbm_Alpha158.yaml
python -m pip uninstall -y pyqlib

# Test Qlib installed from source
- name: Install Qlib from source
run: |
if [ "$RUNNER_OS" == "Windows" ]; then
$CONDA\\python.exe -m pip install --upgrade cython
$CONDA\\python.exe -m pip install numpy jupyter jupyter_contrib_nbextensions
$CONDA\\python.exe -m pip install -U scipy scikit-learn # installing without this line will cause errors on GitHub Actions, while instsalling locally won't
$CONDA\\python.exe setup.py install
else
sudo $CONDA/bin/python -m pip install --upgrade cython
sudo $CONDA/bin/python -m pip install numpy jupyter jupyter_contrib_nbextensions
sudo $CONDA/bin/python -m pip install -U scipy scikit-learn # installing without this line will cause errors on GitHub Actions, while instsalling locally won't
sudo $CONDA/bin/python setup.py install
fi
shell: bash
pip install --upgrade cython jupyter jupyter_contrib_nbextensions numpy scipy scikit-learn # installing without this line will cause errors on GitHub Actions, while instsalling locally won't
pip install -e .

- name: Test data downloads
run: |
Expand All @@ -94,30 +60,15 @@ jobs:

- name: Install test dependencies
run: |
if [ "$RUNNER_OS" == "Windows" ]; then
$CONDA\\python.exe -m pip install --upgrade pip
$CONDA\\python.exe -m pip install black pytest
else
sudo $CONDA/bin/python -m pip install --upgrade pip
sudo $CONDA/bin/python -m pip install black pytest
fi
shell: bash
pip install --upgrade pip
pip install black pytest

- name: Unit tests with Pytest
run: |
cd tests
if [ "$RUNNER_OS" == "Windows" ]; then
$CONDA\\python.exe -m pytest . --durations=0
else
$CONDA/bin/python -m pytest . --durations=0
fi
shell: bash
python -m pytest . --durations=10

- name: Test workflow by config (install from source)
run: |
if [ "$RUNNER_OS" == "Windows" ]; then
$CONDA\\python.exe qlib\\workflow\\cli.py examples\\benchmarks\\LightGBM\\workflow_config_lightgbm_Alpha158.yaml
else
$CONDA/bin/python qlib/workflow/cli.py examples/benchmarks/LightGBM/workflow_config_lightgbm_Alpha158.yaml
fi
shell: bash
python qlib/workflow/cli.py examples/benchmarks/LightGBM/workflow_config_lightgbm_Alpha158.yaml

58 changes: 26 additions & 32 deletions .github/workflows/test_macos.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ jobs:
runs-on: macos-latest
strategy:
matrix:
python-version: [3.6, 3.7, 3.8, 3.9]
python-version: [3.6, 3.7, 3.8]

steps:
- uses: actions/checkout@v2
Expand All @@ -26,52 +26,46 @@ jobs:
- name: Lint with Black
run: |
cd ..
sudo $CONDA/bin/python -m pip install black
$CONDA/bin/python -m black qlib -l 120 --check --diff

python -m pip install pip --upgrade
python -m pip install wheel --upgrade
python -m pip install black
python -m black qlib -l 120 --check --diff
# Test Qlib installed with pip
# - name: Install Qlib with pip
# run: |
# sudo $CONDA/bin/python -m pip install numpy==1.19.5
# sudo $CONDA/bin/python -m pip install pyqlib --ignore-installed ruamel.yaml numpy

- name: Install Qlib with pip
run: |
python -m pip install numpy==1.19.5
python -m pip install pyqlib --ignore-installed ruamel.yaml numpy

- name: Install Lightgbm for MacOS
run: |
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Microsoft/qlib/main/.github/brew_install.sh)"
HOMEBREW_NO_AUTO_UPDATE=1 brew install lightgbm

# - name: Test data downloads
# run: |
# $CONDA/bin/python scripts/get_data.py qlib_data --target_dir ~/.qlib/qlib_data/cn_data --interval 1d --region cn

# - name: Test workflow by config (install from pip)
# run: |
# $CONDA/bin/python qlib/workflow/cli.py examples/benchmarks/LightGBM/workflow_config_lightgbm_Alpha158.yaml
# sudo $CONDA/bin/python -m pip uninstall -y pyqlib

- name: Test data downloads
run: |
python scripts/get_data.py qlib_data --target_dir ~/.qlib/qlib_data/cn_data --interval 1d --region cn
- name: Test workflow by config (install from pip)
run: |
python qlib/workflow/cli.py examples/benchmarks/LightGBM/workflow_config_lightgbm_Alpha158.yaml
python -m pip uninstall -y pyqlib
# Test Qlib installed from source
- name: Install Qlib from source
run: |
sudo $CONDA/bin/python -m pip install --upgrade cython
sudo $CONDA/bin/python -m pip install numpy jupyter jupyter_contrib_nbextensions
sudo $CONDA/bin/python -m pip install -U scipy scikit-learn # installing without this line will cause errors on GitHub Actions, while instsalling locally won't
sudo $CONDA/bin/python setup.py install

- name: Test data downloads
run: |
$CONDA/bin/python scripts/get_data.py qlib_data --target_dir ~/.qlib/qlib_data/cn_data --interval 1d --region cn
python -m pip install --upgrade cython
python -m pip install numpy jupyter jupyter_contrib_nbextensions
python -m pip install -U scipy scikit-learn # installing without this line will cause errors on GitHub Actions, while instsalling locally won't
python setup.py install

- name: Install test dependencies
run: |
sudo $CONDA/bin/python -m pip install --upgrade pip
sudo $CONDA/bin/python -m pip install -U pyopenssl idna
sudo $CONDA/bin/python -m pip install black pytest

python -m pip install --upgrade pip
python -m pip install -U pyopenssl idna
python -m pip install black pytest
- name: Unit tests with Pytest
run: |
cd tests
$CONDA/bin/python -m pytest . --durations=0

python -m pytest . --durations=0
- name: Test workflow by config (install from source)
run: |
$CONDA/bin/python qlib/workflow/cli.py examples/benchmarks/LightGBM/workflow_config_lightgbm_Alpha158.yaml
python qlib/workflow/cli.py examples/benchmarks/LightGBM/workflow_config_lightgbm_Alpha158.yaml
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ dist/
.nvimrc
.vscode

qlib/VERSION.txt
qlib/data/_libs/expanding.cpp
qlib/data/_libs/rolling.cpp
examples/estimator/estimator_example/
Expand Down
1 change: 1 addition & 0 deletions MANIFEST.in
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
include qlib/VERSION.txt
43 changes: 24 additions & 19 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@
Recent released features
| Feature | Status |
| -- | ------ |
|Temporal Routing Adaptor (TRA) | [Released](https://github.com/microsoft/qlib/pull/531) on July 30, 2021 |
| Transformer & Localformer | [Released](https://github.com/microsoft/qlib/pull/508) on July 22, 2021 |
| Release Qlib v0.7.0 | [Released](https://github.com/microsoft/qlib/releases/tag/v0.7.0) on July 12, 2021 |
| TCTS Model | [Released](https://github.com/microsoft/qlib/pull/491) on July 1, 2021 |
Expand All @@ -23,10 +24,8 @@ Recent released features

Features released before 2021 are not listed here.



<p align="center">
<img src="http://fintech.msra.cn/images_v060/logo/1.png" />
<img src="http://fintech.msra.cn/images_v070/logo/1.png" />
</p>


Expand All @@ -45,7 +44,7 @@ For more details, please refer to our paper ["Qlib: An AI-oriented Quantitative
- [Data Preparation](#data-preparation)
- [Auto Quant Research Workflow](#auto-quant-research-workflow)
- [Building Customized Quant Research Workflow by Code](#building-customized-quant-research-workflow-by-code)
- [**Quant Model Zoo**](#quant-model-zoo)
- [**Quant Model(Paper) Zoo**](#quant-model-paper-zoo)
- [Run a single model](#run-a-single-model)
- [Run multiple models](#run-multiple-models)
- [**Quant Dataset Zoo**](#quant-dataset-zoo)
Expand All @@ -71,7 +70,7 @@ Your feedbacks about the features are very important.
# Framework of Qlib

<div style="align: center">
<img src="http://fintech.msra.cn/images_v060/framework.png?v=0.2" />
<img src="docs/_static/img/framework.svg" />
</div>


Expand Down Expand Up @@ -107,8 +106,9 @@ This table demonstrates the supported Python version of `Qlib`:
| Python 3.9 | :x: | :heavy_check_mark: | :x: |

**Note**:
1. **Conda** is suggested for managing your Python environment.
1. Please pay attention that installing cython in Python 3.6 will raise some error when installing ``Qlib`` from source. If users use Python 3.6 on their machines, it is recommended to *upgrade* Python to version 3.7 or use `conda`'s Python to install ``Qlib`` from source.
2. For Python 3.9, `Qlib` supports running workflows such as training models, doing backtest and plot most of the related figures (those included in [notebook](examples/workflow_by_code.ipynb)). However, plotting for the *model performance* is not supported for now and we will fix this when the dependent packages are upgraded in the future.
1. For Python 3.9, `Qlib` supports running workflows such as training models, doing backtest and plot most of the related figures (those included in [notebook](examples/workflow_by_code.ipynb)). However, plotting for the *model performance* is not supported for now and we will fix this when the dependent packages are upgraded in the future.

### Install with pip
Users can easily install ``Qlib`` by pip according to the following command.
Expand Down Expand Up @@ -162,7 +162,7 @@ Users could create the same dataset with it.
*Please pay **ATTENTION** that the data is collected from [Yahoo Finance](https://finance.yahoo.com/lookup), and the data might not be perfect.
We recommend users to prepare their own data if they have a high-quality dataset. For more information, users can refer to the [related document](https://qlib.readthedocs.io/en/latest/component/data.html#converting-csv-format-into-qlib-format)*.

### Automatic update of daily frequency data(from yahoo finance)
### Automatic update of daily frequency data (from yahoo finance)
> It is recommended that users update the data manually once (--trading_date 2021-05-25) and then set it to update automatically.

> For more information refer to: [yahoo collector](https://github.com/microsoft/qlib/tree/main/scripts/data_collector/yahoo#automatic-update-of-daily-frequency-datafrom-yahoo-finance)
Expand Down Expand Up @@ -247,19 +247,19 @@ Qlib provides a tool named `qrun` to run the whole workflow automatically (inclu
2. Graphical Reports Analysis: Run `examples/workflow_by_code.ipynb` with `jupyter notebook` to get graphical reports
- Forecasting signal (model prediction) analysis
- Cumulative Return of groups
![Cumulative Return](http://fintech.msra.cn/images_v060/analysis/analysis_model_cumulative_return.png?v=0.1)
![Cumulative Return](http://fintech.msra.cn/images_v070/analysis/analysis_model_cumulative_return.png?v=0.1)
- Return distribution
![long_short](http://fintech.msra.cn/images_v060/analysis/analysis_model_long_short.png?v=0.1)
![long_short](http://fintech.msra.cn/images_v070/analysis/analysis_model_long_short.png?v=0.1)
- Information Coefficient (IC)
![Information Coefficient](http://fintech.msra.cn/images_v060/analysis/analysis_model_IC.png?v=0.1)
![Monthly IC](http://fintech.msra.cn/images_v060/analysis/analysis_model_monthly_IC.png?v=0.1)
![IC](http://fintech.msra.cn/images_v060/analysis/analysis_model_NDQ.png?v=0.1)
![Information Coefficient](http://fintech.msra.cn/images_v070/analysis/analysis_model_IC.png?v=0.1)
![Monthly IC](http://fintech.msra.cn/images_v070/analysis/analysis_model_monthly_IC.png?v=0.1)
![IC](http://fintech.msra.cn/images_v070/analysis/analysis_model_NDQ.png?v=0.1)
- Auto Correlation of forecasting signal (model prediction)
![Auto Correlation](http://fintech.msra.cn/images_v060/analysis/analysis_model_auto_correlation.png?v=0.1)
![Auto Correlation](http://fintech.msra.cn/images_v070/analysis/analysis_model_auto_correlation.png?v=0.1)

- Portfolio analysis
- Backtest return
![Report](http://fintech.msra.cn/images_v060/analysis/report.png?v=0.1)
![Report](http://fintech.msra.cn/images_v070/analysis/report.png?v=0.1)
<!--
- Score IC
![Score IC](docs/_static/img/score_ic.png)
Expand All @@ -276,7 +276,7 @@ Qlib provides a tool named `qrun` to run the whole workflow automatically (inclu
The automatic workflow may not suit the research workflow of all Quant researchers. To support a flexible Quant research workflow, Qlib also provides a modularized interface to allow researchers to build their own workflow by code. [Here](examples/workflow_by_code.ipynb) is a demo for customized Quant research workflow by code.


# [Quant Model Zoo](examples/benchmarks)
# [Quant Model (Paper) Zoo](examples/benchmarks)

Here is a list of models built on `Qlib`.
- [GBDT based on XGBoost (Tianqi Chen, et al. KDD 2016)](qlib/contrib/model/xgboost.py)
Expand All @@ -294,6 +294,7 @@ Here is a list of models built on `Qlib`.
- [TCTS based on pytorch (Xueqing Wu, et al. ICML 2021)](qlib/contrib/model/pytorch_tcts.py)
- [Transformer based on pytorch (Ashish Vaswani, et al. NeurIPS 2017)](qlib/contrib/model/pytorch_transformer.py)
- [Localformer based on pytorch (Juyong Jiang, et al.)](qlib/contrib/model/pytorch_localformer.py)
- [TRA based on pytorch (Hengxu, Dong, et al. KDD 2021)](qlib/contrib/model/pytorch_tra.py)

Your PR of new Quant models is highly welcomed.

Expand All @@ -307,9 +308,10 @@ All the models listed above are runnable with ``Qlib``. Users can find the confi
- Users can create a `workflow_by_code` python script based on the [one](examples/workflow_by_code.py) listed in the `examples` folder.

- Users can use the script [`run_all_model.py`](examples/run_all_model.py) listed in the `examples` folder to run a model. Here is an example of the specific shell command to be used: `python run_all_model.py --models=lightgbm`, where the `--models` arguments can take any number of models listed above(the available models can be found in [benchmarks](examples/benchmarks/)). For more use cases, please refer to the file's [docstrings](examples/run_all_model.py).
- **NOTE**: Each baseline has different environment dependencies, please make sure that your python version aligns with the requirements(e.g. TFT only supports Python 3.6~3.7 due to the limitation of `tensorflow==1.15.0`)

## Run multiple models
`Qlib` also provides a script [`run_all_model.py`](examples/run_all_model.py) which can run multiple models for several iterations. (**Note**: the script only support *Linux* for now. Other OS will be supported in the future. Besides, it doesn't support parrallel running the same model for multiple times as well, and this will be fixed in the future development too.)
`Qlib` also provides a script [`run_all_model.py`](examples/run_all_model.py) which can run multiple models for several iterations. (**Note**: the script only support *Linux* for now. Other OS will be supported in the future. Besides, it doesn't support parallel running the same model for multiple times as well, and this will be fixed in the future development too.)

The script will create a unique virtual environment for each model, and delete the environments after training. Thus, only experiment results such as `IC` and `backtest` results will be generated and stored.

Expand Down Expand Up @@ -374,9 +376,7 @@ Such overheads greatly slow down the data loading process.
Qlib data are stored in a compact format, which is efficient to be combined into arrays for scientific computation.

# Related Reports
- [【华泰金工林晓明团队】图神经网络选股与Qlib实践——华泰人工智能系列之四十二](https://mp.weixin.qq.com/s/w5fDB6oAv9dO6vlhf1kmhA)
- [Guide To Qlib: Microsoft’s AI Investment Platform](https://analyticsindiamag.com/qlib/)
- [【华泰金工林晓明团队】微软AI量化投资平台Qlib体验——华泰人工智能系列之四十](https://mp.weixin.qq.com/s/Brcd7im4NibJOJzZfMn6tQ)
- [微软也搞AI量化平台?还是开源的!](https://mp.weixin.qq.com/s/47bP5YwxfTp2uTHjUBzJQQ)
- [微矿Qlib:业内首个AI量化投资开源平台](https://mp.weixin.qq.com/s/vsJv7lsgjEi-ALYUz4CvtQ)

Expand All @@ -389,14 +389,19 @@ Qlib data are stored in a compact format, which is efficient to be combined into
Join IM discussion groups:
|[Gitter](https://gitter.im/Microsoft/qlib)|
|----|
|![image](http://fintech.msra.cn/images_v060/qrcode/gitter_qr.png)|
|![image](http://fintech.msra.cn/images_v070/qrcode/gitter_qr.png)|

# Contributing

This project welcomes contributions and suggestions.
**Here are some
[code standards](docs/developer/code_standard.rst) when you submit a pull request.**

If you want to contribute to Qlib's document, you can follow the steps in the figure below.
<p align="center">
<img src="https://github.com/demon143/qlib/blob/main/docs/_static/img/change%20doc.gif" />
</p>


Most contributions require you to agree to a
Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us
Expand Down
1 change: 1 addition & 0 deletions VERSION.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
0.7.1.99
Loading