[英]Real-time data from yfinance
我正在尝试使用以下代码从 yfinance 获取真实的 rime 数据。 但我只是得到相同的收盘价/最高价/最低价/开盘价结果。 我开始认为 yfinance 是不可能的。 有没有免费的欧洲替代品?
非常感谢!
#import libraries
import schedule
import time
import alpaca_trade_api as tradeapi
import yfinance as yf
import pandas as pd
# Ask what stocks you want to check
pd = pd.DataFrame()
n = int(input("Enter the size of the list "))
print("\n")
numList = list(num for num in input("Enter the list numbers separated by space ").strip().split())[:n]
print("User List: ", numList)
# Get info for every stock chosen.
def get_data():
for ticker in numList:
ticker_yahoo = yf.Ticker(ticker)
data = ticker_yahoo.history(period = "1d", interval="1m")
data = (data.tail(1).iloc[0])
pd[ticker] = data
print(pd)
get_data()
使用 Pandas Datareader 使用get_quote_yahoo()
方法更快
import pandas_datareader as web
tickers = ["MSFT", "XOM", "KKR"]
current_price = web.get_quote_yahoo(tickers)["regularMarketPrice"]
如果你坚持使用yfinance
,你可以使用下面的代码,但要注意它会慢得多 这是因为 1)实例化Ticker
object 并拉取 info 属性需要时间,以及 2)使用Tickers
class 不方便(如反对Ticker
),所以你必须使用 for 循环。
import yfinance as yf
tickers = ["MSFT", "XOM", "KKR"]
current_price = list()
for i in range(len(tickers)):
company = yf.Ticker(ticker[i])
current_price[i] = company.info["regularMarketPrice"]
显然,这些解决方案也适用于其他类型的证券。 请注意,由于请求限制、高延迟、稳定性问题等,使用此(或任何其他免费)数据源进行真实货币算法交易充其量是不可能的。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.