Python 按平均持仓市值调仓

来源:互联网 发布:阿里云服务器介绍 编辑:程序博客网 时间:2024/05/01 03:51
# 按平均持仓市值调仓
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
0 0
原创粉丝点击