【发布时间】:2021-06-09 11:17:26
【问题描述】:
我有一个很长的股票清单,我想知道它们的市值
假设我将以下股票存储为列表
test = ['A', 'AA', 'AA-W', 'AAAB', 'AAAG', 'AAAGY', 'AAAIF', 'AAALF', 'AAALY', 'AAAP', 'AAARF', 'AABA', 'AABB', 'AABC',
'AABNF', 'AABVF', 'AAC', 'AAC', 'AAC-U', 'AAC-WS', 'AAC1', 'AACAF', 'AACAY', 'AACB', 'AACC', 'AACE', 'AACEU',
'AACEY', 'AACH', 'AACIQ', 'AACMF', 'AACMZ', 'AACOU', 'AACPF', 'AACPU', 'AACQ', 'AACQU', 'AACQW']
如何通过雅虎财经熊猫获得市值?
我现在使用的代码如下,但它会为每只股票打印“错误:...”:
import pandas as pd
from pandas_datareader import data as pdr
import yfinance as yf
test = ['A', 'AA', 'AA-W', 'AAAB', 'AAAG', 'AAAGY', 'AAAIF', 'AAALF', 'AAALY', 'AAAP', 'AAARF', 'AABA', 'AABB', 'AABC',
'AABNF', 'AABVF', 'AAC', 'AAC', 'AAC-U', 'AAC-WS', 'AAC1', 'AACAF', 'AACAY', 'AACB', 'AACC', 'AACE', 'AACEU',
'AACEY', 'AACH', 'AACIQ', 'AACMF', 'AACMZ', 'AACOU', 'AACPF', 'AACPU', 'AACQ', 'AACQU', 'AACQW']
for ticker in test:
try:
marketCap = pdr.get_quote_yahoo(ticker)['marketCap']
print(marketCap)
except:
print('Error with: ', ticker)
我为单个股票尝试了 pdr.get_quote_yahoo 包装器,它运行良好,但不适用于我正在使用的列表。我的代码出了什么问题?
以下作品:
marketCap = pdr.get_quote_yahoo('A')['marketCap'])
print(marketCap)
【问题讨论】:
-
你的“works”示例中有一个额外的“)”会导致它失败,这让我认为这段代码不是你实际运行的精确复制/粘贴。您发布的代码看起来没有任何问题(循环遍历字符串列表与将单个字符串传递给 get_quote_yahoo 方法应该具有相同的行为)。
标签: python pandas yahoo-finance algorithmic-trading quantitative-finance