本文章的学习内容参考自 https://www.joinquant.com/post/6596?f=18newyearjx 感谢 @JoinQuant-TWist 和 @聚宽小秘书
根据个人习惯,对代码进行了调整?
策略说明
每隔10个交易日,等金额持有市值排名最小的前5只股票,卖出其他股票
回测和源代码如下:
def initialize(context):
g.stocksnum = 5 # 持有最小市值股票数
g.period = 10 # 轮动频率
run_daily(daily,time='every_bar')# 周期循环daily
g.days = 1 # 记录策略进行到第几天,初始为1
def daily(context):
# 判断策略进行天数是否能被轮动频率整除余1
if g.days % g.period == 1:
# 获取当前时间
date=context.current_dt.strftime("%Y-%m-%d")
# 获取上证指数和深证综指的成分股代码并连接,即为全A股市场所有股票
scu = get_index_stocks('000001.XSHG')+get_index_stocks('399106.XSHE')