Appearance
RQAlphaPlus 用户指南
RQAlphaPlus 简介
前言
RQAlphaPlus 是由 Ricequant 开发的量化交易策略框架(引擎)。使用 RQAlphaPlus,您可以将金融模型和投资理念编写成简单易懂的代码脚本、在指定的历史行情下进行回测以对模型的有效性进行快速检验;您亦可以使用 RQAlphaPlus 编写完善、复杂的交易系统,并使用 Ricequant 的其他产品将之运行于由实时行情驱动的模拟交易,甚至直接应用于实盘交易。
本文档是 RQAlphaPlus 的入门指南,您可以阅读快速上手以构建对 RQAlphaPlus 的整体认识并快速编写出第一个可运行的策略;在此之后,您可以继续阅读进阶教程以了解 RQAlphaPlus 的进阶用法及部分对编写策略有帮助的内部实现逻辑;如果在使用 RQAlphaPlus 的过程中遇到疑问,可以查阅常见问题;最后的示例策略供您参考以获得编写策略的灵感;如需了解全部 API 的详细用法,请访问API 手册。
为什么选择 RQAlphaPlus
一直以来,量化投研与自动化交易都是门槛非常之高的行业,参与者往往需要在金融与计算机领域都具有相当程度的知识和技术水平。然而,随着计算机技术的飞速发展,西方国家金融市场的演进过程已经明确地告诉我们:全面走向数字化和自动化将是我国金融市场发展的最终方向,使用计算机技术参与量化投研也是绝大部分金融市场参与者的最终出路。
RQAlphaPlus 的初衷和目标便是大幅度降低投资者和投资机构参与量化投研的门槛,让用户几乎无需具备专计算机和开发知识即可编写专业的回测脚本甚至交易系统。RQAlphaPlus 对量化交易的全流程进行了高度封装,将量化交易抽象成了一套事件驱动模型——策略编写者仅需要实现几段响应市场行情变动的逻辑、基于 RQAlphaPlus 提供的丰富的数据接口做出逻辑判断,并发送目标交易信号,随后 RQAlphaPlus 便会自动完成风控、撮合、账户管理等一系列复杂的后续工作,最后呈现出策略运行的结果及一系列直观的数据和图表供用户参考。
RQAlphaPlus 基于 Python,您只需要具备 Python 的入门知识即可编写策略。如果您是有一定经验的 Python 开发者,您亦可以在策略中使用 Python 提供的几乎任何功能,诸如调用第三方库、访问网络和数据库或是使用更高性能的语言或分布式任务队列加速计算等等。RQAlphaPlus 兼具易用性和扩展性,是量化交易投资者的神兵利器。
RQAlphaPlus 支持的品种
RQAlphaPlus 支持中国市场几乎所有场内金融工具,具体各品种回测功能概览可参考下表:
| 品种 | 回测频率 | 功能说明 | 数据更新时间 |
|---|---|---|---|
| 股票 | 日级别(基础版) | 由真实历史行情驱动的日级别股票回测: _ 将量化交易流程抽象,仅需编写一两个函数即可实现交易策略 _ 高度抽象化的下单 API,一行代码满仓、清仓、下单至目标仓位 _ 支持调用 RQDatac 数据 API,获取财务因子、行业分类等丰富数据 _ 支持以日线收盘价、开盘价撮合,支持月度、周度、日度定期调仓 _ 撮合引擎通过成交量限制、滑点等模拟真实市场冲击 _ 自动维护账户和持仓,自动处理 T+1、分红拆分等逻辑 _ 回测后输出丰富的数据,包括交割单、持仓历史、收益和风险指标等 _ 回测中支持引入第三方 python 包 * 框架高度模块化、插件化,可自由开发插件对接包括实盘在内的外部系统 | 每日收盘后更新 |
| 股票 | 分钟 | 由分钟级别行情驱动的股票回测: _ 支持上述日级别回测所有功能 _ 支持以分钟级别触发信号、分钟级别调仓 * 支持调取原始或动态复权的分钟线、五分钟线、小时线,最大限度模拟历史真实情况 | 每日收盘后更新 |
| 股票 | tick | 由 tick(快照数据)驱动的股票回测: _ 支持上述日级别回测所有功能 _ 回测逻辑由 level-1 tick 数据驱动 * 支持基于 tick 的拟真撮合模型 | 每日收盘后更新 |
| 商品、股指、国债期货 | 日级别(基础版) | 由真实行情驱动的日级别期货回测: _ 将量化交易流程抽象,仅需编写一两个函数即可实现交易策略 _ 既可交易真实合约模拟真实交易,亦可使用多种主力连续和平滑主力连续合约快速验证模型 _ 支持调用 RQDatac API,获取主力合约数据 _ 支持以日线收盘价、开盘价撮合 _ 撮合引擎通过成交量限制、滑点等模拟真实市场冲击 _ 自动维护账户和持仓,采用逐日盯市与真实市场保持统一 _ 回测后输出丰富的数据,包括交割单、持仓历史、收益和风险指标等 _ 回测中支持引入第三方 python 包 * 框架高度模块化、插件化,可自由开发插件对接包括实盘在内的外部系统 | 每日收盘后更新 |
| 商品、股指、股债期货 | 分钟和 tick | 由分钟线或 tick(快照数据)驱动的期货回测: _ 支持上述日级别回测的所有功能 _ 由分钟线或 tick 数据驱动回测 * 支持多种撮合模型,模拟不同市场表现 | 每日收盘后更新 |
| 期权 | 日、分钟、Tick | 由日线、分钟线或 tick 驱动的期权回测: _ 支持股票、期货、期权等不同合约混合回测 _ 支持行权操作,可主动发起行权(美式)或在到期日自动判定行权 * 支持“行权滑点“,针对快速变动的市场行情引入更为严苛的行权判定 | 每日收盘后更新 |
| 可转债 | 日、分钟、Tick | 由日线、分钟线或 tick 驱动的可转债回测: _ 支持股票、可转债等不同合约的混合回测 _ 自动维护账户和持仓,自动处理还本付息 * 支持发起回售和转股,转股后可正常进行股票交易 | 每日收盘后更新 |
| 指数 | 日级别(基础版) | 由日线驱动的指数回测: * 支持直接交易指数,亦可与股票等品种混合回测 | 每日收盘后更新 |
| 场外公募基金回测 | 日级别 | 由真实行情驱动的日级别场外基金回测: _ 将量化交易流程抽象,仅需编写一两个函数即可实现交易策略 _ 支持申购、赎回基金,并可以判断基金的申购赎回状态决定是否可交易 _ 支持以基金当日单位净值撮合 _ 支持设置前端费率,自动处理基金申购赎回费用 _ 自动维护账户和持仓,自动处理分红拆分等逻辑 _ 支持参数配置申购赎回到账时间,自动处理 T+N 逻辑 | 每日收盘后更新 |