标签: yfinance

YFINANCE 或 YAHOOQUERY:检索持有数据

这个问题是这里讨论的后续问题,这里是文档

如何将以下代码的输出转换为数据框?

fund = Ticker('hasgx')
fund.fund_holding_info
Run Code Online (Sandbox Code Playgroud)

我从下面开始,

tickers = ['HACAX']
fund = Ticker(tickers)
fund = fund.fund_holding_info
fund = pd.DataFrame(fund).reset_index().rename(columns={'index': 'Header'})

 fund = fund[fund["Header"] == "holdings"]
Run Code Online (Sandbox Code Playgroud)

输出为,

在此输入图像描述

所有这些如何转换为包含“控股”行和列的数据框?

yahoo-finance pandas yfinance

3
推荐指数
1
解决办法
1456
查看次数

使用python yfinance多线程下载雅虎股票历史

我正在尝试下载股票代码列表的历史数据并将每个数据导出到 csv 文件。我可以把它作为一个 for 循环来工作,但是当股票行情列表在 1000 的时候这很慢。我正在尝试对进程进行多线程处理,但我不断收到许多不同的错误。有时它只会下载 1 个文件,有时会下载 2 或 3 次,甚至会下载 6 次,但绝不会超过这个数。我猜这与拥有 6 核 12 线程处理器有关,但我真的不知道。

import csv
import os
import yfinance as yf
import pandas as pd
from threading import Thread

ticker_list = []

with open('tickers.csv', 'r') as csvfile:
    reader = csv.reader(csvfile, delimiter=',')
    name = None
    for row in reader:
        if row[0]:
            ticker_list.append(row[0])

start_date = '2019-03-03'
end_date = '2020-03-04'

data = pd.DataFrame()

