# 按平均持仓市值调仓
def for_balance(context,bar_dict):
#mvalues = context.portfolio.market_value
#avalues = context.portfolio.portfolio_value
#per = mvalues / avalues
hlist = []
for stock in context.portfolio.positions:
#获取股票及对应持仓市值
hlist.append([stock,bar_dict[stock].last *context.portfolio.positions[stock].quantity])
ifhlist:
#按持仓市值由大到小排序
hlist =sorted(hlist,key=lambda x:x[1], reverse=True)
temp = 0
for li in hlist:
#计算持仓总市值
temp += li[1]
for li in hlist:
#平均各股持仓市值
if bar_dict[li[0]].is_trading:
order_target_value(li[0], temp/len(hlist))
return
def for_balance(context,bar_dict):
#mvalues = context.portfolio.market_value
#avalues = context.portfolio.portfolio_value
#per = mvalues / avalues
hlist = []
for stock in context.portfolio.positions:
#获取股票及对应持仓市值
hlist.append([stock,bar_dict[stock].last *context.portfolio.positions[stock].quantity])
ifhlist:
#按持仓市值由大到小排序
hlist =sorted(hlist,key=lambda x:x[1], reverse=True)
temp = 0
for li in hlist:
#计算持仓总市值
temp += li[1]
for li in hlist:
#平均各股持仓市值
if bar_dict[li[0]].is_trading:
order_target_value(li[0], temp/len(hlist))
return