根据条件创建Python字典

亚历克斯·班布(Alex Bambu)

我正在尝试创建字典,将其作为对资金组合的定购请求。字典将作为JSON文件导出,仅提供一些上下文。这就是字典的样子。

{
"accountID":"02e57c7d-d071-4c63-b491-1194a9939ea5.1452548617456",
"accountNo":"DWTE000005",
"userID":"02e57c7d-d071-4c63-b491-1194a9939ea5",
"accountType":2,
"ordType":"1",
"side":"B",
"instrumentID":"06926627-e950-48f3-9c53-b679f61120ec",
"orderQty":1.4312,
"comment":""
}

如果目标权重大于0,则将要创建词典的条件如下。

targetportfolio = {
'VXUS' : 0.2,
'GOVT' : 0,
'IVW' : 0.2,
'EEM' : 0.2,
'JNK' : 0,
'VDE' : 0.15,
'LQD' : 0,
'IJR' : 0.1,
'BIL' : 0,
'AAXJ' : 0.15
}

如果目标投资组合中的金额大于0,则每个基金(例如VXUS)都会产生一个定单。我在想以下代码,但是我很困惑。有任何想法吗?

   def ordergen(portfolio):
   for i in portfolio:
    {
    "accountID" : "02e57c7d-d071-4c63-b491-1194a9939ea5.1452548617456",
    "accountNo" : "DWTE000005",
    "userID" : "02e57c7d-d071-4c63-b491-1194a9939ea5",
    "accountType" : 2,
    "ordType" : "1",
    "side" : "B",
    "instrumentID" :fundID[i],
    "orderQty" : ,
    "comment":""
    }
帕特里克
targetPortfolio = {
'VXUS' : 0.2,
'GOVT' : 0,
'IVW' : 0.2,
'EEM' : 0.2,
'JNK' : 0,
'VDE' : 0.15,
'LQD' : 0,
'IJR' : 0.1,
'BIL' : 0,
'AAXJ' : 0.15
}

orders = []

for k in targetPortfolio.keys():
    if targetPortfolio[k] > 0:
        orders.append({
            "accountID" : "02e57c7d-d071-4c63-b491-1194a9939ea5.1452548617456",
            "accountNo" : "DWTE000005",
            "userID" : "02e57c7d-d071-4c63-b491-1194a9939ea5",
            "accountType" : 2,
            "ordType" : "1",
            "side" : "B",
            "instrumentID" : "",
            "orderQty" : "",
            "comment":""
        })

print(orders)

.keys()是你的朋友。现在,您可以在重量大于0的情况下使用“ k”填写订单详细信息。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章