mirror of
https://github.com/microsoft/qlib.git
synced 2026-07-20 02:37:38 +08:00
Compare commits
1 Commits
release-pl
...
4933fcefc4
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
4933fcefc4 |
@@ -1,13 +1,11 @@
|
|||||||
# Changelog
|
# Changelog
|
||||||
|
|
||||||
## [0.9.8](https://github.com/microsoft/qlib/compare/v0.9.7...v0.9.8) (2025-11-13)
|
## [0.9.8](https://github.com/microsoft/qlib/compare/v0.9.7...v0.9.8) (2025-10-17)
|
||||||
|
|
||||||
|
|
||||||
### Bug Fixes
|
### Bug Fixes
|
||||||
|
|
||||||
* download orderbook data error ([#1990](https://github.com/microsoft/qlib/issues/1990)) ([136b2dd](https://github.com/microsoft/qlib/commit/136b2ddf9a16e4106d62b8d1336a56273a8abef0))
|
* download orderbook data error ([#1990](https://github.com/microsoft/qlib/issues/1990)) ([136b2dd](https://github.com/microsoft/qlib/commit/136b2ddf9a16e4106d62b8d1336a56273a8abef0))
|
||||||
* **gbdt:** correct dtrain assignment in finetune() to use Dataset instead of tuple ([#2049](https://github.com/microsoft/qlib/issues/2049)) ([2b41782](https://github.com/microsoft/qlib/commit/2b41782f0cfb81e8cc065f2915b215758a7838ef))
|
|
||||||
* **macd:** remove extra division by close in DEA calculation to ensure dimension consistency ([#2046](https://github.com/microsoft/qlib/issues/2046)) ([66c3622](https://github.com/microsoft/qlib/commit/66c36226aafceabe497e5967f67921e5d3c9d497))
|
|
||||||
* replace deprecated pandas fillna(method=) with ffill()/bfill() ([#1987](https://github.com/microsoft/qlib/issues/1987)) ([7095e75](https://github.com/microsoft/qlib/commit/7095e755fa57e011f0483d24b45fc5bd5a4deaf8))
|
* replace deprecated pandas fillna(method=) with ffill()/bfill() ([#1987](https://github.com/microsoft/qlib/issues/1987)) ([7095e75](https://github.com/microsoft/qlib/commit/7095e755fa57e011f0483d24b45fc5bd5a4deaf8))
|
||||||
* spelling errors ([#1996](https://github.com/microsoft/qlib/issues/1996)) ([f26b341](https://github.com/microsoft/qlib/commit/f26b3417363410531dbbb39e425bce6cf05528a1))
|
* spelling errors ([#1996](https://github.com/microsoft/qlib/issues/1996)) ([f26b341](https://github.com/microsoft/qlib/commit/f26b3417363410531dbbb39e425bce6cf05528a1))
|
||||||
* the bug when auto_mount=True ([#2009](https://github.com/microsoft/qlib/issues/2009)) ([213eb6c](https://github.com/microsoft/qlib/commit/213eb6c2cd12342b6ec98f21300217e1659f3d58))
|
* the bug when auto_mount=True ([#2009](https://github.com/microsoft/qlib/issues/2009)) ([213eb6c](https://github.com/microsoft/qlib/commit/213eb6c2cd12342b6ec98f21300217e1659f3d58))
|
||||||
|
|||||||
2
Makefile
2
Makefile
@@ -113,7 +113,7 @@ dev: prerequisite all
|
|||||||
|
|
||||||
# Check lint with black.
|
# Check lint with black.
|
||||||
black:
|
black:
|
||||||
black . -l 120 --check --diff --exclude qlib/_version.py
|
black . -l 120 --check --diff
|
||||||
|
|
||||||
# Check code folder with pylint.
|
# Check code folder with pylint.
|
||||||
# TODO: These problems we will solve in the future. Important among them are: W0221, W0223, W0237, E1102
|
# TODO: These problems we will solve in the future. Important among them are: W0221, W0223, W0237, E1102
|
||||||
|
|||||||
@@ -42,7 +42,7 @@ Example
|
|||||||
|
|
||||||
.. math::
|
.. math::
|
||||||
|
|
||||||
DEA = EMA(DIF, 9)
|
DEA = \frac{EMA(DIF, 9)}{CLOSE}
|
||||||
|
|
||||||
Users can use ``Data Handler`` to build formulaic alphas `MACD` in qlib:
|
Users can use ``Data Handler`` to build formulaic alphas `MACD` in qlib:
|
||||||
|
|
||||||
@@ -51,7 +51,7 @@ Users can use ``Data Handler`` to build formulaic alphas `MACD` in qlib:
|
|||||||
.. code-block:: python
|
.. code-block:: python
|
||||||
|
|
||||||
>> from qlib.data.dataset.loader import QlibDataLoader
|
>> from qlib.data.dataset.loader import QlibDataLoader
|
||||||
>> MACD_EXP = '2 * ((EMA($close, 12) - EMA($close, 26))/$close - EMA((EMA($close, 12) - EMA($close, 26))/$close, 9))'
|
>> MACD_EXP = '(EMA($close, 12) - EMA($close, 26))/$close - EMA((EMA($close, 12) - EMA($close, 26))/$close, 9)/$close'
|
||||||
>> fields = [MACD_EXP] # MACD
|
>> fields = [MACD_EXP] # MACD
|
||||||
>> names = ['MACD']
|
>> names = ['MACD']
|
||||||
>> labels = ['Ref($close, -2)/Ref($close, -1) - 1'] # label
|
>> labels = ['Ref($close, -2)/Ref($close, -1) - 1'] # label
|
||||||
@@ -66,17 +66,17 @@ Users can use ``Data Handler`` to build formulaic alphas `MACD` in qlib:
|
|||||||
feature label
|
feature label
|
||||||
MACD LABEL
|
MACD LABEL
|
||||||
datetime instrument
|
datetime instrument
|
||||||
2010-01-04 SH600000 0.008781 -0.019672
|
2010-01-04 SH600000 -0.011547 -0.019672
|
||||||
SH600004 0.006699 -0.014721
|
SH600004 0.002745 -0.014721
|
||||||
SH600006 0.005714 0.002911
|
SH600006 0.010133 0.002911
|
||||||
SH600008 0.000798 0.009818
|
SH600008 -0.001113 0.009818
|
||||||
SH600009 0.017015 -0.017758
|
SH600009 0.025878 -0.017758
|
||||||
... ... ...
|
... ... ...
|
||||||
2017-12-29 SZ300124 0.015071 -0.005074
|
2017-12-29 SZ300124 0.007306 -0.005074
|
||||||
SZ300136 -0.015466 0.056352
|
SZ300136 -0.013492 0.056352
|
||||||
SZ300144 0.013082 0.011853
|
SZ300144 -0.000966 0.011853
|
||||||
SZ300251 -0.001026 0.021739
|
SZ300251 0.004383 0.021739
|
||||||
SZ300315 -0.007559 0.012455
|
SZ300315 -0.030557 0.012455
|
||||||
|
|
||||||
Reference
|
Reference
|
||||||
=========
|
=========
|
||||||
|
|||||||
@@ -117,4 +117,3 @@ qrun = "qlib.cli.run:run"
|
|||||||
[tool.setuptools_scm]
|
[tool.setuptools_scm]
|
||||||
local_scheme = "no-local-version"
|
local_scheme = "no-local-version"
|
||||||
version_scheme = "guess-next-dev"
|
version_scheme = "guess-next-dev"
|
||||||
write_to = "qlib/_version.py"
|
|
||||||
|
|||||||
@@ -4,10 +4,7 @@ from pathlib import Path
|
|||||||
|
|
||||||
from setuptools_scm import get_version
|
from setuptools_scm import get_version
|
||||||
|
|
||||||
try:
|
__version__ = get_version(root="..", relative_to=__file__)
|
||||||
from ._version import version as __version__
|
|
||||||
except ImportError:
|
|
||||||
__version__ = get_version(root="..", relative_to=__file__)
|
|
||||||
__version__bak = __version__ # This version is backup for QlibConfig.reset_qlib_version
|
__version__bak = __version__ # This version is backup for QlibConfig.reset_qlib_version
|
||||||
import logging
|
import logging
|
||||||
import os
|
import os
|
||||||
|
|||||||
@@ -51,7 +51,7 @@ class LGBModel(ModelFT, LightGBMFInt):
|
|||||||
w = reweighter.reweight(df)
|
w = reweighter.reweight(df)
|
||||||
else:
|
else:
|
||||||
raise ValueError("Unsupported reweighter type.")
|
raise ValueError("Unsupported reweighter type.")
|
||||||
ds_l.append((lgb.Dataset(x.values, label=y, weight=w, free_raw_data=False), key))
|
ds_l.append((lgb.Dataset(x.values, label=y, weight=w), key))
|
||||||
return ds_l
|
return ds_l
|
||||||
|
|
||||||
def fit(
|
def fit(
|
||||||
@@ -109,10 +109,8 @@ class LGBModel(ModelFT, LightGBMFInt):
|
|||||||
verbose level
|
verbose level
|
||||||
"""
|
"""
|
||||||
# Based on existing model and finetune by train more rounds
|
# Based on existing model and finetune by train more rounds
|
||||||
ds_l = self._prepare_data(dataset, reweighter)
|
dtrain, _ = self._prepare_data(dataset, reweighter) # pylint: disable=W0632
|
||||||
dtrain, _ = ds_l[0]
|
if dtrain.empty:
|
||||||
|
|
||||||
if dtrain.construct().num_data() == 0:
|
|
||||||
raise ValueError("Empty data from dataset, please check your dataset config.")
|
raise ValueError("Empty data from dataset, please check your dataset config.")
|
||||||
verbose_eval_callback = lgb.log_evaluation(period=verbose_eval)
|
verbose_eval_callback = lgb.log_evaluation(period=verbose_eval)
|
||||||
self.model = lgb.train(
|
self.model = lgb.train(
|
||||||
|
|||||||
10
setup.py
10
setup.py
@@ -2,12 +2,22 @@ import os
|
|||||||
|
|
||||||
import numpy
|
import numpy
|
||||||
from setuptools import Extension, setup
|
from setuptools import Extension, setup
|
||||||
|
from setuptools_scm import get_version
|
||||||
|
|
||||||
|
|
||||||
|
def read(rel_path: str) -> str:
|
||||||
|
here = os.path.abspath(os.path.dirname(__file__))
|
||||||
|
with open(os.path.join(here, rel_path), encoding="utf-8") as fp:
|
||||||
|
return fp.read()
|
||||||
|
|
||||||
|
|
||||||
NUMPY_INCLUDE = numpy.get_include()
|
NUMPY_INCLUDE = numpy.get_include()
|
||||||
|
|
||||||
|
|
||||||
|
VERSION = get_version(root=".", relative_to=__file__)
|
||||||
|
|
||||||
setup(
|
setup(
|
||||||
|
version=VERSION,
|
||||||
ext_modules=[
|
ext_modules=[
|
||||||
Extension(
|
Extension(
|
||||||
"qlib.data._libs.rolling",
|
"qlib.data._libs.rolling",
|
||||||
|
|||||||
Reference in New Issue
Block a user