# 安装说明 ```{only} html ![Python](https://img.shields.io/pypi/pyversions/qff.svg) ``` ```{admonition} 注解 - 如果执行 `pip install`安装依赖库网络速度比较慢的话,推荐使用 `pip install -i https://pypi.douban.com/simple` 国内镜像来加速。 - 为避免因为环境问题出现安装失败,建议您使用虚拟环境安装,Python虚拟环境有 venv, conda, pipenv等,请参考相关[教程](https://cloud.tencent.com/developer/article/2124483)。 - 推荐使用 `python -m venv venv` 创建虚拟环境,并执行 `venv\Scripts\activate` 激活运行。 ``` ## 安装库 以下命令将安装 QFF 及其依赖项。 ```bash $ pip install qff ``` QFF依赖于许多其他Python包,使用软件包安装工具像PIP或Conda等将确保安装必要的依赖软件包,您可以使用包管理器命令 `pip show qff` 查看依赖项, 更多信息可以在其 [PyPI](https://pypi.org/project/qff/) 页面上找到。 P.S. 由于目前版本更新迭代频繁,且国内镜像同步时间不一致,请在使用以下命令进行 QFF 升级: ```bash $ pip install -U qff -i https://pypi.python.org/simple/ ``` 查看 QFF 是否安装成功可以通过如下方式: ```bash $ qff --version ``` ## 数据准备 ```{admonition} 注解 QFF框架提供所有数据均从互联网上抓取,并经过专业清洗保存在用户**自己搭建的数据库服务器中**, 这样设计的优点是增强数据的可靠性,数据永久保存在用户自己手上,避免后期因为网站更新造成 数据缺失或格式不匹配等问题。 因此,在QFF正常使用前,需进行数据库的安装配置,以及股票数据的下载和更新。 ``` ### 数据库安装 QFF使用的是MongoDB数据库,它是一个高性能、无模式、文档型的NoSQL数据库。 先进入mongodb的官网[MongoDB](https://www.mongodb.com/try/download/community)下载,选择要下载的版本以及系统,MongoDB数据库安装教程参考如下: | 操作系统平台 | | --------------------------------------------------------------------- | | [Windows](https://www.runoob.com/mongodb/mongodb-window-install.html) | | [Linux](https://www.runoob.com/mongodb/mongodb-linux-install.html) | | [Mac OS](https://www.runoob.com/mongodb/mongodb-osx-install.html) | **我们强烈推荐您直接拉取[Docker镜像](mongoimage)安装使用MongoDB数据库。本人选择4.4.2版本镜像进行安装。** ### 数据库配置 MongoDB数据库安装成功后,需设置QFF与数据库的连接参数,设置命令如下: ```bash $ qff config set MONGODB.uri=mongodb://xxx.xxx.xxx.xxx:27017 ``` 如果MongoDB数据库设置了用户名密码,则需配置相关认证信息: ```bash $ qff config set MONGODB.uri=mongodb://admin:******@xxx.xxx.xxx.xxx:27017/?authSource=admin&authMechanism=SCRAM-SHA-256 ``` 另外,可使用命令`qff config list` 查看QFF所有配置信息。 ```{important} **注:如果MongoDB数据库安装在本机,则无需配置连接参数,QFF使用默认连接参数。** ``` ### 数据下载 QFF在正常使用前需下载历史数据,执行方法如下所示: ```bash $ qff save all ``` 执行该命令将从互联网下载所有股票、指数、ETF基金的历史行情数据和基本面数据等,并保存至您安装的MongoDB数据库中,根据您计算机和网络性能,下载时间将超过5个小时。 您也可以通过执行`qff save` 命令选择下载您所需要的数据类别。 ```{eval-rst} =========================== ================================================ qff save all 保存/更新所有数据 qff save day 保存/更新股票日数据、指数日数据、ETF日数据 qff save min 保存/更新股票分钟数据、指数分钟数据、ETF分钟数据 qff save stock_list 保存/更新股票列表数据 qff save stock_day 保存/更新股票日线数据 qff save index_day 保存/更新指数日线数据 qff save etf_day 保存/更新ETF日线数据 qff save stock_min 保存/更新股票分钟数据 qff save index_min 保存/更新指数分钟数据 qff save etf_min 保存/更新ETF分钟数据 qff save stock_xdxr 保存/更新日除权除息数据 qff save stock_block 保存/更新板块股票数据 qff save report 保存/更新股票财务报表 qff save valuation 保存/更新股票市值数据 qff save mtss 保存/更新融资融券数据 qff save index_stock 保存/更新指数成分股信息 qff save industry_stock 保存/更新行业成分股信息 qff save init_info 初始化股票列表、指数列表、ETF列表 qff save init_name 初始化股票历史更名数据 qff save save_delist 保存退市股票的日数据和分钟数据 =========================== ================================================ ``` ```{note} 1. 如果您打算使用 `qff save xxxx` 分项下载数据,则在第一次初始化过程时,务必首先执行 `qff save init_info` 命令。 2. 市值数据是基于股票日数据、财报数据以及除权除息数据计算生成,注意按顺序下载更新。 3. 如果您需要查询股票历史更名数据,需手工执行 `qff save init_name`,否则将使用最近的股票名称,影响回测时ST股的判断。 ``` ### 数据自动更新 通过配置数据自动更新服务,QFF可以自动下载更新每日股市收盘后最新数据。指令`qff save all`具有数据更新功能, 您需要在您使用的操作系统中,自行配置定时任务,定时任务开始时间建议16:00,执行周期即每个工作日。 **我们强烈推荐您使用[QFF Docker镜像](qffimage)进行数据自动更新。** ### 数据库维护 1. 您可以通过执行 `qff dbinfo` 命令查看qff数据库当前信息,包括数据集合名称、记录数量、集合大小、存储容量、索引信息以及最后一次更新日期等。 2. 您也可以通过执行 `qff drop` 命令删除指定的数据表,再通过 `qff save` 命令生成新的数据集合。