关于dict计算的问题



我需要计算利润&使用两个字典会造成损失,但我不知道哪里做错了,也不知道如何使用python字典进行计算。我需要使用公式(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"对象不可调用

屏幕截图在这里

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

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

您对dict的访问不正确。

你的意思是:

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

最新更新