首页 > 解决方案 > 关于dict计算的问题

问题描述

我需要使用两个字典来计算损益,但我不知道我在哪里做错了以及如何使用 python dicts 执行计算。我需要使用公式(market price - strike price) * volume

这是我的代码:

    portfolio = {
"AAPL": {
    "volume": 10,
    "strike": 154.12
    },
"GOOG": {
    "volume": 2,
    "strike": 812.56
    },
"TSLA": {
    "volume": 12,
    "strike": 342.12
    },
"FB": {
    "volume": 18,
    "strike": 209.0
    }
}
market = {
"AAPL": 198.84,
"GOOG": 1217.93,
"TSLA": 267.66,
"FB": 179.06
}

def pl(market, portfolio):
global pl
for key, value in portfolio.items():
    pl += (market(value) - (portfolio(value)['strike'])) * (portfolio(value)['volume'])
   

错误是:

TypeError:“dict”对象不可调用

截图在这里

标签: pythondictionaryfinancecomputation

解决方案


我不确定这是否是您要找的

for key in portfolio.keys():
    pl += (market[key] - portfolio[key]["strike"]) * portfolio[key]["volume"]

推荐阅读