python - 关于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”对象不可调用
解决方案
我不确定这是否是您要找的
for key in portfolio.keys():
pl += (market[key] - portfolio[key]["strike"]) * portfolio[key]["volume"]
推荐阅读
- r - 通过ggplot中连续变量的中位数重新排序因子水平
- angular - 在 Angular 中正确重置模板驱动的表单
- laravel-8 - 如何通过使用 tinymce wiris 插件获取图像 url?
- r - 如何在R中对直方图中的条形重新排序?
- amazon-web-services - 从 Internet 访问 lxc Kubernetes 集群
- jsp - 如何为在servlet中返回数字并将其传递给jsp文件的方法设置参数?
- c# - 在应用程序中侦听保存文件对话框窗口,然后自动保存它?
- angular8 - 角度 - 不能总结点
- amazon-web-services - 我的域在 AWS Certificate Manager 中等待验证
- macos - VS Code 打开未登录任何帐户