144.a 基于流通市值加权的红利策略
由qxiao创建,最终由qxiao 被浏览 134 用户
策略实现
A股-基础选股模块
- 在”交易所“一栏中,取消勾选”北交所“
- 在”上市板块“一栏中,取消勾选”北交所“
- 在”ST状态“一栏中,取消勾选”ST“与”*ST“
- 最后勾选”过滤停牌“
- 其他选项保留默认
输入特征-因子特征模块
- 
dividend_yield_ratio AS score将股息率作为排序因子
 \ 
- 
在 m2”输入特征(DAI SQL)“的”表达式过滤条件“一栏中,实现筛选条件
- 
c_pct_rank(total_market_cap) > 0.2 c_pct_rank(pe_ttm) < 0.4 pe_ttm > 0 close <= 30
- 
选取出总市值排序不在后20%、市盈率大于零且排序在后40%、收盘价小于30的股票 
输入特征-仓位特征模块
- 
float_market_cap AS fmc提取流通市值变量作为仓位因子
 
 \ 
\
数据抽取模块
在m3数据抽取模块,输入回测起始和截止时间
\
仓位分配模块
- 在”评分score字段排序“一栏,选择按照score排序,并且是降序排序DESC
- 在”持仓股票数量“一栏中输入3,表示持股3只
在”仓位公式“一栏中输入1 / fmc AS position,表示根据流通市值对股票仓位进行加权,即流通市值越大的股票,持有的仓位越小
\
BigTrader模块
- 
最后,在 m7”BigTrader“模块中,实现交易逻辑.
- 
在“初始化函数”中设置 context.rebalance_days = 3表示每三天进行一次换仓
- 
实现换仓日换仓的函数表达在“K线处理函数”中 context.extension['index'] += 1 if context.extension['index'] % context.rebalance_days != 1: return
 
 \
策略源码
https://bigquant.com/codesharev3/dd7020d9-8891-48fd-ba6f-3e3ff59e9341
\