◆快速入门
由jliang创建,最终由jliang 被浏览 3010 用户
BigQuant 开始使用
BigQuant 导航
快速创建一个量化策略
-
\
-
创建策略:点击左侧栏 AIStudio新建策略 +,点击 可视化线性策略,然后输入策略名(本文用 quant101 为例),Enter
\
-
查看策略:策略会创建并打开,在左侧资源管理器可以看到刚才创建的策略文件
\
-
运行策略:点击右上角 全部运行,运行策略文件全部内容,滑动到页面底部,可以看到策略运行输出和结果
\
-
开始模拟交易:点击右上角 提交模拟,确定
\
-
查看模拟交易任务,点击左侧栏 任务管理,点击刚才创建的模拟交易任务
\
-
查看交易信号和绩效详情,进入 我的交易 查看
\
-
在微信里接收交易信号推送,模拟交易信号产生后会自动推送到微信。如果没有收到微信信号推送,请进入 我的交易,确认
模拟交易
的更新通知
里的微信
是开启的(点击微信
图标开启)。
快速创建一个AI量化策略
和开发一个上述开发一个传统量化策略流程一样,开发一个AI量化策略在BigQuant平台也非常简单:
-
登录 BigQuant > 进入 编写策略 > 新建策略 + > 点击
可视化AI策略
> 输入策略名(本文用 ai101 为例),Enter 创建策略并打开,得到如下使用 StockRanker 算法的AI策略\
-
【可选、推荐】升级计算资源:底部状态栏 > 点击 资源 K0(1C/6G) > 选择 K2 (4C/16G,资源越大,计算越快)\nAI策略基于算法使用大数据和大算力训练投资预测模型。模型越复杂(比如 StockRanker算法的 树的数量 越大)、数据越大(比如数据时间周期越长、数据因子越多),计算耗时越长,需要数分钟、甚至数小时、数天才能完成训练。通过提升计算资源,可以显著加快训练速度,降低等待时间。用户注册后,平台会送宽币,可用于升级资源。
\
-
运行 > 查看预测效果和回测结果。这里耗时可能较长(可能需要数分钟),可以在页面上看到实时的训练过程和日志
\
-
提交模拟交易、每天接收微信推送信号通知,和前述一样
开发策略逻辑
理解可视化策略开发,根据自己的逻辑实现策略。
-
打开前面创建的 quant101 策略或者新建一个策略 (新建策略 > 可视化线性策略),通过可视化方式可以快速看到这个策略的工作流
- 定义选股逻辑
- 抽取和计算数据
- 回测验证效果
\
-
m1 输入特征 (其中 m1 是模块在策略中的id,这个是自动生成的) 用于定义选股逻辑,点击此模块,在 属性 > 参数 特征(SQL) 里看到他的逻辑实现,使用 DAI SQL 实现
将这里SQL替换如下:
-- 使用DAI SQL获取数据,构建因子等,如下是一个例子作为参考 -- DAI SQL 语法: https://bigquant.com/wiki/doc/dai-PLSbc1SbZX#h-sql%E5%85%A5%E9%97%A8%E6%95%99%E7%A8%8B SELECT -- 【在这里输入因子表达式】 -- DAI SQL 算子/函数: https://bigquant.com/wiki/doc/dai-PLSbc1SbZX#h-%E5%87%BD%E6%95%B0 -- 数据&字段: 数据文档 https://bigquant.com/data/home -- 使用在时间截面的total_market_cap排名、五日日均成交量m_avg(amount_0, 5)作为本模版的两个因子 -- 这里使用了DAI提供的c_normalize函数对因子进行z-score标准化处理以在多因子线性合成时不被量纲影响 -- 还可以增加系数调节因子权重,这里对两个因子简单地添加了0.4、0,6的系数,在这个示例中没有经济学意义 -- 另外可以使用DAI提供的cut_outliers函数去极值,c_indneutralize、c_neutralize函数进行行业、行业市值中性化 0.4 * c_normalize(total_market_cap) + 0.6 * c_normalize(m_avg(turn, 5)) AS score, -- 日期,这是每个股票每天的数据 date, -- 股票代码,代表每一支股票 instrument -- 预计算因子和数据 cn_stock_factors https://bigquant.com/data/datasources/cn_stock_factors FROM cn_stock_factors -- where 数据过滤 WHERE st_status = 0 AND total_market_cap BETWEEN 1000000000 AND 4000000000 -- QUALIFY 数据过滤,支持过滤窗口函数,在 WHERE 之后才执行窗口函数。这里简化了一下,都放到QUALIFY了。对于专业用户建议分开WHERE和QUALIFY,有更好的升性能和准确性 QUALIFY -- 剔除ST股票 st_status = 0 -- 上市天数 > 270, 过滤掉新股 AND list_days > 270 -- 要求 pe > 0,-- 表示注释 -- AND pe_ttm > 0 -- 非停牌股 AND suspended = 0 -- 不属于北交所 AND list_sector < 4 -- 去掉有空值的行 AND COLUMNS(*) IS NOT NULL -- 按因子值排名,从小到大 ORDER BY date, score
其中修改了
- 排序 score:
0.4 * c_normalize(total_market_cap) + 0.6 * c_normalize(m_avg(turn, 5)) AS score
,并每天按score从小到达排序ORDER BY date, score
- 过滤条件:添加市值要求在10亿到40亿之间:
AND total_market_cap BETWEEN 1000000000 AND 4000000000
\
- 排序 score:
-
m2 数据抽取 根据m1输出的选股逻辑做数据计算和抽取:修改结束日期为
2024-02-08
,以查看最近运行效果。主要参数说明:- 数据开始日期和结束日期
- 向前取 90 天数据:有的SQL算子可能用到更早日期数据,比如 m_avg(turn, 5) 计算当日的5日换手率均值,需要用到过去5日的数据,所以多向前看一些数据
- 绑定交易日:选中后,在模拟交易模式下,这个参数将使用实际交易日
\
-
m4 BigTrader 根据数据做回测,默认逻辑是每天买入排序最小的10(
target_hold_count = 10
)只股票,每天(holding_days = 1
)换仓。\n点击模块,修改参数:- 初始资金改为 10000000
- 修改持有股票数量为20和调仓周期为5天
- 基准修改为
000852.SH
中证1000
在日线策略(参数
数据频率
为daily
),主要交易逻辑见代码见K线处理函数
。\
-
运行策略,查看回测效果,效果有所提升,也看到最近两个月市场特殊行情运行结果
开发AI策略因子
使用数据、公式/算子实现自己的因子并用于AI策略中。
- 预测目标
- 因子(特征):量化的因子/特征工程
- 训练数据
- 预测数据
- 训练
- 预测
- BigTrader (m7)
BigQuant平台
BigQuant是一站式量化策略开发AI平台和社区。在前述的几个快速开发例子中可以看到,BigQuant提供的可视化AI开发IDE (AIStudio),让投资者可以更简单、更快速的用上量化和AI。同时BigQuant 策略开发环境完全支持 VSCode 代码开发、调试、终端等能力,可视化模式和代码模式可无缝切换,支持多种开发语言、量化框架等。
可视化策略通过模块和连接组合来定义策略工作流
- 模块:模块是可视化开发的基本单元,同一个模块可以有不同版本。点击模块,可以设置模块运行参数。平台已支持 1000+ 各种功能的模块
- 模块连接:通过连线,将上一个模块的输出作为下一个模块的输入
通过这样的工作流,平台可以实现高效的向量化计算,在海量数据
和负责逻辑情况下可以提供数量级的性能提升
BigQuant是一站式量化策略开发AI平台和社区:
- 数据
- 因子
- 策略开发和回测
- 部署模拟交易,云端托管
- 部署实盘交易
- 云端
- 本地
- 学院
- 知识库
\