# 按平均持仓市值调仓
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