def y_hist(i):
    ticker = ticker_list[i]
    data = yf.download(ticker, start=start_date, end=end_date, group_by="ticker")
    data.to_csv('yhist/' + ticker …
Run Code Online (Sandbox Code Playgroud)

python multithreading yfinance

2
推荐指数
1
解决办法
2153
查看次数

时间戳未显示在 Python 的 yfinance 包中

我正在尝试使用 yfinance 包通过 Yahoo Finance API 以 1 小时为间隔提取股票价格历史记录。我运行以下代码。

import yfinance as yf
msft = yf.Ticker("MSFT")
df = msft.history(period = "5d", interval = "1h")
df.reset_index(inplace = True)
print(df["Date"][0])
print(df["Date"][1])
print(df["Date"][2])
Run Code Online (Sandbox Code Playgroud)

我得到输出

2020-04-03 00:00:00
2020-04-03 00:00:00
2020-04-03 00:00:00
Run Code Online (Sandbox Code Playgroud)

为什么时间戳都是 00:00:00?股票价格实际上以 1 小时为间隔,看起来是正确的。7 行后日期也会正确更改。只是时间戳都是 0。我可以只对时间戳进行后处理,因为我知道间隔。只是好奇我是否在这里做错了什么。这是包应该如何工作吗?

python pandas yfinance

2
推荐指数
1
解决办法
3067
查看次数

删除 yfinance 的评论?

每次我尝试使用 yFinance 获取股票价格时,它都会打印以下评论:

[*********************100%***********************]  1 of 1 completed
Run Code Online (Sandbox Code Playgroud)

有办法摆脱它吗?

data = yf.download(ticker, startDate.strftime("%Y-%m-%d"), endDate.strftime("%Y-%m-%d"))
Run Code Online (Sandbox Code Playgroud)

python yfinance

2
推荐指数
1
解决办法
3374
查看次数

Python 的 yfinance 和 yahoo_fin 最近停止工作了吗?

yfinance 和 yahoo_fin 似乎不再完全有效。

是否还有其他人遇到此问题,但没有使用这些软件包的任何公司的财务数据?

有谁知道这些是否已被弃用或阻止,或者 yfinance 和 yahoo_fin 是否仍在工作?

编辑: .history 似乎有效,一些公司的 .info 也有效,但不是全部。

python yahoo-finance yfinance

2
推荐指数
3
解决办法
4872
查看次数

迭代 yfinance 股票代码列表的最快方法是什么?

我使用 python yfinance yahoo API 进行股票数据检索。现在我得到的是挂钩比率,这是公司价格与其增长和收益相关的指标。我从这里下载了一个 csv: https: //www.nasdaq.com/market-activity/stocks/screener。它正好有 8000 只股票。

我所做的是获取符号列表,并迭代它以访问雅虎股票。然后我使用ticker.info 方法返回一个字典。我通过 8000 个符号重复这个过程。它以每分钟 6 个符号的速度运行,这是不可行的。是否有使用其他 API 或其他结构的更快方法?我不关心 API,只要我能获得增长、收益、每股收益等基本信息即可。

这是代码:

import pandas as pd
import yfinance as yf


data = pd.read_csv("data/stock_list.csv")
symbols = data['Symbol']
for symbol in symbols:
    stock = yf.Ticker(symbol)
    try:
        if stock.info['pegRatio']:
            print(stock.info['shortName'] + " : " + str(stock.info['pegRatio']))
    except KeyError:
        pass
Run Code Online (Sandbox Code Playgroud)

python finance data-science yfinance

2
推荐指数
1
解决办法
7145
查看次数

Python yFInance api如何获取收盘价而不是调整后的收盘价?

我正在尝试从 Devon 的 yFinance API 获取收盘价DVN。问题是 API 给出的adjusted closing share price响应closing share price数据有时可能不同。

雅虎财经显示,天地网络2021年9月9日收盘股价为28.45,调整后收盘股价为27.96

在此输入图像描述

在 yFinance 的 API 响应中,我得到的收盘股价为 27.96,这应该是调整后的值,而不是收盘值。

在此输入图像描述

现在我如何从 yFinance 获取收盘价而不是调整后的股价?

python finance yahoo-finance yfinance

2
推荐指数
1
解决办法
1万
查看次数

当前渠道无法提供以下套餐: - yfinance

我尝试使用命令将 yfinance 安装到 anaconda 中: conda install -c anaconda yfinance

错误消息显示:警告:conda.compat 模块已弃用,并将在未来版本中删除。收集包元数据:完成解决环境:失败

PackagesNotFoundError:当前渠道无法提供以下软件包:

  • y财经

目前渠道:

要搜索可能提供您正在寻找的 conda 包的替代频道,请导航至

https://anaconda.org
Run Code Online (Sandbox Code Playgroud)

并使用页面顶部的搜索栏。

我还使用过: conda config --appendchannels conda-forge

没有什么变化

conda install -c anaconda yfinance conda config --append 通道 conda-forge

python-3.x yfinance

1
推荐指数
1
解决办法
3161
查看次数

如何使用来自雅虎财经的数据创建烛台图?

我正在使用yfinanceplotly库(python 2.7)来获取欧元/美元数据,然后创建烛台图

这是我从雅虎财经下载数据的代码:

import yfinance as yf

data = yf.download(tickers='EURUSD=X', period='1d', interval='30m')
Run Code Online (Sandbox Code Playgroud)

示例输出:

data.tail(10)


                               Open         High    Low Close   Adj Close     Volume
                 Datetime                       
2022-02-25 17:30:00+00:00   1.125239    1.125239    1.124101    1.124354    1.124354    0
2022-02-25 18:00:00+00:00   1.124480    1.125873    1.124480    1.125492    1.125492    0
2022-02-25 18:30:00+00:00   1.125619    1.126507    1.125619    1.126126    1.126126    0
2022-02-25 19:00:00+00:00   1.125999    1.126507    1.125492    1.126253    1.126253    0
2022-02-25 19:30:00+00:00   1.126634    1.126888    1.125366    1.126634    1.126634    0
2022-02-25 20:00:00+00:00   1.126888    1.127015    1.126126    1.126634    1.126634    0
2022-02-25 20:30:00+00:00 …
Run Code Online (Sandbox Code Playgroud)

python plotly yfinance

1
推荐指数
1
解决办法
2971
查看次数

使用 yfinance 快速获取多个股票代码的信息

我正在尝试获取 S&P500 中所有股票的当前价格和市值,而我目前的做法非常慢,所以我想知道是否有什么可以改进它的方法,或者任何其他方法。这是我当前的方法,只是打印名称、市值和当前价格:

import yfinance as yf

#I am using a csv file with a list of all the tickers which I use to create a pandas dataframe and form a space seperated string of all of the tickers called all_symbols
#I have simplified the pandas dataframe to a list for the purpose of this question

ticker_list = ["A", "AL", "AAP", "AAPL", ... "ZBRA", "ZION", "ZTS"]
all_symbols  = " ".join(ticker_list)

tickers = yf.Tickers(all_symbols)

for ticker in ticker_list:
    price = tickers.tickers[ticker].info["currentPrice"] …
Run Code Online (Sandbox Code Playgroud)

python finance pandas yfinance

0
推荐指数
2
解决办法
8187
查看次数