BigQuant A股股票选股模板策略介绍

新手专区
标签: #<Tag:0x00007f6157415090>

(小Q) #1

在平台策略编写文件导航器中,有近20个模板策略,可供大家借鉴学习,本文进行简要介绍。

编写策略界面下,我们可以找到模板策略文件夹,存放了一些常用的策略/功能实现模板。

进入模板策略文件夹,可以看到股票期货两个文件夹,分别存放了股票策略模板和期货策略模板。

以股票文件夹为例,进入文件夹后可以看到如下策略。

我们对部分策略/功能进行初步介绍:

AI选股策略 ——综合过滤

在实盘操作中,往往有很多其他因素。综合过滤模板展示了如何过滤掉ST股票、 选取指定概念板块股、过滤退市股等操作。

多头排列回踩均线选股策略

  • 买入条件:满足条件 1)5日均线大于10日均线,10日均线大于20日均线,20日均线大于40日均线,40日均线大于120日均线;2)今日最低价小于10日收盘价均线 的股票,次日以开盘价买入;
  • 买入后,如果5日均线小于40日均线,则次日以开盘价卖出。
  • 允许最多同时持有20只股票

固定止盈止损功能

  • 本例中,止盈条件为固定点位止盈:赚3元就卖出,并使用 stopwin_stock 用来记录止盈的股票列表;
  • 止损条件为固定百分比止损:亏10%就卖出,并使用 stoploss_stock 用来记录止损的股票列表。

等资金权重配置

查看回测/模拟模块属性栏中的“初始化函数”框体内的代码,将其中的:

每只的股票的权重,如下的权重分配会使得靠前的股票分配多一点的资金,[0.339160, 0.213986, 0.169580, …]

context.stock_weights = T.norm([1 / math.log(i + 2) for i in range(0, stock_count)])

改为等权重配置:

context.stock_weights = [1 / stock_count for i in range(0, stock_count)]

移动止损功能

在开发策略时,经常使用个股的固定点位/百分比止盈止损功能。

本策略以买入后最高价下跌10%止损为例,介绍移动止损功能的实现步骤

海龟策略

  • 当今天的收盘价大于过去20个交易日中的最高价时,以收盘价买入;
  • 买入后,当收盘价小于过去10个交易日中的最低价时,以收盘价卖出;

多条件选股策略

  • 买入条件:满足 1)今日开盘价大于昨日收盘价;2)5日收盘价均线大于10日收盘价均线的股票按PE升序排名取前十名,次日以开盘价买入;
  • 买入后,如果5日收盘价均线小于10日收盘价均线,则次日以开盘价卖出。

股票事件驱动策略

  • 由于财务公告通常在晚上发布,在财务报表公告的第二日开盘买入归属母公司股东的净利润同比增长率百分比大于30%的且降序排名靠前股票(总持仓量不超过50只);
  • 买入并持有40个交易日后,以第二日开盘价卖出;

双均线策略

  • 当收盘价5日均线大于10日均线时,以第二日开盘价买入;
  • 买入后,当收盘价的5日均线小于10日均线时,以第二日开盘价卖出;

大盘风控功能

  • 在开发策略时,经常需要根据大盘指数计算相关技术指标来进行仓位风险控制。

  • 本策略以上证指数5日累计涨幅作为风险控制指标,如果5日累计涨幅小于-4%,则执行清仓止损。

AI选股策略 ——指定验证集概念板块

  • 在预测集流程中的缺失数据处理模块m14前加入模块“选取指定概念板块股”m27(从“用户模块”——“共享模块”中找到并拖入画布)
  • 连接模块m18和模块m27即可实现指定验证集股票范围为指定的概念板块。

GBDT多因子选股策略

本例使用GBDT算法进行模型训练和数据预测

  • 新建可视化AI模板策略

  • 在左侧模块导航栏“机器学习”中拖出“GBDT训练”和“GBDT预测”模块替换原有的 StockRanker 训练模块和 StockRanker 预测模块

使用深度学习技术预测股票价格

  • 买入条件:预测的上涨概率>0.5,则买入或保持已有持仓。
  • 卖出条件 :预测的上涨概率<0.5,则卖出已有股票。

TALIB指标选股策略

  • 买入条件:满足 1)今日开盘价大于昨日收盘价;2)5日收盘价均线大于10日收盘价均线的股票按PE升序排名取前十名,次日以开盘价买入;
  • 买入后,如果5日收盘价均线小于10日收盘价均线,则次日以开盘价卖出。

配对交易策略

  • 对于股价有长期协整关系的两只股票X和Y, 可以通过历史数据回归计算两只股票的股价关系,即 Y = a*X + b, 得到相关系数a和残差项b;
  • 如果两个股票所属同一行业,我们可以认为两者的股价未来应该保持上述关系,即序列 zscore=(b-mean(b,N))/std(b,N) 存在比较稳定的均值回归特性,保持在-1和1之间往复震荡;
  • 当zscore小于-1时,Y股票低估,此时卖出X, 全仓买入Y;
  • 当zscore大于 1时,X股票低估,此时卖出Y, 全仓买入X;

价值选股策略

  • 每隔30个交易日,以开盘价买入当日0<PB<1.5且0<PE<15且有成交量的股票;
  • 每隔30个交易日,将不符合上述标准的持仓股票在第二天以收盘价卖出。

期货日线MACD策略

  • 相关指标定义如下:
    DIF=EMA(close,12)−EMA(close,26)
    DEM=EMA(DIF,9)

  • DIF从下而上穿过DEA,买入开仓;

  • DIF从上往下穿过DEA,卖出开仓;

期货AR分钟策略

  • 当收盘价 ≥ 最近60日收盘价最高值时,平空开多;
  • 当收盘价 ≤ 最近60日收盘价最低值时,平多开空;

期货日线布林带策略

  • 相关定义如下:
    中轨 = N时间段的close价格简单移动平均线
    上轨 = 中轨 + K × N时间段的标准差
    下轨 = 中轨 − K × N时间段的标准差
    当前价格相对位置 percent_b = (close - lower)/(upper - lower)
    本例中N取20,K取2

  • 当percent_b ≥ 1时,以第二日开盘价平空开多;

  • 当percent_b ≤ 0时,以第二日开盘价平多卖空;

使用深度学习技术预测股票价格

  • 买入条件:预测的上涨概率>0.5,则买入或保持已有持仓。
  • 卖出条件 :预测的上涨概率<0.5,则卖出已有股票。

使用深度学习DNN构建选股模型


该模型来自社区帖子“ 使用深度学习DNN构建选股模型

大家可以很方便地通过打开这些策略克隆进行学习或个性化修改。

结语:本文介绍了BigQuant常用模板策略的使用,希望能够帮助大家快速上手策略开发,同时也希望大家在社区踊跃贡献自己的策略,很可能会作为模板示例分享给大家~