这个量化策略的核心在于选取过去三年平均股息率最高的股票,在每年的5月进行调仓,买入卖出,一年只调仓一次,年化收益比沪深300强,适合稳健的价值投资者。
回测数据如下:

*回测数据只作测试用,不代表未来实际收益
定义了运行周期、基础股票池、持股数
# 设置策略
run_monthly(handle_trader, 1, '9:45')
# 设置参数
g.index = '000300.XSHG' #投资指数
g.num = 1 #选股数
g.stocks = [] #股票池
2、选股逻辑
(1)基本面筛选
主要指标有:市净率大于0, 市盈率大于0,市现率大于0,市净率需大于市盈率的15%
sdf = get_fundamentals(query(
valuation.code,
valuation.market_cap, #单位,亿元
).filter(
valuation.code.in_(stocks),
# 市净率大于0(排除净资产为负的公司)
valuation.pb_ratio > 0,
# 市盈率大于0(排除亏损企业)
valuation.pe_ratio > 0,
# 市现率大于0(现金流为正)
valuation.pcf_ratio > 0,
# 市净率需大于市盈率的15%
valuation.pb_ratio > 0.15*valuation.pe_ratio,
)).dropna().set_index('code')
(2)计算最近三年平均股息率
最重要的指标:最近三年平均股息率
dt_3y = context.current_dt.date() - dt.timedelta(days=3*365)
dt_now = context.current_dt.date()
ddf = finance.run_query(query(
finance.STK_XR_XD.code,
finance.STK_XR_XD.company_name,
finance.STK_XR_XD.board_plan_pub_date,
finance.STK_XR_XD.bonus_amount_rmb, #单位,万元
).filter(
finance.STK_XR_XD.code.in_(stocks),
finance.STK_XR_XD.board_plan_pub_date > dt_3y,
finance.STK_XR_XD.board_plan_pub_date < dt_now,
finance.STK_XR_XD.bonus_amount_rmb > 0
)).dropna()
stocks = list(set(ddf.code))
# 累计分红
divy = pd.Series(data=zeros(len(stocks)), index=stocks)
for k in ddf.index:
s = ddf.code[k]
divy[s] += ddf.bonus_amount_rmb[k]
# 建立数据表
sdf = sdf.reindex(stocks)
sdf['div_3y'] = divy
# 计算股息率
sdf['div_ratio'] = 1e-2 * sdf.div_3y / sdf.market_cap
3、调仓逻辑
选取最近三年平均股息率最高的股票,每年5月进行调仓,卖出不在目标股票池的股票,买入新进目标股票池的股票
# 按年更新
if context.current_dt.month in [5]:
g.stocks = choice_stocks(context, g.index, g.num)
# 卖出
cdata = get_current_data()
for s in context.portfolio.positions:
if s not in g.stocks and not cdata[s].paused:
log.info('sell', s, cdata[s].name)
order_target(s, 0)
# 买进
position = 0.99*context.portfolio.total_value / max(1, len(g.stocks))
for s in g.stocks:
if s not in context.portfolio.positions and not cdata[s].paused and\
context.portfolio.available_cash > position:
log.info('buy', s, cdata[s].name)
order_value(s, position)
这篇文章主要分享红利价值策略,逻辑比较简单,低频策略,比较适合稳健的价值投资者,不想太操心股市,安心睡觉的人
如果有不懂的,欢迎找我一起交流,加入量化交易大家庭
发布者:股市刺客,转载请注明出处:https://www.95sca.cn/archives/1352303
站内所有文章皆来自网络转载或读者投稿,请勿用于商业用途。如有侵权、不妥之处,请联系站长并出示版权证明以便删除。敬请谅解!