【发布时间】:2021-07-06 16:26:07
【问题描述】:
我需要使用两个字典来计算损益,但我不知道我在哪里做错了以及如何使用 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' 对象不可调用
【问题讨论】:
-
portfolio是您的字典,您不能使用portfolio(value)调用它。请改用value["strike"]和value["volume"]。
标签: python dictionary finance computation