CHANGES.rst
Here you can see the full list of changes between each QLib release.
This is the initial release of QLib library.
Performance optimize. Add more features and operators.
High() - Low() is equivalent to Sub(High(), Low()).Bug fix and add instruments filtering mechanism.
LocalProvider database format for performance improvement.Provider.['Ref($close, 1)'] is valid field format.$some_field format. And existing fields like Close() may be deprecated in the future.disk_cache for reusing features (enabled by default).qlib.contrib for experimental model construction and evaluation.backtest moduleprofit attribution modulerick_control and cost_control strategiesestimator modulefilter modulefactor field in the data set is incomplete, use adj_price tradinghandler launcher trainer codebacktest configuration parameters in the configuration fileamount is 0filter modulefilter modulefinetune modelfetcher codehandler. (But LightGBM doesn't support due to the algorithm itself)handler code, dataset.py is no longer used, and you can deploy your own labels and features in feature_label_configtrainer and model.py only receive DataFramesplit_rolling_data, we roll the data on market calendar now, not on normal datehandler to trainerdata package that holds all data-related codesqlib-server <https://amc-msra.visualstudio.com/trading-algo/_git/qlib-server>_ClientProvider to work with server.. note::
The D.instruments function does not support start_time, end_time, and as_list parameters, if you want to get the results of previous versions of D.instruments, you can do this:
>>> from qlib.data import D
>>> instruments = D.instruments(market='csi500')
>>> D.list_instruments(instruments=instruments, start_time='2015-01-01', end_time='2016-02-15', as_list=True)
instruments type bugfeatures is empty bug(It will cause failure in updating)cache lock and update bugmethod parameter of risk_analysis function is changed from ci to siAlpha360 DataHandlerServerDatasetCache offline.long_short_backtest, there is a case of np.nan in long_short. The current version 0.4.4 has been fixed, so long_short_backtest will be different from the previous version.0.4.2 version of risk_analysis function, N is 250, and N is 252 from 0.4.3, so 0.4.2 is 0.002122 smaller than the 0.4.3 the backtest result is slightly different between 0.4.2 and 0.4.3.topk. (The backtest result of TopkAmountStrategy remains the same)Version 0.4.5 is not friendly to daily frequency data.WithInteract=True.previous version <https://github.com/microsoft/qlib/blob/v0.7.2/qlib/contrib/backtest/exchange.py#L160>__, longing and shorting actions share the same action.current version <https://github.com/microsoft/qlib/blob/7c31012b507a3823117bddcc693fc64899460b2a/qlib/backtest/exchange.py#L304>__, the trading limitation is different between logging and shorting action.Current version <https://github.com/microsoft/qlib/blob/7c31012b507a3823117bddcc693fc64899460b2a/qlib/contrib/evaluate.py#L42>_ uses more accurate constant than previous version <https://github.com/microsoft/qlib/blob/v0.7.2/qlib/contrib/evaluate.py#L22>__A new version <https://github.com/microsoft/qlib/blob/7c31012b507a3823117bddcc693fc64899460b2a/qlib/tests/data.py#L17>__ of data is released. Due to the unstability of Yahoo data source, the data may be different after downloading data again.Current version <https://github.com/microsoft/qlib/tree/7c31012b507a3823117bddcc693fc64899460b2a/examples/benchmarks>__ and previous version <https://github.com/microsoft/qlib/tree/v0.7.2/examples/benchmarks>__Please refer to Github release Notes <https://github.com/microsoft/qlib/releases>_