144.a 基于流通市值加权的红利策略
由qxiao创建,最终由qxiao 被浏览 39 用户
策略实现
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
\