- Fix fast_info bugs #1362
- Fix Yahoo decryption, smarter this time #1353
- Rename basic_info -> fast_info #1354
- Fix Ticker.basic_info lazy-loading #1342
- Fix Yahoo data decryption again #1336
- New: Ticker.basic_info - faster Ticker.info #1317
- Fix Yahoo data decryption #1297
- New feature: 'Ticker.get_shares_full()' #1301
- Improve caching of financials data #1284
- Restore download() original alignment behaviour #1283
- Fix the database lock error in multithread download #1276
- Make financials API '_' use consistent
- Restore 'financials' attribute (map to 'income_stmt')
Release!
- Improve financials error handling #1243
- Fix '100x price' repair #1244
- Access to old financials tables via get_income_stmt(legacy=True)
- Optimise scraping financials & fundamentals, 2x faster
- Add 'capital gains' alongside dividends & splits for ETFs, and metadata available via history_metadata, plus a bunch of price fixes
For full list of changes see #1238
Financials - fix financials tables to match website #1128 #1157 - lru_cache to optimise web requests #1147 Prices - improve price repair #1148 - fix merging dividends/splits with day/week/monthly prices #1161 - fix the Yahoo DST fixes #1143 - improve bad/delisted ticker handling #1140 Misc - fix 'trailingPegRatio' #1138 - improve error handling #1118
Jumping to 0.2 for this big update. 0.1.* will continue to receive bug-fixes - timezone cache performance massively improved. Thanks @fredrik-corneliusson #1113 #1112 #1109 #1105 #1099 - price repair feature #1110 - fix merging of dividends/splits with prices #1069 #1086 #1102 - fix Yahoo returning latest price interval across 2 rows #1070 - optional: raise errors as exceptions: raise_errors=True #1104 - add proper unit tests #1069
- Fix unhandled tz-cache exception #1107
- Fix download(ignore_tz=True) for single ticker #1097
- Fix rare case of error "Cannot infer DST time" #1100
- Fix when Yahoo returns price=NaNs on dividend day
- Fix download() when different timezones #1085
- Fix user experience bug #1078
- Fixed datetime-related issues: #1048
- Add 'keepna' argument #1032
- Speedup Ticker() creation #1042
- Improve a bugfix #1033
- Fixed bug introduced in 0.1.73 (sorry :/)
- Merged several PR that fixed misc issues
- Misc bugfixs
- Added Tickers(…).news()
- Return empty DF if YF missing earnings dates
- Fix EPS % to 0->1
- Fix timezone handling
- Fix handling of missing data
- Clean&format earnings_dates table
- Add
.get_earnings_dates()
to retreive earnings calendar - Added
.get_earnings_history()
to fetch earnings data
- Bug fixed - Closes #937
- Bug fixed - #920
- Upgraded requests dependency
- Removed Python 3.5 support
- Added legal disclaimers to make sure people are aware that this library is not affiliated, endorsed, or vetted by Yahoo, Inc.
- Merged PR to allow yfinance to be pickled
- Merged PRs to fix some bugs
- Added lookup by ISIN
utils.get_all_by_isin(...)
,utils.get_ticker_by_isin(...)
,utils.get_info_by_isin(...)
,utils.get_news_by_isin(...)
yf.Ticker
,yf.Tickers
, andyf.download
will auto-detect ISINs and convert them to tickers- Propagating timeout parameter through code, setting request.get(timeout)
- Adds
Ticker.analysis
andTicker.get_analysis(...)
- Merged PRs to fix some bugs
- Added
Ticker.stats()
method - Added
Ticker.news
property - Providing topHoldings for ETFs
- Replaceed drop duplicate prices with indexes
- Added pre-market price to
Ticker.info
- Duplicates and missing rows cleanup
- Added UserAgent to all requests (via
`utils.user_agent_headers`
)
- Switched to using
`query2.finance.yahoo.com`
, which used HTTP/1.1
- Gracefully fail on misc operations (options, auto/back adjustments, etc)
- Added financial data to
`info()`
- Using session headers
- Get price even if open price not available
- Argument added for silencing error printing
- Merged PRs to fix some bugs
- Added custom requests session instance support in holders
- Allow specifying a custom requests session instance
- Added Conversion rate hint using 'financialCurrency' property in earnings
- Add important try+catch statements
- Fixed issue with 1 hour interval
- Merged PRs to fix some bugs
- Fixed issue with special characters in tickers
- Updated numpy version
- Merged PRs to fix some bugs
- Fixed institutional investors and mutual fund holders issue (#459)
- Fix for UTC timestamps in options chains (#429)
- ISIN lookup working with intl. tickers
- Added
Ticker.isin
+Ticker.get_isin(...)
. This is still experimental. Do not rely on it for production. - Bug fixed: holders were always returning results for MSFT
- Improved JSON regex parsing
- Added holdings data (
Ticker.major_holders
andTicker.institutional_holders
) - Added logo url to
Ticker.info
- Handling different date formats in fundamentals
- Faster JSON parsing using regex
- Trying to re-download JSON twice before giving up
- Using ujson instead of json if installed
- Fixed (more)
ticker.info
issues - Misc bugfixes
- Fixed
ticker.info
issues - Handle sustainability index error
- Added test script based on @GregoryMorse's pull request
- Fixed
elementwise comparison
warning
- Fixed issues related to non-publicly traded tickers (crypto, currency, etc)
- Fixed options-related bug that was caused by code refactoring
- Rerwote all fundamental-related methods, which now support quarterly financials, cashflow, balance sheets, and earnings, analysts recommendations, and earnings calendar data
- Code refactoring
- Added sustainability data/error handling for ETF/MF (by GregoryMorse)
- Avoid rounding the values retrieved from Yahoo by default (by aglebov)
- Added 'rename=True' for the namedtuple (raffieeey)
- Improved
Tickers
module (see ranaroussi#86) - Misc bugfixes
- Bugfixes
- Fix data realignment when Yahoo returns with missing/malform data
- Added methods for downloading option chain
- Fixed issue related to threads when downloading many symbols
- Fix issue relared to missing data
- Added
Ticker('XXX').financials
,Ticker('XXX').balance_sheet
, andTicker('XXX').cashflow
- Proxy can be used when downloading actions
- Making sure tickers are always uppercase
- Added Tickers to
__all__
- Updated readme to reflect current library structure
- Overriding old
pandas_datareader.data.DataReader
when callingpdr_override()
Tickers()
returns a named tuple ofTicker()
objects
- Package renamed to
yfinance
- Added option to specify proxy server
- Updated requirements
- Intercept yahoo "site down" message
- Better period handling
- Threading is True by default
- Better error handling
- Better error handling
- Updated min. versions for requirements
- Include ticker in error message if error is raised
- Fixed Yahoo!'s 30m bars being returned as 60m/15m
- Fixed issue with Pandas "DataFrame constructor not properly called!"
- If
threads
is set to True, it will default to number of tickers (max = @ of CPU cores)
- Threading defaults to
False
- Threading is back :)
- Fixed weird bug with Yahoo!, which is returning 60m interval when requesting for 30m interval, by requesting 15m interval and resampling the returned data
Ticker.history()
auto-adjusts data by default
- Bugfixs
- Round prices based on metadata decimals
- Setting Volume colume as np.int64 dtype to avoid integer overflow on Windows
- Works with v8 API
- Introduced Ticker module
- Complete re-write of the entire code
- Skipped a bunch of version :)
- Deprecated Panel support
- Code cleanup
- Fixed issue with progress bar (issue #42)
- Misc bugfixes
- Minor Bugfixes
- Added deprecation warning for future versions regarding auto-overriding pandas_datareader
- Handles duplicate index
- Progress bar bugfix
- Bugfix (closing issue #11)
- Added support for Python 2.7
- Confirming valid data returned before adding it to
_DFS_
- Removed debugging code
- Minor bug fix (closing #6)
- Downloads ONLY dividend and stock splits data using
actions='only'
)
- Downloads dividend and stock splits data (use
actions=True
)
- Add
threads
parameter todownload()
(# of threads to use)
- Removed 5 second wait for every failed fetch
- Reduced TTL for Yahoo!'s cookie
- Keeps track of failed downloads and tries to re-download all failed downloads one more time before giving up
- Added progress bar (can be turned off useing
progress=False
)
pandas_datareader
is optional (can be called viadownload()
or viapdr.get_data_yahoo()
)- Tries to re-fetch Yahoo cookie in case of timeout/error
- Forcing index to be of datetime type
- Works using
requests
= no need for Selenium, PyVirtualDisplay, or Chrome Driver
- Removed ALL debugging code :)
- Removed debugging code
- Option to explicitly specify the location of the Chrome driver
- Initial release (alpha)