```
def initialize(context):#初始化
run_daily(period,time='every_bar')
#交易数量全局变量
g.stocksnum=4
#设定交易周期
g.period=5
#记录策略运行天数
g.days=0
def period(context):
# 整周期时开始运行
if g.days%g.period==0:
#沪深股票列表合并
stockslist=get_index_stocks('000001.XSHG')+get_index_stocks('399106.XSHE')
#剔除停牌ST标的
for stock in stockslist:
current_data=get_current_data(stock)
if current_data[stock].is_st or current_data[stock].paused:
stockslist.remove(stock)
df=get_fundamentals(query(valuation.code)\
.filter(valuation.code.in_(stockslist))\
.order_by(valuation.market_cap.asc())\
.limit(g.stocksnum))
#买入标的列表
buylist=list(df['code'])
#分配资金,留0.2余地
per_cash=0.8*context.portfolio.starting_cash/g.stocksnum
print(buylist)
#剔除不符合的标的
for stock in context.portfolio.positions:
if stock not in buylist:
order_target(stock,0)
#买入符合标的,防止重复买入
for stock in buylist:
if stock not in context.portfolio.positions:
order_value(stock,per_cash)
#当前持仓信息
print(context.portfolio.positions.values())
#每一天运行天数加1
g.days=g.days+1
``