标签: yahoo-finance

Pandas DataFrame Matplotlib BoxPlot 框

如何制作箱线图,其中数据框对象中的每一行都是图中的一个框?

我有一些股票数据想要用箱线图绘制。我的数据来自雅虎财经,包括每个交易日的开盘价、最高价、最低价、收盘价、调整收盘价和成交量数据。我想绘制一个箱线图,其中每个箱体都是 1 天的 OHLC 价格走势。

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from pandas.io.data import DataReader

# get daily stock price data from yahoo finance for S&P500
SP = DataReader("^GSPC", "yahoo") 

SP.head()
             Open        High        Low         Close       Volume          Adj Close
Date                        
2010-01-04   1116.56     1133.87     1116.56     1132.99     3991400000      1132.99
2010-01-05   1132.66     1136.63     1129.66     1136.52     2491020000      1136.52
2010-01-06   1135.71     1139.19     1133.95     1137.14     4972660000      1137.14
2010-01-07   1136.27     1142.46     1131.32     1141.69     5270680000      1141.69
2010-01-08   1140.52     1145.39     1136.22     1144.98     4389590000 …
Run Code Online (Sandbox Code Playgroud)

matplotlib python-2.7 yahoo-finance pandas

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

雅虎财经不再工作了吗?

我曾经通过javascript通过以下网址从雅虎金融API获取汇率: http://finance.yahoo.com/webservice/v1/symbols/jpy=x,eur=x/quote ?format=json

但现在它不再起作用了!我在网上搜索过但没有运气。任何帮助都会很棒,谢谢!

更新:用chrome手机打开就可以了

yahoo-finance

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

使用数据框列值的 Python Pandas 绘图

我正在尝试使用数据框绘制图表。

我正在使用“pandas_datareader”来获取数据。

所以我的代码如下:

tickers = ["AAPL","GOOG","MSFT","XOM","BRK-A","FB","JNJ","GE","AMZN","WFC"]
import pandas_datareader.data as web
import datetime as dt
end = dt.datetime.now().strftime("%Y-%m-%d")
start = (dt.datetime.now()-dt.timedelta(days=365*3)).strftime("%Y-%m-%d")
%matplotlib inline
import matplotlib.pyplot as plt
import pandas as pd
data = []
for ticker in tickers:
    sub_df = web.get_data_yahoo(ticker, start, end)
    sub_df["name"] = ticker
    data.append(sub_df)
data = pd.concat(data)
Run Code Online (Sandbox Code Playgroud)

所以在变量 中data,有 8 列 =['Date', 'Open', 'High' ,'Low' ,'Close' 'Volume', 'Adj Close','name']

变量“data”如下所示: 在此输入图像描述

我想要做的是绘制一个图表,将“日期”值作为 x 参数,将“高”值作为 y 参数,将多列作为“名称”列值(=["AAPL","GOOG","MSFT" 、“XOM”、“BRK-A”、“FB”、“JNJ”、“GE”、“AMZN”、“WFC”])。

我怎样才能做到这一点?

当我执行时data.plot(),结果data很好地作为 x 参数,但有 5 …

python plot numpy yahoo-finance pandas

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

新雅虎财经网址

由于之前的雅虎财经下载 URL 不再有效,我现在只剩下这样的内容:

https://query1.finance.yahoo.com/v7/finance/download/AAPL?period1=1492524105&period2=1495116105&interval=1d&events=history&crumb=tO1hNZoUQeQ

有谁知道 period1 (和 period2)如何转换为日期(反之亦然)

任何帮助表示赞赏!

谢谢!

yahoo-finance

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

R:2019 年更改后的网页抓取 yahoo.finance

很长一段时间以来,我一直很高兴地使用从其他 stackoverflow 答案借用的代码来抓取 yahoo.finance 页面,并且效果很好,但是在过去的几周里,雅虎将其表格更改为可折叠/可展开的表格。这破坏了代码,尽管我尽了几天最大的努力,但仍无法修复该错误。

这是其他人使用多年的代码示例(然后由不同的人以不同的方式解析和处理)。

library(rvest)
library(tidyverse)

# Create a URL string
myURL <- "https://finance.yahoo.com/quote/AAPL/financials?p=AAPL"

# Create a dataframe called df to hold this income statement called df
df <- myURL %>% 
  read_html() %>% 
  html_table(header = TRUE) %>% 
  map_df(bind_cols) %>% 
  as_tibble()
Run Code Online (Sandbox Code Playgroud)

有人可以帮忙吗?


编辑以获得更多清晰度:

如果你运行上面的命令,然后查看 df 你得到

# A tibble: 0 x 0
Run Code Online (Sandbox Code Playgroud)

对于预期结果的示例,我们可以尝试 yahoo 未更改的另一个页面,如下所示:

 # Create a URL string
myURL2 <-  "https://finance.yahoo.com/quote/AAPL/key-statistics?p=AAPL"

df2 <- myURL2 %>% 
  read_html() %>% 
  html_table(header = FALSE) %>% 
  map_df(bind_cols) %>% 
  as_tibble()
Run Code Online (Sandbox Code Playgroud)

如果您查看 df2,您会得到两个变量的 59 …

r web-scraping yahoo-finance rvest

5
推荐指数
2
解决办法
2866
查看次数

尝试通过 swift 访问rapidAPI yahoo Finance 时出现错误 403

我正在尝试使用rapidAPI 访问个人项目的雅虎财经API。我注册了一个免费帐户并获得了 API 密钥。Rapid API 允许用户复制和粘贴代码来请求数据,因此我使用了他们的演示代码来访问 API。这是为了快速访问股票的详细信息:

import Foundation

