各大设计网站,营销网站建设专业公司,固始县住房和城乡建设局网站,企业网络营销方法qteasy教程1 - 安装方法及初始化配置 qteasy教程1 - 安装方法及初始配置qteasy安装前的准备工作1#xff0c; 创建安装环境2#xff0c;安装MySQL数据库 (可选)安装pymysql 3#xff0c;创建tushare账号并获取API token (可选)4#xff0c;安装TA-lib (可选)WindowsMac OSL… qteasy教程1 - 安装方法及初始化配置 qteasy教程1 - 安装方法及初始配置qteasy安装前的准备工作1 创建安装环境2安装MySQL数据库 (可选)安装pymysql 3创建tushare账号并获取API token (可选)4安装TA-lib (可选)WindowsMac OSLinux 第一次导入qteasy1配置tushare的API token2配置本地数据源 开始下载第一批金融数据 qteasy教程1 - 安装方法及初始配置
qteasy是一个完全本地化部署和运行的量化交易分析工具包具备以下功能
金融数据的获取、清洗、存储以及处理、可视化、使用量化交易策略的创建并提供大量内置基本交易策略向量化的高速交易策略回测及交易结果评价交易策略参数的优化以及评价交易策略的部署、实盘运行
qteasy使用python创建使用向量化回测及交易模拟引擎实现了策略的高速回测同时又兼顾策略框架的灵活性使得用户可以根据需要灵活定制各种高级策。qteasy提供了多种策略参数优化算法帮助优化及评价交易策略同时提供了实时运行模式使交易策略可以直接部署使用。
通过本系列教程您将会通过一系列的实际示例充分了解qteasy的主要功能以及使用方法。
qteasy安装前的准备工作
1 创建安装环境
qteasy可以通过pip来安装由于依赖包较多为了避免各依赖包与现有环境中的包产生冲突建议创建一个独立的python环境来安装qteasy。
创建虚拟环境的方法有很多种这里介绍两种方法分别是使用venv和conda
要使用venv创建虚拟环境macOS和Linux用户可以打开终端进入您需要创建环境的路径输入以下命令在当前目录下创建一个名为qteasy-env的虚拟环境并激活环境
python -m venv qteasy-env
source qteasy-env/bin/activateWindows用户可以打开命令提示符进入您需要创建环境的文件夹输入以下命令创建虚拟环境并激活
py -m venv qteasy-env
.venv\Scripts\activate要使用conda创建虚拟环境可以打开终端输入以下命令创建一个名为qteasy-env的虚拟环境并激活环境
conda create -n qteasy-env python3.8
conda activate qteasy-env在激活的虚拟环境中使用以下命令安装qteasy
pip install qteasy2安装MySQL数据库 (可选)
qteasy可以管理大量的金融数据。qteasy的工作方式是将所有的金融数据下载到本地清洗后存储到事先定义好的数据表中在需要时生成K线图、交易信号生成、模拟交易回测、交易结果评价等所有环节都需要用到金融数据从本地数据源直接读取所需的数据。因此必须在本地设置一个数据管理环境。
qteasy同时支持数据库及文件系统作为数据管理环境考虑到金融数据量强烈推荐使用数据库作为本地数据源。qteasy支持的本地数据源包括
csv 文件 默认数据源。占用空间大但是可以使用Excel读取本地数据数据量大时速度慢mysql 数据库强烈推荐使用mysql数据库并确保磁盘有至少1TB的存储空间速度快hdf5 文件 占用空间大数据量大时速度慢feather 文件 占用空间较小数据量大时速度慢
为了实现最佳的数据存储效率建议使用mysql数据库作为本地数据源。
如果需要使用数据库作为本地数据源参照以下方法安装MySQL数据库如果使用文件作为本地数据源可以跳过这一步。
在MySQL的官网可以直接找到社区开源版本下载: 网站提供了dmg和tar等多种不同的安装方式而且还有针对M1芯片的版本可选 安装完成后创建用户设置访问方式并设置密码
# 创建新的用户并允许客户通过localhost连接
mysql CREATE USER 用户名localhost IDENTIFIED BY 初始密码;
Query OK, 0 rows affected (0.46 sec)# 设置用户的权限
mysql GRANT ALL ON *.* TO 用户名localhost;
Query OK, 0 rows affected (0.06 sec)# 创建新的用户并允许客户通过远程连接
mysql CREATE USER 用户名% IDENTIFIED BY 初始密码;
Query OK, 0 rows affected (0.46 sec)# 设置用户的权限
mysql GRANT ALL ON *.* TO 用户名%;
Query OK, 0 rows affected (0.06 sec)数据库设置好之后记录您的数据库登录信息、在qteasy的设置中将会用到。
安装pymysql
pip install pymysql3创建tushare账号并获取API token (可选)
qteasy目前主要依赖tushare来获取金融数据系统内建了比较完整的API与tushare接口。鉴于tushare的接口均有权限或积分要求建议用户提前准备好相应的tushare积分并开通相应权限。 申请tushare积分和权限的方法请参见tushare pro主页: 如果不创建tushare账号qteasy仍然可以获得一些数据但是数据的种类非常有限访问频率和次数也受到限制很多qteasy功能的使用将会受到限制如下图所示: 未来计划增加其他金融数据提供商的API以扩大数据来源。
4安装TA-lib (可选)
qteasy内置了大量的技术指标这些技术指标的计算依赖于TA-lib如果需要使用qteasy内置的所有技术指标需要安装TA-lib。 如果跳过这一步将只能使用以下少数几种内置策略。下面简单介绍TA-lib的安装方法
完整的TA-Lib包无法通过pip安装因为通过pip install ta-lib安装的只是TA-Lib包的一个python wrapper, 用户必须首先安装C语言的TA-Lib才能在python中使用它。 有些用户可以用下面的方法安装C语言的TA-Lib包 conda install -c conda-forge libta-lib 在不同的系统下安装C语言的TA-Lib包的方法
Windows
下载 ta-lib-0.4.0-msvc.zip 并解压至 C:\ta-lib.下载并安装 Visual Studio Community (2015 或更新版本) 选择 [Visual C] 功能Windows 开始菜单, 启动 [VS2015 x64 Native Tools Command Prompt]移动至 C:\ta-lib\c\make\cdr\win32\msvcnmake
Mac OS
使用brew安装ta-lib
$ brew install ta-lib如果使用Apple Silicon芯片可以使用
$ arch -arm64 brew install ta-libLinux
下载 ta-lib-0.4.0-src.tar.gz 然后:
$ tar -xzf ta-lib-0.4.0-src.tar.gz
$ cd ta-lib/
$ ./configure --prefix/usr
$ make
$ sudo make install安装完成C语言TA-Lib后可以安装TA-Lib的python wrapper
pip install TA-Lib更完整的TA-Lib的安装方法请参考这里
第一次导入qteasy
当qteasy的所有依赖包正确安装后就可以在IDE中导入qteasy了。
import qteasy as qt
print(qt.__version__)第一次导入qteasy时会自动初始化初始化过程会创建一个qteasy.cnf文件这个文件用于存储qteasy的环境配置变量用户可以通过修改这个文件来修改qteasy的环境配置变量。
用户可以将一些关键配置信息存放在qteasy.cfg文件中这样qteasy在导入时会自动读取这些配置信息。
用户可以在资源管理器、访达或者终端中找到qteasy的根目录然后打开qteasy.cfg文件修改其中的内容。 在qteasy中可以通过qt.QT_ROOT_PATH查看qteasy的根目录 import qteasy as qt
print(qt.QT_ROOT_PATH)第一次初始化后的qteasy.cnf文件内容如下
# qteasy configuration file
# following configurations will be loaded when initialize qteasy# example:
# local_data_source database用户可以直接在文件中添加配置信息保存文件后重新导入qteasy即可使配置生效了例如
local_data_source database以下几个配置信息是用户在使用qteasy前非常有必要配置的
1配置tushare的API token
注意tushare是一个收费的数据服务用户需要获取积分积分越多获取的数据种类越多权限也越大如果不配置tushare token将无法正常使用tushare的数据服务。
如果您按照教程前一节的内容创建了tushare账号并获取了token可以将token写入qteasy.cnf文件中这样在导入qteasy时就会自动读取这个token。
在qteasy.cnf文件中添加以下内容
tushare_token 你的tushare token2配置本地数据源
默认情况下qteasy使用csv文件保存本地数据速度较慢而且占用空间较大。为了更好地使用qteasy用户还应该完成本地数据源的基本配置。
如果您按照教程前一节的内容创建了mysql数据库可以将数据库的配置信息写入qteasy.cnf文件中这样qteasy就会连接到您指定的数据库将金融数据存储到数据库中。
在qteasy.cnf文件中添加以下内容
local_data_source database
database_host 你的数据库主机名如local_host
database_port 你的数据库端口如3306
database_user 你的数据库用户名
database_password 你的数据库连接密码
database_name 保存金融数据的数据库名如qt_base如果不做上述配置qteasy会使用默认的csv文件作为本地数据源。
开始下载第一批金融数据
完成上述配置以后保存并关闭qteasy.cfg文件恭喜你qteasy已经安装并配置好了现在可以开始使用qteasy了。
首先我们需要下载一些金融数据交易策略的回测、优化、评价等所有功能都需要用到金融数据。 在这里我们可以先下载一些股票数据以便后续的教程中使用。
qt.refill_data_source是一个通用的数据下载函数只要你的tushare积分足够可以下载股票、期货、指数、基金等金融数据也可以下载宏观经济、财务报表、财务指标、公司基本信息等非交易数据。使用这个函数您可以批量下载数据到本地保存前会进行数据去重和清洗、确保不会重复保存另外使用多线程并行下载提供下载进度条特别适合一次性下载大量历史数据保存到本地也适合定期运行定期补充增量数据例如每月或每周补充下载本月或本周的所有数据。
import qteasy as qt# 下载股票数据 (从2023年1月1日到2023年12月31日之间的所有股票数据)
qt.refill_data_source(tablesstock_daily, start_date20230101, end_date20231231)Filling data source file://csvqt_root/data/ ...
[########################################]9/9-100.0% trade_calendar:SSE-XHKG74804wrtn in ~9t
[########################################]7/7-100.0% stock_basic:SH-BJ10365wrtn in ~1t
[########################################]272/272-100.0% stock_daily:20230101-20231231959278623wrtn in ~2H在qteasy中所有数据都保存在特定的数据表中而且每一种数据都有其唯一的数据ID例如’pe’表示市盈率open表示开盘价等等通过数据ID用户可以在qteasy中随时获取所需的数据——只要数据已经下载到本地。
同时数据ID也是qteasy中交易策略的核心用户可以通过数据ID在交易策略中订阅所需要的数据类型并根据这些数据生成交易信号关于交易信号和交易策略请参见教程第四章。
根据您的网络环境和数据量大小下载数据的时间可能会有所不同下载完成后2023年内的所有股票数据就可以直接获取了。
要获取历史数据可以使用get_history_data函数在参数中指定数据类型、股票代码、开始日期和结束日期 下面的代码可以获取2023年1月1日到3月1日的股票000001.SZ的开盘价、最高价、最低价、收盘价、成交量、成交额等数据
import qteasy as qt
qt.get_history_data(open, high, low, close, vol, shares000001.SZ, start20230101, end20230301){000001.SZ: open high low close vol
2023-01-04 13.71 14.42 13.63 14.32 2189682.53
2023-01-05 14.40 14.74 14.37 14.48 1665425.18
2023-01-06 14.50 14.72 14.48 14.62 1195744.71
...
2023-02-27 13.75 13.88 13.68 13.69 621461.93
2023-02-28 13.75 13.85 13.61 13.78 607935.92
2023-03-01 13.80 14.19 13.74 14.17 1223451.78}至此如果您看到上面的数据表明qteasy的安装和初始化工作已经完成您已经可以开始使用qteasy了。
在下一章节中我们将会介绍qteasy的基本数据类型以及如何使用qteasy来获取并管理金融数据。
关于qteasy的更多介绍请参见qteasy文档