Appearance
快速上手
如何安装 Ricequant SDK
准备
- Ricequant SDK 需要 64-bit,Python3.6+运行环境。如果您目前没有 Python 环境,或者已有的环境版本过低,请参考下面的说明来准备 Python 环境。
- Ricequant SDK 需要商业授权才能使用。请在安装前准备好米筐发放的许可证文件(通常会以邮件的形式发放),或联系销售获取授权。如果您想先试用本产品,可以点击这里申请试用 RQSDK 产品。
安装 Python 环境
Ricequant SDK 支持的 python 版本及系统环境如下表:
Linux | Windows | Mac(Apple Silicon) | Mac(Intel) | |
---|---|---|---|---|
python 3.7 | ✓ | ✓ | ✗ | ✓ |
python 3.8 | ✓ | ✓ | ✓ | ✓ |
python 3.9 | ✓ | ✓ | ✓ | ✓ |
python 3.10 | ✓ | ✓ | ✓ | ✓ |
python 3.11 | ✓ | ✓ | ✓ | ✓ |
python 3.12 | ✓ | ✓ | ✓ | ✓ |
python 3.13 | ✓ | ✓ | ✓ | ✗ |
由于 Python 原生的安装和配置相对比较复杂,我们建议使用Anaconda进行安装及配置,安装使用教程可参考安装 Anaconda 虚拟环境(强烈建议)。
安装 Ricequant SDK
有关如何在 Mac M1 平台上安装 RQSDK,请点击常见问题
在开始之前我们假设您已经自行或按照上述步骤装好了 Python,并激活了您希望进行量化策略开发的虚拟环境。
Ricequant SDK 的安装非常简单,您只需在激活了虚拟环境的命令行终端内输入下面的命令即可安装(或复制下面的命令再黏贴进命令行——Windows 的 cmd 终端用鼠标右键点击黑色区域任意位置来黏贴):
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple rqsdk
整个安装过程持续约 5 分钟(取决于机器配置和网络状况)。如果您在 Windows 下的 cmd 窗口运行上述命令,请在安装程序运行的时候不要用鼠标点击 cmd 窗口内,这样会导致程序运行暂停。如果不慎点击了,可以按一次回车键
来继续运行程序。
安装完毕后直接在窗口中输入rqsdk
命令,如果安装成功会输出下列内容:
配置代理
如果您所在的环境需要通过代理访问外网(如不需要可跳过此步骤,进行下一步骤配置许可证信息),rqsdk 可通过如下命令配置或更新代理:
rqsdk proxy
该命令是交互式的,您只需要根据命令提示填入所需信息即可。配置完毕后可以调用rqsdk proxy info
来查看刚配置的许可证信息。
配置许可证信息
在您申请试用或者正式采购 Ricequant SDK 之后,米筐会将含有许可证信息的邮件发送到您提供的邮箱中。许可证信息是一串看起来像“乱码”的文字:
5tyGjIiAWfs6azz40Ad9TOc1E8SFjwmp0zoHD0Leg4ZfzHsDJEsYmBgoOAyQxfmMDILeSyMPA2yoO1xN99PsLLhlHATh/5nupsahbzK4MO8wwL/PmZwhOF;fkOUGrPWQFkuguZUv3wid37Gf3hm1T9WRPS61BhFBPbcLOq4pCQw=IViSI2J51NV3IhUcHJ4f9l7YtSP6o6ziClTRgiGxoM]kI2IvlqBCh1AZKuqi7wafRoa0ZHzmNZ05SOx+a6sS8x/ihvOT+iYnvokDx7/6Zaz9VePmdIa35OB3v3+Hl+N4q8UmbQrgv/sG3mUPfFRaWP0jDuSUanuU5mPWfmwfkX4=
如果您曾经安装过 Ricequant SDK,可以通过rqsdk license info
命令来查看许可证信息。
无论您是否已经配置过许可证,都可以通过下列命令来更新到最新的许可证:
rqsdk license
该命令是交互式的,您只需要根据命令提示填入所需信息即可。配置完毕后可以调用rqsdk license info
来查看刚配置的许可证信息。
安装产品
在安装完rqsdk
及配置许可证之后,您需要根据自己的需要选择安装 Ricequant SDK 中包含的产品。如果您只需要 RQData——金融数据 API 的功能,那么您已经完成了所有的安装和配置步骤,请参考 RQData 的文档来进行下一步工作。
如果您的许可证信息在使用过程中有所变化(例如原本仅有 RQData 的权限,后来添加了回测功能)或希望使用其他功能,则需要通过下面的方法来安装其他产品组件。
目前 Ricequant SDK 中可选的产品如下表:
安装代码 | 产品名 | 组件用途及依赖 |
---|---|---|
rqdatac | RQData | 金融数据 API,所有组件的基础依赖,默认已安装 |
rqoptimizer | RQOptimizer | 股票优化器,依赖 rqdatac |
rqfactor | RQFactor | 因子投研工具,依赖 rqdatac |
rqalpha_plus | RQAlpha Plus | 回测引擎,依赖 rqoptimizer 及 rqfactor |
Ricequant SDK 支持通过下列命令安装特定产品:
rqsdk install <安装代码>
例如安装 RQAlpha Plus,命令为rqsdk install rqalpha_plus
。
注意:在安装某个产品时,如果上表中已说明组件依赖关系,则其所依赖的组建都会被同时安装上。例如运行了上述的命令安装了 RQAlpha Plus,那么 RQFactor 和 RQOptimizer 也会同时被装上。
更新 Ricequant SDK 的版本
米筐会不定期更新 Ricequant SDK 的版本以修复问题和增加功能,每次版本升级后会通过邮件告知更新的内容列表。当您决定要更新的时候,只需要在安装了 RQSDK 的虚拟环境中运行下列命令即可更新到最新版:
rqsdk update
以上rqsdk update
命令会更新 rqsdk 及本地安装的各产品的版本,如有更新特定产品需求,可通过rqsdk update --help
获取该命令的完整用法。
特别注意:在执行该命令时请确保所有运行中的 Python 程序都已停止,例如 IPython Notebook、您自己写的 Python 应用等,否则很可能会报“无写权限”而升级失败。
准备进行一次回测
Ricequant SDK 的回测功能由RQAlpha Plus提供,而回测所需的数据——除了您自己的数据之外——则由RQData提供。
RQAlpha Plus 回测依赖于历史行情数据,而这些数据需要预先被缓存到本地(股票、期货回测及各类品种的 tick 回测)。因此在进行回测之前,首先需要准备好历史行情数据。
取决于您期望进行研究的标的数量和回测频次,历史行情数据量可能会非常庞大。如果直接通过网络下载可能会耗时非常久,并且很可能会突破您账号的每日流量限制。如果您已经正式采购 Ricequant SDK,可以联系米筐销售为您提供线下的行情数据拷贝服务。
我们先用一个简单的例子(大约会消耗 500MB 的流量)来演示一下使用 Ricequant SDK 做回测的简便性。
准备回测所需数据
尊敬的试用客户:我们为您准备了每日 1G 的流量配额,按照前文描述的 500MB 流量消耗是可以满足数据缓存初始化的。同时,我们专门为试用账户准备了不消耗计费流量的初始化方式。
在开始之前,请确保已通过conda activate 环境名
命令切换到已经装好 Ricequant SDK 的虚拟环境。
通过网络的方式初始化数据缓存只需要运行如下命令:
rqsdk update-data --base --minbar 000001.XSHE
该命令在运行中将产生如下图所示的动态输出:
命令运行完毕后如下,注意会有两行进度条:
该命令的目的是更新所有日线及基础数据,并且更新代号为000001.XSHE(平安银行)
的分钟线行情数据。这样您就可以针对所有的股票和期货做日线回测,而仅对平安银行
做分钟线回测。 注意:
- 如果您对需要做分钟线、tick 回测的合约有更复杂的需求,请运行
rqsdk update-data
获得该命令的完整用法。 - 更新数据过程中,请不要运行回测,避免出现同时读写数据的情况.
试用客户初始化缓存的方式
我们为试用客户专门准备了不消耗计费流量的数据初始化方式,避免因为要下载 500MB 的数据而耗尽每日流量配额。在完成前面的安装过程后,您只需要运行下列命令:
rqsdk download-data --sample
该命令将下载米筐准备的样例数据,不消耗 rqdatac 的每日流量配额,它会为您准备好真实的日级别历史行情数据、合约列表数据、分红拆分数据等回测所需的基础数据。之后如果您再运行rqsdk update-data
或该命令的其他参数形式(如前文提到的rqsdk update-data --minbar 000001.XSHE --base
,则对于已下载的部分只会进行增量更新,并不会消耗大量流量。
注意:在调取本节所描述的数据相关命令时,因为只有 RQAlpha Plus 的回测功能依赖本地数据包,因此系统会自动检查是否已经安装了该产品,如无安装则会提示安装。
准备回测所需策略代码
在上述命令执行完毕后,将会在<用户目录>\.rqalpha-plus\bundle
目录下创建历史行情数据的缓存文件。
这是 Ricequant SDK 管理缓存文件的默认目录,您可以通过参数-d <完整路径>
进行定制化。在回测时同样可以指定-d
参数来更改 RQAlpha Plus 读取回测历史文件的位置。
接下来您需要准备一个策略来进行回测。策略是交易决策逻辑的载体,用 Python 代码来体现。您只需要在策略中实现由 RQAlpha Plus 指定的回调函数即可 (详细用法请参考策略引擎 API 文档)。
但是现在并不需要急着去研究策略引擎的细节,我们已经为您准备好了几个直接能运行的策略。请您用cd
命令切换到您希望放置样例策略的目录,然后运行下面的命令:
rqalpha-plus examples
该命令会在当前目录下创建一个名为 exmaples 的目录,其内容如下图所示:
您可以用惯用的 IDE 或者编辑器打开这些 Python 源码文件来查看代码,这里列举了一些常用的策略写法,以便您快速上手策略编写的 API。
我们现在以buy_and_hold.py
策略为例,简单讲解一下策略的几个构成部分。当然您也完全可以跳过下面的代码讲解,直接到下一个环节,先看一下回测引擎能对策略做哪些分析,输出了哪些数据。
python
# 顾名思义,这是一个“买入并持有”的简单策略。在这个策略里,我们将在策略开始时买入平安银行,并持有到策略结束。
# 首先策略引入了RQAlpha的框架依赖,这是所有策略必须具备的。
from rqalpha.api import *
# 在这个方法中编写任何的初始化逻辑。context对象是由引擎构建并传入的,这个对象内涵了关于整个策略的信息,
# 这个对象也会出现在其他回调中,使用同一个实例。
def init(context):
# 在这里定义了一个类似“全局变量”的变量。因为这个context对象实例会出现在别的回调中,因此在别的函数中
# 也可以引用context.s1这个变量
context.s1 = "000001.XSHE"
# 告诉引擎该策略的股票池包含了什么股票,在这里股票池只有“平安银行”一个,您还可以传入一个列表或一个
# 指数代码
update_universe(context.s1)
# 创建一个变量,用来判断是否已经执行过买入操作。因为行情会不断触发回调,因此需要策略自行判断是否
# 已经买入过,而不是在每一次行情触发时都执行买入
context.fired = False
# 日志会直接打印在命令行(标准输出)中,您可以通过将输出流转发到文件的方式将日志保存下来。
logger.info("RunInfo: {}".format(context.run_info))
# 这个回调模拟的是每个交易日开盘前希望执行的一些操作,例如对昨天收盘后的情况做一些处理来指导今天的交易,
# 但是在我们这个很简单的策略中并不需要这一回调,可以略过。
def before_trading(context):
pass
# 这是前面提到的行情处理回调,也是整个策略的核心部分。行情是以K线的方式传入的,每当策略收到一个新的行情
# (在回测的情况下,就是下一个时间单位的K线准备好)时,这个函数就会被触发一次。
# 除了context变量之外,bar_dict就是含有行情信息的一个字典结构,它的key是合约代码,值是引擎内定义的
# Bar结构,包含了常见的开盘价、收盘价、最高最低价等信息,具体含义可以参考下面的链接:
# https://www.ricequant.com/doc/api/python/chn#object-bar
def handle_bar(context, bar_dict):
# 这里就是策略逻辑的主体了。
# 我们先判断买入的逻辑是否已经触发过,如果没有触发过,说明是第一次收到行情,那么就进行买入
# 如果已经触发过,则什么也不做。
if not context.fired:
# order_percent并且传入1代表买入该股票并且使其占有投资组合的100%
logger.info("order_percent:{}".format(order_percent(context.s1, 1)))
# 注意将代表是否买入过的变量设为True,确保只执行一次买入操作
context.fired = True
# 类似前面的before_trading,这个回调函数模拟了每个交易日收盘后需要进行的一些处理。
# 在这个策略中并不需要做任何处理,因此直接略过了。
def after_trading(context):
pass
运行回测!
到这里,您已经准备好了运行回测所需的所有条件,可以准备运行回测了。我们仍然以前面提到的buy_and_hold.py
——一个简单的买入并持有策略为例。
运行回测之前,您需要想好几个参数:
- 策略从那一天开始:起始时间
- 策略运行到那一天为止:结束时间
- 策略所使用的最大资金量是多少:账户资金
- 策略以什么频率进行回测:日线、分钟线或 tick
现在我们假设以分钟线频率,从2018 年 1 月 1 日开始到2018 年 12 月 31 日为止(引擎会自动按各个交易所公示的交易日期针对不同交易品种跳过非交易日,您只需要按您所想的日期指定即可,不必考虑节假日或周末的情况),账户资金10 万元。那么执行下列命令即可:
rqalpha-plus run -f examples/buy_and_hold.py -s 2018-01-01 -e 2018-12-31 -fq 1m --plot --account stock 100000
由于在上述策略运行命令中输入了--plot
命令,因此在策略执行完毕后会弹出策略执行结果的图片,展示策略运行情况。如果您希望获得更多的策略运行结果以备分析,可以使用--report
和-o
命令来分别输出csv
格式的报告和pickle
格式的 Python 内存序列化文件。更多的配置参数可以通过下列命令查看:
rqalpha-plus run --help
您将会看到非常多的可配置项。随着使用的逐渐深入,这些配置项都会成为您的得力工具。
上手总结
至此您已经完成了所有 RQSDK 的配置流程,并运行了一个策略。这里总结一下几个关键的命令,假设您已经配置了满足条件的 Python 环境,其实安装 Ricequant SDK 是非常简单的。
从网络安装 Ricequant SDK:
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple rqsdk
下载试用数据:
rqsdk download-data --sample
下载生产数据:
rqsdk update-data --minbar 000001.XSHE
生成回测样例:
rqalpha-plus examples
以分钟线频率运行回测样例:
rqalpha-plus run -f examples/buy_and_hold.py -s 2018-01-01 -e 2018-12-31 -fq 1m --plot --account stock 100000
接下来我们会更详细地带您了解 Ricequant SDK 的每一个细节。我们建议您按照前面的内容先行配置好环境,后面的讲解将不再赘述环境的配置、数据的更新等内容。
Ricequant SDK 文档路径
Ricequant SDK 由四个主要部件组成,分别为:
- 负责提供和管理金融数据的 RQData;
- 作为回测引擎的 RQAlpha Plus;
- 承担了因子投研的 RQFactor;
- 可进行股票组合优化的优化器 RQOptimizer。
四个组件既各司其职又紧密配合,共同提供了流畅、完整的本地量化开发体验。
产品 | 资源 |
---|---|
RQData - 金融数据 API | 使用说明 |
RQAlpha Plus - 策略回测引擎 | 使用教程 | |
RQFactor - 因子编写及检验 | 使用教程 | |
RQOptimizer - 股票多因子优化器 | 使用说明 | |
安装 Anaconda 虚拟环境(强烈建议)
完整版的 Anaconda 对于大多数人来说都是没有必要的,因此 Anaconda 官方提供了精简版的 Miniconda,只安装最核心的工具包。本文档将以 Miniconda 的安装为例。如果您希望安装 Anaconda 本体,请移步至Anaconda 官网获得安装指引。下面简要列出 Miniconda 的安装步骤(注意:本章所述的功能只适用于大多数用户。如果您已对 Anaconda 非常熟悉,或者已有惯用的环境,完全可以不按本章节所述方法配置环境):
下载 Miniconda
- 如果您身处国内,请在清华大学的 Miniconda 镜像仓库中寻找适用于您系统的安装包,或直接
- 如果您身处海外,可以直接去官方网站下载对应您系统的安装包
安装 Miniconda
在各个系统中安装 Miniconda 的体验与安装其他软件无异,但是在安装过程中有一个需要留意的配置点:
添加命令到环境变量
如果在安装过程中错过了环境变量的选项,可以按如下步骤手工添加
假设您的 Miniconda 安装位置为D:\ProgramData\Miniconda3
(默认安装位置是C:\Users\<用户目录>\miniconda3
,或C:\ProgramData\Miniconda3
,可在安装过程中手工更改)。
将下列值逐个添加到Path
环境变量中(注意在实际操作的时候依据您的实际安装情况来更改目录):
D:\ProgramData\Miniconda3\Scripts
D:\ProgramData\Miniconda3\Library\bin
D:\ProgramData\Miniconda3\Library\usr\bin
D:\ProgramData\Miniconda3\Library\mingw-w64\bin
D:\ProgramData\Miniconda3
添加方法如下:
- 在 Windows 搜索框中搜索
环境变量
或env
,系统会给出最佳匹配项 - 打开配置面板后点击
环境变量
按钮 - 在打开的对话框中找到
Path
列,双击或选中后点击编辑
按钮 - 在打开的对话框中点击
新建
按钮,依次将本节开头的五个路径添加进去,注意根据自己实际安装的配置改变路径,不要直接复制黏贴。配置完成后将会看到如下图所示状态:
- 配置完成后打开一个命令行窗口,输入
conda
回车,如果您看到类似下图的结果,说明配置生效。后续的使用中如果碰到类似No such file or directory
之类关于文件、路径未找到的错误时,可以再次检查一下是否本节描述的五个值都设置正确。
创建及切换 Python 虚拟环境
安装好 Miniconda 并配置好环境变量之后,您就可以使用conda
命令方便地进行虚拟环境的配置和管理了。
Python 虚拟环境是 Python 提供的一种依赖管理方式,它允许您在同一台电脑上使用不同版本的 Python、不同版本的依赖来开发不同的程序。环境之间互相独立,互不干涉,还可以随意切换。
用下列命令创建一个名为rqsdk
的 Python 3.9 环境:
conda create -n rqsdk python=3.9
创建完毕后还需要用conda activate rqsdk
来激活刚才创建的环境,这样之后的操作(例如调用pip install
等)就都只会影响这个虚拟环境了。
如果要退出虚拟环境,可以直接在环境激活的状态下运行conda deactivate
命令。
本节仅以 Windows 10 系统为例,更多关于如何使用 conda 命令管理虚拟环境的内容可以参考conda 官方文档——环境管理章节。
升级 Python 环境
如果您已有的环境是低于 Python 3.6 的,请根据您的实际情况升级到 Python 3.6 或以上(推荐升级到最新的 Python 3.9)。我们要求 64-bit 的 Python 环境,如果您的环境是 32-bit 的,请重新安装 64-bit 的环境。
如果您已有环境是 Anaconda 或 Miniconda,可以先用conda update conda
命令更新 conda 工具本身,然后再通过conda activate <env name>
激活您的 Python 虚拟环境,然后运行conda install python=3.9
来安装最新的 Python 到该虚拟环境。
中国境内安装加速方案
pip 默认下载源服务器在国外,从中国境内访问速度会比较慢。推荐在全局范围内更改默认 pip 下载源到国内的清华镜像,将会对安装配置速度有非常明显的提升,感谢清华为中国的 Python 发展做出的贡献。
在命令行中运行如下命令可以轻松配置:
conda activate base
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
conda 基本操作
- 查看版本信息
conda --version
- 更新 conda
conda update conda
- 创建一个虚拟环境
conda create -n rqsdk python=3.9
- 激活新的虚拟环境
conda activate rqsdk
- 列出环境信息
conda env list
- 退出当前环境
conda deactivate
- 删除虚拟环境
conda remove --name rqsdk --all
在 Powershell 中使用 conda 命令
如果您习惯于 Windows 的 Powershell 环境,则在默认的安装状态下,conda 并不能支持,还需要进行以下步骤。
查看您的 conda 版本
通过conda --version
查看您当前的 conda 版本,分两种情况:
- 版本号大于等于 4.6
- 用管理员权限运行 Powershell
- 执行命令
conda init powershell
- 版本号小于 4.6
- 用管理员权限运行 Powershell
- 输入命令
conda install -n root -c pscondaenvs pscondaenvs
安装PSCondaEnvs包。这里注意正确的命令中确实包含了两个pscondaenvs
,并不是文档写错了。 - 输入命令
Set-ExecutionPolicy RemoteSigned
,随后输入Y
并回车,以更改 Powershell 安全策略 - 在 Powershell 中激活和退出环境的命令分别为
activate rqsdk
和deactivate
,而不是conda activate rqsdk
和conda deactivate
。
如果对 Conda 环境没有特殊要求的话,建议直接通过conda update conda
命令升级到最新版本
PyCharm 及 vsCode 快速配置
PyCharm
为什么要用 PyCharm?
- PyCharm 作为 IDE(集成开发环境),自带 python 解释器和虚拟环境管理功能,开箱即用。
- PyCharm 默认的内置功能极为丰富(Git、数据库支持、框架支持等),无需手动配置插件便可直接使用。
- PyCharm 内置了在业界无出其右的静态代码审查(code inspect)功能。
PyCharm 下载
PyCharm 官网提供了专业版和社区版下载。
- 专业版用于科学计算和 Web 开发。同时具有 HTML、JS 和 SQL 等支持。专业版 PyCharm 支持试用 30 天。
- 社区版用于通常的 Python 开发。免费且开源。
创建 PyCharm 工程(Project)
下载且安装完成 PyCharm 后,便可打开 Pycharm 后建立一个项目(Project)。 建立项目时,可以设置项目使用的 Python 解释器/虚拟环境。后续开发中的代码提示、调试等功能都依赖项目配置的虚拟环境
- 点击 Create New Project 按钮
- 展开 Project interpreter
- 选择虚拟环境(若没有已存在环境,则 PyCharm 会自动创建)
- 点击 Create 按钮,创建项目
如果没有 python 环境 ,编辑器右下角会有进度条提示 python 的安装进度。
工程创建完成后,亦可在设置中修改当前工程使用的虚拟环境:
- 点击左上角菜单栏 FIle -> Settings(macOS 中为 PyCharm -> Preference)
- 点击 Project: **** -> Project Interpreter
- 点击右边小齿轮 -> Show All
- 点击加号(+) -> 选择虚拟环境(Virtualenv Environment) 或者 Conda 环境(Conda Environment) `
在 PyCharm 中安装 RQSDK
若当前工程配置的虚拟环境中还未安装 RQSDK,可以直接在 PyCharm 中调用终端(terminal)安装,PyCharm 会自动在改终端激活先前配置好的虚拟环境。 若点击左下角 Terminal 以激活终端,输入以下代码以安装 RQSDK
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple rqsdk
使用 PyCharm 编写代码
创建 Python 模块(module)
鼠标右键项目文件夹 -> New -> Python File -> 输入文件名
若当前工程正确配置了虚拟环境,且虚拟环境中安装了 RQSDK,在 py 文件中输入“import rq”时便可以看到 PyCharm 给出的代码提示
在 py 文件中输入下列代码,使用 RQDatac 调取日线数据:
pythonimport rqdatac rqdatac.init() print(rqdatac.get_price("000001.XSHE"))
在编辑区域点击右键执行 Run... 便可以运行当前代码。 注意,上述代码的运行要求事先使用
rqsdk license
命令配置好 license。
当运行
rqsdk install rqalpha_plus
命令后,当前 python 环境也会有 rqoptimizer 和 rqfactor
使用 PyCharm 运行回测
回测在终端中需要通过 rqalpha-plus 命令而非 python 命令运行,故在 PyCharm 中运行回测需要进行一些额外的配置,以简单的 buy-and-hold 回测策略为例。
创建名为 buy_and_hold.py 的 python 文件并键入以下代码:
python# buy_and_hold.py def init(context): context.s = "000001.XSHE" context.fired = False def handle_bar(context, bar_dict): if not context.fired: order_shares(context.s, 1000) context.fired = True
点击右上角的
Add Configuration
在打开的窗口中将第一项左侧默认的运行方式由
Script path
修改为Module name
设置
Module name
为rqalpha_plus
,设置Parameters
为回测运行的子命令run
及其参数,如:shellrun -f buy_and_hold.py -s 20190101 -e 20191231 -a stock 20000 --plot
- 点击 OK 按钮以完成配置
- 点击右上角的三角形按钮以运行回测,或点击虫子按钮以调试(debug)代码
Visual Studio Code (VS Code)
为什么要用 VS Code?
- 轻量化,下载安装更快;资源占用低,对配置相对不足的计算机更友好。
- 启动快速,首次创建工程时没有漫长等待创建索引的过程。
- 生态健全,有着丰富的第三方主题和插件。
在Visual Studio Code官网可以下载标准版。
安装 Python 插件(Extensions)
VScode 不是 python 专用的编辑器,故使用其开发 python 需要安装专门的插件支持才能获得代码提示、审查、调试等功能:
- 在左侧栏点击 Extensions 后,搜索 python,选择搜索到的第一项并点击
install
按钮安装。
设置虚拟环境/Python 解释器
- 使用 Ctrl+Shift+P 快捷键(macOS 为 Command+Shift+P)打开 command palette 窗口
- 输入关键字
python select
并找到Python: Select Interpreter
一项, 点击该项并在随后弹出的 Python 解释器列表中选择目标虚拟环境中的解释器(若目标虚拟环境未列出,则需要手工输入解释器的路径)
使用 VS Code 编写代码
- 在 VS Code 中点击打开一个系统文件夹,使用 vs code 会在此文件夹中生成配置文件。
- 在打开的文件夹中创建新的 python 文件,文件名
demo_rqdatac.py
)
- 使用 rqdatac 查看平安银行日线数据
文件中输入以下代码:
import rqdatac
rqdatac.init()
print(rqdatac.get_price("000001.XSHE"))
用 debug 方式运行回测
首先需配置 pyhton 解释器。
启动 rqalpha debug 模式 需要在 vs code 的配置文件中配置 debug 参数。 debug 配置文件在 .vscode 文件夹下 launch.json 文件中。 需要加入如下代码:
json
{
// 使用 IntelliSense 了解相关属性。
// 悬停以查看现有属性的描述。
// 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "Python: 模块",
"type": "python",
"request": "launch",
"module": "rqalpha-plus",
"args": [
"run",
"-f",
"examples\\buy_and_hold.py",
"-s",
"2018-01-01",
"-e",
"2018-05-31",
"-fq",
"1m",
"--plot",
"--account",
"stock",
"1000000"
]
}
]
}
配置完成后,即可在需要的文件上打上断点,然后 debug 运行。