以下调用将在Yahoo Finance API中搜索名称中包含"Yahoo"的股票:
http://d.yimg.com/autoc.finance.yahoo.com/autoc?query=yahoo®ion=US&lang=en-US&row=ALL&callback=YAHOO.Finance.SymbolSuggest.ssCallback
Run Code Online (Sandbox Code Playgroud)
不幸的是,结果数量限制为10,这会导致某些搜索查询出现问题.有没有办法增加限额?
我知道雅虎有一个很好的API,用于访问http://www.gummy-stuff.org/Yahoo-data.htm上记录的公司的详细财务指标.雅虎还提供历史定价数据,请参见http://code.google.com/p/yahoo-finance-managed/wiki/csvHistQuotesDownload.
但是,我正试图找到一个可以编程方式访问详细历史数据的地方,比如10年前公司的收益,而不仅仅是股票的价格.有谁知道这样的网站?我愿意付钱,我想http://www.mergent.com/servius,但它们看起来非常非常昂贵.一家公司的单一标准化财务报告费用为50个单位,按照现收现付计划计算为2.50美元.
谷歌似乎有相当不错的历史财务数据,似乎可以追溯到5年前.我可能会尝试抓他们,但我想回去更多.有任何想法吗?
我有两个较大的(提供的片段)大熊猫DateFrame
的日期不等作为索引,我希望连成一个:
NAB.AX CBA.AX
Close Volume Close Volume
Date Date
2009-06-05 36.51 4962900 2009-06-08 21.95 0
2009-06-04 36.79 5528800 2009-06-05 21.95 8917000
2009-06-03 36.80 5116500 2009-06-04 22.21 18723600
2009-06-02 36.33 5303700 2009-06-03 23.11 11643800
2009-06-01 36.16 5625500 2009-06-02 22.80 14249900
2009-05-29 35.14 13038600 --AND-- 2009-06-01 22.52 11687200
2009-05-28 33.95 7917600 2009-05-29 22.02 22350700
2009-05-27 35.13 4701100 2009-05-28 21.63 9679800
2009-05-26 35.45 4572700 2009-05-27 21.74 9338200
2009-05-25 34.80 3652500 2009-05-26 21.64 8502900
Run Code Online (Sandbox Code Playgroud)
问题是,如果我运行这个:
keys = ['CBA.AX','NAB.AX']
mv = pandas.concat([data['CBA.AX'][650:660],data['NAB.AX'][650:660]], axis=1, …
Run Code Online (Sandbox Code Playgroud) 我们想使用HTTP请求检查库存的历史数据,并获取JSON.
使用yahoo API,我发现很难不仅清楚地理解HTTP请求字段,而且还要获取某一天的数据(不是每天的平均值,而是某一天的值),其中:
http://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20yahoo.finance.historicaldata%20where%20symbol%20%3D%20%22AAPL%22%20and%20startDate%20%3D%20%222012-09-11%22%20and%20endDate%20%3D%20%222014-02-11%22&format=json&diagnostics=true&env=store%3A%2F%2Fdatatables.org%2Falltableswithkeys&callback=
1.在任何地方都没有解释如何设置每个字段(也不在雅虎控制台).
2.你不能设置的某一天,并得到其值.
除了雅虎之外,还有免费的稳定解决方案吗?或者,有人可以帮我理解请求中所有这些垃圾的标志吗?
直到昨天,诸如此http://autoc.finance.yahoo.com/autoc?query=a&callback=YAHOO.Finance.SymbolSuggest.ssCallback之类的查询为股票代码和公司名称产生了一长串模糊/广泛匹配结果.
从今天开始,你就是特定区域和语言所需的b.)它只会产生与股票代码完全匹配的结果而不是公司名称.因此通常只会得到一个结果.
因此,对于http://autoc.finance.yahoo.com/autoc?query=y®ion=US&lang=en&callback=YAHOO.Finance.SymbolSuggest.ssCallback,现在只有一个结果:YAHOO.Finance.SymbolSuggest.ssCallback({"ResultSet": {"查询":"a","结果":[{"symbol":"A","name":"Agilent Technologies Inc.","exch":"NYQ","type":"S", "exchDisp": "纽约", "typeDisp": "公平"}]}});
任何想法如何a.)扩大匹配类型和b.)包括公司名称作为搜索字段?
我是YQL的新手.也许这是非常微不足道的,但我无法理解这一点.例如,我知道如何使用YQL控制台从Yahoo/YQL查询当前库存数据:
http://developer.yahoo.com/yql/console/
使用查询字符串:
select * from yahoo.finance.quotes where symbol in ("YHOO","AAPL","GOOG","MSFT")
Run Code Online (Sandbox Code Playgroud)
但是,如果我想要从昨天或一周前获得相同的数据呢?我试过像这样的东西
select * from yahoo.finance.quotes where symbol in ("YHOO","AAPL","GOOG","MSFT") and date=20120913
Run Code Online (Sandbox Code Playgroud)
但它似乎不起作用.
任何建议表示赞赏!
过去几周我一直在使用 yfinance 来提取一些股票的历史数据。我通常在每周结束时运行该程序以存储该周的数据,但是这个问题错误只是在上周随机开始发生。下面是调用 MMM 历史价格数据的简单示例。但是,期权合约方法也会发生同样的错误。
import yfinance as yf
mmm = yf.Ticker('MMM')
mmm.history()
Run Code Online (Sandbox Code Playgroud)
错误堆栈:
JSONDecodeError Traceback (most recent call last)
<ipython-input-6-68e978705cca> in <module>
1 mmm = yf.Ticker('MMM')
----> 2 mmm.history()
~/opt/anaconda3/lib/python3.8/site-packages/yfinance/base.py in history(self, period, interval, start, end, prepost, actions, auto_adjust, back_adjust, proxy, rounding, tz, **kwargs)
155 "Our engineers are working quickly to resolve "
156 "the issue. Thank you for your patience.")
--> 157 data = data.json()
158
159 # Work with errors
~/opt/anaconda3/lib/python3.8/site-packages/requests/models.py in json(self, **kwargs)
896 # used. …
Run Code Online (Sandbox Code Playgroud) 到目前为止,我一直在使用INDU
自动收报机跟随DOW
Yahoo! API.无论出于何种原因,您无法直接遵循^dji
^djia
或任何其他合理的组合.直到昨天,INDU
工作正常.但是现在我在请求时没有收到任何数据indu
.
我还可以使用Yahoo! 将返回道琼斯工业平均指数的金融API?
在雅虎财经行情API(http://download.finance.yahoo.com/d/quotes.csv?)可以访问一些与公司本年度相关的功能
(Sector Price
Dividend Yield
Price/Earnings
Earnings/Share
Book Value
52 week low
52 week high
Market Cap
EBITDA
Price/Sales
Price/Book).
Run Code Online (Sandbox Code Playgroud)
yahoo finance historicaldata api(http://ichart.finance.yahoo.com/table.csv?)仅为特定时期的公司提供以下信息(开始YYMMDD,结束YYMMDD)
> "Open": "15.32",
> "High": "15.35",
> "Low": "15.13",
> "Close": "15.24",
> "Volume": "20126900",
> "Adj_Close": "15.24"
Run Code Online (Sandbox Code Playgroud)
如何获得与公司相关的股息收益率,价格/收益,收益/份额的历史数据?(因为现在我只能使用finance.quotes API获取与当前年份相关的信息,而我无法获得与这些功能相关的历史数据)
我正在尝试消除烛台中的日期时间间隙(间隙是股市休市的时间段,因此没有数据)。似乎无法找到使用绘图对象的良好解决方案。有没有可行的办法呢?
我的代码如下(使用绘图对象):
import dash
import dash_core_components as dcc
import dash_table
import pandas as pd
import dash_html_components as html
import numpy as np
from dash.dependencies import Output, Input, State
import plotly.graph_objects as go
import yfinance as yf
import plotly.express as px
from datetime import datetime, timedelta
from pytz import timezone
import dash_bootstrap_components as dbc
df= yf.Ticker('aapl')
df = df.history(interval="5m",period="5d")
df["Datetime"] = df.index
trace1 = {
'x': df.Datetime,
'open': df.Open,
'close': df.Close,
'high': df.High,
'low': df.Low,
'type': 'candlestick',
'name': 'apple,
'showlegend': False …
Run Code Online (Sandbox Code Playgroud) python candlestick-chart python-datetime yahoo-finance plotly-dash