let headers = [
"x-rapidapi-host": "apidojo-yahoo-finance-v1.p.rapidapi.com",
"x-rapidapi-key": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" //private key 
]

let request = NSMutableURLRequest(url: NSURL(string: "https://apidojo-yahoo-finance- 
v1.p.rapidapi.com/stock/get-detail?region=US&lang=en&symbol=APPL")! as URL,
                                    cachePolicy: .useProtocolCachePolicy,
                                timeoutInterval: 10.0)
request.httpMethod = "GET"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
    if (error != nil) {
        print(error)
    } else {
        let httpResponse = response as? HTTPURLResponse
        print(httpResponse)
    }
})

dataTask.resume()
Run Code Online (Sandbox Code Playgroud)

当我运行此代码时,它给出错误 403。这意味着根据他们的网站 …

api yahoo-finance swift rapidapi

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

雅虎财经,填补了两小时的延误

我使用雅虎财经(Python 中的 yfinance 库)来获取加密货币对的每日开盘价、收盘价、交易量、最小值、最大值。

我发现数据在 00:00 UTC(关闭/开放时间)重置,但新行仅在 02:00 UTC 添加。我需要最新一天 00:00 立即可用的数据。

有办法解决这个问题吗?我想我可以获取到目前为止的每分钟或每小时数据并总结数量。

pricedata = pdr.get_data_yahoo("BTC-ETH", start="2020-12-20", end="2020-12-22", interval = "1m")
Run Code Online (Sandbox Code Playgroud)

我是否缺少在 yfinance 中执行此操作的更简单方法?或者更快的 API?我会使用 alpha vantage,但他们不提供加密货币对的历史数据。

更新

我可以自己创建最后一天(19/12)的条目:

pricedata = pdr.get_data_yahoo(stock, start="2020-12-19", end="2020-12-20", interval = "1m")
Run Code Online (Sandbox Code Playgroud)

关闭:

print(pricedata['Close'][-1])
Run Code Online (Sandbox Code Playgroud)

打开:

print(pricedata['Close'][0])
Run Code Online (Sandbox Code Playgroud)

(稍微偏离但足够接近)

高的:

print(pricedata['High'].max())
Run Code Online (Sandbox Code Playgroud)

低的:

print(pricedata['Low'].min())
Run Code Online (Sandbox Code Playgroud)

但音量似乎不起作用。

print(pricedata['Volume'].sum())
Run Code Online (Sandbox Code Playgroud)

给我 50981730304,而每日报告值是 12830893778。如果我得到每小时值的总和而不是分钟值,我得到 2111141888。仍然很远......

我想一个“黑客”就是获取当前 24 小时的音量。但如果我在 01:00 UTC 得到这个信息,它就已经被“欺骗”了。老实说,我宁愿使用一个与每日历史记录同步的正确 API :)

到目前为止,我已经实施了这个修正,假设它可以改进一点(音量,只有在 00:00 UTC 检索时才有效,因为我还没有弄清楚如何在没有 2 小时延迟的情况下“返回”它):

            yesterday = datetime.strptime(_end, '%Y-%m-%d').date() - timedelta(days=1)
            yesterdayf = yesterday.strftime('%Y-%m-%d')

            # TODO check if between …
Run Code Online (Sandbox Code Playgroud)

python finance yahoo-finance yfinance

5
推荐指数
0
解决办法
965
查看次数

如何在Yahoo的股票API中查找索引

我正在使用Yahoo的股票API来获取股票报价,如此处所述.

基本上,我只是组装一个这样的链接:

http://finance.yahoo.com/d/quotes.csv?s=DOW+MSFT+AAPL+GOOG&f=snl1

这将给我一份这些股票的当前价格清单(DOW,MSFT,AAPL,GOOG).


一切都很好,花花公子,但我也想获得纳斯​​达克和标准普尔500指数的信息,但我不知道该用什么作为符号.

我尝试了所有这些:

纳斯达克

INDEXNASDAQ

INDEXNASDAQ:.IXIC

INDEXNASDAQ.IXIC

IXIC

无济于事.

看起来我的整个想法都有缺陷(我对金融并不太了解).

谁能帮我这个?

yahoo-finance

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

从Yahoo Finance获取股票报价为JSON,包含开始日期和结束日期

我一直在尝试从特定符号(BHP.AX)获取具有特定开始和结束日期的股票报价历史记录.

这是我尝试过的查询:

select * from yahoo.finance.quotes where symbol in ("BHP.AX") and startDate = "2014-01-01" and endDate = "2014-06-16"
Run Code Online (Sandbox Code Playgroud)

我在YQL控制台上测试它:https://developer.yahoo.com/yql/console/

我错过了什么吗?因为控制台似乎没有吐出正确的数据.

yahoo json yql yahoo-finance

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

Yahoo YQL yahoo.finance.historicaldata返回空结果

上周,我已经使用此API开发和测试了。今天,我注意到即使从示例查询中也没有收到任何结果。

https://developer.yahoo.com/yql/console/?q=show%20tables&env=store://datatables.org/alltableswithkeys#h=select+Close+from+yahoo.finance.historicaldata+where+符号+%3D + %22EUR%3DX%22 + and + startDate +%3D +%222015-09-11%22 + and + endDate +%3D +%222017-03-10%22

https://query.yahooapis.com/v1/public/yql?q=select%20 *%20from%20yahoo.finance.historicaldata%20where%20symbol%20%3D%20%22YHOO%22%20and%20startDate%20 %3D%20%222009-09-11%22%20and%20endDate%20%3D%20%222010-03-10%22&diagnostics = true&env = store%3A%2F%2Fdatatables.org%2Falltableswithkeys

有人遇到这个吗?

yahoo-api yahoo-finance

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