import yfinance as yf
stock = yf.Ticker("ABEV3.SA")
data1= stock.info
print(data1)
有"出价"one_answers"要价",但没有实际的股价。
我使用这个过滤组合只得到最后一个引号。
import yfinance as yf
tickers = ['ABEV3.SA']
for ticker in tickers:
ticker_yahoo = yf.Ticker(ticker)
data = ticker_yahoo.history()
last_quote = data['Close'].iloc[-1]
print(ticker, last_quote)
试试这个:
import yfinance as yf
stock = yf.Ticker("ABEV3.SA")
price = stock.info['regularMarketPrice']
print(price)
此方法返回测试中更新次数最多的值。
def get_current_price(symbol):
ticker = yf.Ticker(symbol)
todays_data = ticker.history(period='1d')
return todays_data['Close'][0]
print(get_current_price('TSLA'))
要获得最后收盘价,请使用以下命令:
import yfinance as yf
tickerSymbol = 'AMD'
tickerData = yf.Ticker(tickerSymbol)
todayData = tickerData.history(period='1d')
todayData['Close'][0] #use print() in case you're testing outside a interactive session
这对我来说就像是实时报价:
import yfinance as yf
yca = yf.Ticker("YCA.L").history(interval="1m", period = "1d")
yca['Close'][-1]
试试这个:
import datetime
import yfinance as yf
now = datetime.datetime.now().strftime("%Y-%m-%d")
data = yf.Ticker("ABEV3.SA")
data = data.history(start="2010-01-01", end=now)
print(data)
买卖价格实际上是交易所的报价。买入价是做市商购买股票准备支付的价格,而卖出价则是做市商在出售股票之前所要求的价格。价差是买卖的区别。
通常所说的股票价格是买卖价格的平均值。如何计算平均值取决于汇率。如果你的订阅源没有提供交易所提供的中间价,那么出于许多目的,采取出价和询问的方式就足够了。
开盘价和收盘价也由交易所决定,可能不是第一次或最后一次交易,而是第一次或最近15分钟交易的平均值,也可能包括盘后价格。
伦敦证交所如何指定股票行情数据的一些细节:伦敦证交所股票行情
而且,如果你想深入了解细节,可以了解订单如何匹配和生成价格数据的更多细节:
伦敦证券交易所SETSmm 白痴指南
尝试此操作以获得倍数股票的当前价格:
stocks = ['PETR4.SA', 'ELET3.SA', 'VALE3.SA']
df = yf.download(' '.join(stocks), period='1d', progress=False)
df = df['Close']
for stock in stocks:
if stock not in df or len(df[stock]) == 0: # this verification is important if trading session is closed
continue
quote = df[stock][0]
print('%s = %.2f'%(stock, quote))
yfinance具有下载功能,可以下载指定时期的股价数据。例如,我将使用与您想要的数据相同的股票。
import yfinance as yf
data = yf.download("ABEV3.SA", start="2020-03-01", end="2020-03-30")
上面的行下载3月份的数据,因为指定的日期是。
数据将是pandas数据帧,因此您可以直接使用它进行操作。
希望这能有所帮助。
下面的代码将获得符号列表的当前价格,并将所有结果添加到dict.中
import yfinance as yf
symbols = ["TSLA", "NIO"]
result = {}
for symbol in symbols:
data = yf.Ticker(symbol)
today_data = data.history(period='1d')
result[symbol] = round((today_data['Close'][0]),2)
print(result)
我知道这晚了几年,但对于那些正在寻找解决方案的人来说。
import yfinance as yf
def current_price(instrument):
data = yf.Ticker(instrument).history(period="1d", interval="1m")
return data["Close"].iloc[-1]
print(current_price("TSLA"))
这个例子以分钟为间隔得到数据;关闭";数据
好的,所以您想要获得当前(最新(值。
这相对简单,只需一行即可获得1天的stock
的历史记录。
symbol = "AAPL"
stock = yf.Ticker(symbol)
latest_price = stock.history(period='1d')['Close'][0]
# Completely optional but I recommend having some sort of round(er?).
# Dealing with 148.60000610351562 is a pain.
estimate = round(latest_price, 2)
print (estimate)
你还应该把它放在一个函数中,使它更通用。
注意:我之前的回答建议使用AlphaAdvantage,这仍然是表上的一个选项,但它限制为每分钟5个请求。我改变了答案,但你可以得到TL;此处的DR:
使用requests
和json
,提取数据、格式、列表理解(?(
我知道有比这个更好的答案,而且可能与这个非常相似,这只是我个人更喜欢的方法。