SIGN IN SIGN UP
microsoft / qlib UNCLAIMED

Qlib is an AI-oriented Quant investment platform that aims to use AI tech to empower Quant Research, from exploring ideas to implementing productions. Qlib supports diverse ML modeling paradigms, including supervised learning, market dynamics modeling, and RL, and is now equipped with https://github.com/microsoft/RD-Agent to automate R&D process.

0 0 0 Python
2020-09-22 01:43:21 +00:00
# Copyright (c) Microsoft Corporation.
# Licensed under the MIT License.
import io
import os
import numpy
from setuptools import find_packages, setup, Extension
# Package meta-data.
2020-09-29 02:41:58 +08:00
NAME = "pyqlib"
release-0.5.0 (#1) * init commit * change the version number * rich the docs&fix cache docs * update index readme * Modify cache class name * Modify sharpe to information_ratio * Modify Group- to Group * add the description of graphical results & fix the backtest docs * fix docs in details * update docs * Update introduction.rst * Update README.md * Update introduction.rst * Update introduction.rst * Update introduction.rst * Update installation.rst * Update installation.rst * Update initialization.rst * Update getdata.rst * Update integration.rst * Update initialization.rst * Update getdata.rst * Update estimator.rst Modify some typos. * Update README.md Modify the typos. * Update initialization.rst * Update data.rst * Update report.rst * Update estimator.rst * Update cumulative_return.py * Update model.rst * Update rank_label.py * Update cumulative_return.py * Update strategy.rst * Update getdata.rst * Update backtest.rst * Update integration.rst * Update getdata.rst * Update introduction.rst * Update introduction.rst * Update README.md * Update report.rst * Update integration.rst Fix typos * Update installation.rst Fix typos * Update getdata.rst * Update initialization.rst Fix typos. * add quick start docs&fix detials * fix estimator docs & fix strategy docs * fix the cahce in data.rst * update documents * Fix Corr && Rsquare * fix data retrival example to csi300 & fix a data bug * fix filter bug * Fix data collector * Modift model args * add the log & fix README.md\quick.rst * add enviroment depend & add intoduction of qlib-server online mode * fix image center fomat & set log_only of docs is True * fix README.md format * update data preparation & readme logo image * get_data support version * Modify analysis names * Modify analysis graph * update report.rst & data.rst * commmit estimator for merge * minimal requirements * Update README.md * Update README.md * Update README.md * Update README.md * Update README.md * Update README.md * Update README.md * Update READEME.md * Update READEME.md * update estimator * Fix doc urls * fix get_data.py docstring * update test_get_data.py * Upate docs * Upate docs * Upate docs Co-authored-by: bxdd <bxddream@gmail.com> Co-authored-by: zhupr <zhu.pengrong@foxmail.com> Co-authored-by: Wendi Li <wendili.academic@qq.com> Co-authored-by: Dingsu Wang <dingsu.wang@gmail.com> Co-authored-by: bxdd <45119470+bxdd@users.noreply.github.com> Co-authored-by: cslwqxx <cslwqxx@users.noreply.github.com>
2020-09-23 23:01:39 -05:00
DESCRIPTION = "A Quantitative-research Platform"
2020-09-22 01:43:21 +00:00
REQUIRES_PYTHON = ">=3.5.0"
2020-12-04 09:45:00 +08:00
2021-02-03 05:11:39 +00:00
VERSION = "0.6.3.99"
2020-09-22 01:43:21 +00:00
# Detect Cython
try:
import Cython
ver = Cython.__version__
_CYTHON_INSTALLED = ver >= "0.28"
except ImportError:
_CYTHON_INSTALLED = False
if not _CYTHON_INSTALLED:
print("Required Cython version >= 0.28 is not detected!")
print('Please run "pip install --upgrade cython" first.')
exit(-1)
# What packages are required for this module to be executed?
# `estimator` may depend on other packages. In order to reduce dependencies, it is not written here.
REQUIRED = [
2021-02-04 12:14:31 +08:00
"numpy>=1.12.0",
2020-09-22 01:43:21 +00:00
"pandas>=0.25.1",
"scipy>=1.0.0",
"requests>=2.18.0",
"sacred>=0.7.4",
"python-socketio==3.1.2",
"redis>=3.0.1",
"python-redis-lock>=3.3.1",
"schedule>=0.6.0",
"cvxpy==1.0.21",
"hyperopt==0.1.1",
2020-11-25 12:58:43 +00:00
"fire>=0.3.1",
2020-09-22 01:43:21 +00:00
"statsmodels",
"xlrd>=1.0.0",
2020-11-19 22:48:24 +08:00
"plotly==4.12.0",
2020-09-22 01:43:21 +00:00
"matplotlib==3.1.3",
"tables>=3.6.1",
"pyyaml>=5.3.1",
"mlflow>=1.12.1",
2020-09-22 01:43:21 +00:00
"tqdm",
"loguru",
"lightgbm",
"tornado",
2020-11-11 09:34:10 +08:00
"joblib>=0.17.0",
2020-11-25 13:04:14 +00:00
"ruamel.yaml>=0.16.12",
2020-09-22 01:43:21 +00:00
]
# Numpy include
NUMPY_INCLUDE = numpy.get_include()
here = os.path.abspath(os.path.dirname(__file__))
2020-10-09 14:33:29 +08:00
with open(os.path.join(here, "README.md"), encoding="utf-8") as f:
2020-09-29 02:41:58 +08:00
long_description = f.read()
2020-09-22 01:43:21 +00:00
# Cython Extensions
extensions = [
Extension(
"qlib.data._libs.rolling",
["qlib/data/_libs/rolling.pyx"],
language="c++",
include_dirs=[NUMPY_INCLUDE],
),
Extension(
"qlib.data._libs.expanding",
["qlib/data/_libs/expanding.pyx"],
language="c++",
include_dirs=[NUMPY_INCLUDE],
),
]
# Where the magic happens:
setup(
name=NAME,
version=VERSION,
2020-10-09 14:33:29 +08:00
license="MIT Licence",
url="https://github.com/microsoft/qlib",
2020-09-22 01:43:21 +00:00
description=DESCRIPTION,
long_description=long_description,
2020-10-09 14:33:29 +08:00
long_description_content_type="text/markdown",
2020-09-22 01:43:21 +00:00
python_requires=REQUIRES_PYTHON,
2020-12-10 07:23:20 +00:00
packages=find_packages(exclude=("tests",)),
2020-09-22 01:43:21 +00:00
# if your package is a single module, use this instead of 'packages':
# py_modules=['qlib'],
entry_points={
# 'console_scripts': ['mycli=mymodule:cli'],
"console_scripts": [
2020-11-22 03:17:50 +00:00
"qrun=qlib.workflow.cli:run",
2020-09-22 01:43:21 +00:00
],
},
ext_modules=extensions,
install_requires=REQUIRED,
include_package_data=True,
classifiers=[
# Trove classifiers
# Full list: https://pypi.python.org/pypi?%3Aaction=list_classifiers
# 'License :: OSI Approved :: MIT License',
2020-09-29 02:41:58 +08:00
"Operating System :: POSIX :: Linux",
"Operating System :: Microsoft :: Windows",
2020-09-30 14:01:40 +08:00
"Operating System :: MacOS",
2020-09-29 02:41:58 +08:00
"License :: OSI Approved :: MIT License",
2020-09-22 01:43:21 +00:00
"Development Status :: 3 - Alpha",
"Programming Language :: Python",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.6",
2020-09-29 02:41:58 +08:00
"Programming Language :: Python :: 3.7",
"Programming Language :: Python :: 3.8",
2020-09-22 01:43:21 +00:00
],
2020-12-10 07:30:00 +00:00
)