本文章的学习内容参考自 https://www.joinquant.com/post/6879?f=18newyearjx 感谢 @Quant中找米吃的阿鼠 和 @聚宽小秘书
根据个人习惯,对代码进行了调整_
白马股条件
- 每股收益(eps)>0.3
- 净资产收益率(roe)>15%
- 20<市盈率(pe ratio)<45
- 净利润增长率(inc_net_profit_annual)>0.3
买卖条件
- 将符合以上条件的股票按照ROE降序排列,选取前五只买入
- 设置调仓周期为十天
- 一个调仓周期结束后,卖出不在下一周期中符合条件的股票集中的股票,买入符合条件的股票,始终保持最大持有数量为五只
策略代码如下
from jqdata import *
def initialize (context):
"""初始化函数"""
# 交易周期计数起始值
g.days=0
# 调仓周期为
g.refresh_rate=10
# 持仓数量
g.stocknum=5
# 设置参考基准为上证500
set_benchmark('000905.XSHG')
# 使用真实价格交易
set_option('use_real_price', True)
# 设置交易日志级别为error
log.set_level('order', 'error')
# 为全部交易品种设定固定值滑点
set_slippage(FixedSlippage(0.02))
# 指定周期交易函数
run_daily(trade, 'every_bar')
def