Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Latest commit

 

History

History
History
940 lines (781 loc) · 21.2 KB

File metadata and controls

940 lines (781 loc) · 21.2 KB
Copy raw file
Download raw file
Outline
Edit and raw actions

Change Log

1.3.0

Features: - Add Valuations Measures Table from Statistics Page #2742 - Add ETFQuery #2749 Fix type regresssion in Ticker.dividends

1.2.2

Forgot to merge in #2695 and #2718 for release 1.2.1

Features: - Add Currency to Analysis Data #2739 Fixes: - Fix TypeError in history() when API returns None/malformed #2703 - Fix thread-safety in download() with mutex lock #2718 - Fix/fill devidends #2695 Maintenance: - Refactor QueryBase to use typed Operator #2731 Docs: - Fix/history period docstring #2709 - chore: minor doc fixes #2716 - docs: fix dev branch install command #2733

1.2.1

Force curl_cffi>=0.15, because CVE #2743 Preserve currency in dividends #2695 Improve download() thread-safety #2718

1.2.0

Features: - update exchange maps for equities and mutual funds. #2685 Fixes: - handle Pandas to_numpy() returning read-only #2697

1.1.0

Features: - New price repair: capital gains double-counting #2667 Fixes: - Fix Saudi Arabia MIC Code #2665 @salsugair - Add config to __all__ #2673 @kbluck - Fix Python 3.9 compatibility regression in calendars.py #2674 @orionnelson - Improve stock-split repair false-positives #2668 - Docs for capital-gains repair; Fix warnings in price-repair 27cb8aa Already in main: - Upgrade to Pandas 3.0 (Fixes #2679) #2683

1.0

yfinance been stable a long time now, time to grow up

No breaking changes, but some deprecation warnings.

Features: - New config class yf.config / Improve exception handling #2524 - Feature: Earning Calendar (& other calendars) #2615 @ianmihura - Add optional retry mechanism for transient network errors #2627 @axisrow Fixes: - 'Industry' column names #2613 @danchev - Correct 30m interval alignment and filtering for NSE/early-open markets #2642 @biplavbarua - Screener's sector industry mapping #2648 @ericpien - Set period default to None in multi #2650 @evanreynolds9 - price-div-repair dropping NaN rows #2651 - Block curl_cffi version 0.14 #2653

0.2.66

Screener: add Swiss exchange and industry field Support MIC #2579 Fixes: - parse epoch dt #2573 - earnings_dates #2591 - merge intraday prices with divs/splits #2595 - exceptions missing detail #2599

0.2.65

Financials: ensure dtype float #2563 Prices: fix handling arguments start/end/period #2561 #2562 Price repair: when changing FX, update metadata #2558

0.2.64

Prices: - handle dividends with FX, convert if repair=True #2549 - fix 'period' arg when start or end set #2550 earnings_dates: handle 'Event Type' properly #2555

0.2.63

Fix download(ISIN) # 2531

0.2.62

Fix prices 'period=max' sometimes failing # 2509 ISIN cache #2516 Proxy: - fix false 'proxy deprecated' messages - fix ISIN + proxy #2514 - replace print_once with warnings #2523 Error handling: - detect rate-limit during crumb fetch #2491 - replace requests.HTTPError with curl_cffi

0.2.61

Fix ALL type hints in websocket #2493

0.2.60

Fix cookie reuse, and handle DNS blocking fc.yahoo.com #2483 Fixes for websocket: - relax protobuf version #2485 - increase websockets version #2485 - fix type hints #2488 Fix predefined screen offset #2440

0.2.59

Fix the fix for rate-limit #2452 Feature: live price data websocket #2201

0.2.58

Fix false rate-limit problem #2430 Fix predefined screen size/count #2425

0.2.57

Fix proxy msg & pass-thru #2418

0.2.56

Features: - Ticker lookups #2364 - Config #2391 Fixes: - converting end epoch to localized dt #2378 - info IndexError #2382 - AttributeError: module 'requests.cookies' has no attribute 'update' #2388 - fix_Yahoo_returning_live_separate() #2389

0.2.55

Features - TTM financials #2321 Fixes - info IndexError #2354 - earnings dates TZ #2366 - price repair tweaks & fixes #2368 - history caching #2345 - backup fetch TZ from info #2369 Maintenance - log user agent #2326

0.2.54

Hotfix user-agent #2277

0.2.53

Fixes: - Fix: Failed to parse holders JSON data #2234 - Fix: Bad data in Holders #2244 - Stop CSRF-cookie-fetch fail killing yfinance #2249 - Fix Market Docs #2250 - Fix: Broken "See also" links in documentation #2253 - Fix: Interval check and error message formatting in multi.py #2256 Improve: - Add pre- / post-stock prices (and other useful information) #2212 - Warn user when use download() without specifying auto_adjust #2230 - Refactor: Earnings Dates – Switch to API Fetching #2247 - Improve prices div repair #2260 Maintenance: - Add GitHub Actions workflow and fix failing tests #2233

0.2.52

Features: - Improve Screener & docs #2207 - Add Market summary & status #2175 - Support custom period in Ticker.history() #2192 - raise YfRateLimitError if rate limited #2108 - add more options to Search #2191 Fixes: - remove hardcoded keys in Analysis #2194 - handle Yahoo changed Search response #2202 Maintenance: - add optional dependencies to requirements.txt #2199

0.2.51

Features: - Screener tweaks #2168 - Search #2160 - get_news() expose count #2173 Fixes: - earnings_dates #2169

0.2.50

Fixes: - price repair #2111 #2139 - download() appearance 2109 - isin() error #2099 - growth_estimates #2127 Also new docs #2132

0.2.49

Fix prices-clean rarely discarding good data #2122

0.2.47 and 0.2.48

Add yf.download(multi_level_index)

0.2.46

Fix regression in 0.2.45 #2094

0.2.45

Features: - Screener #2066 @ericpien Fixes - Tickers keyerror #2068 @antoniouaa - IndexError in some history() debug messages #2087 - improve dividend repair #2090 Maintenance - fix unit tests contextual imports #2067 - fix typos #2072 @algonell - add Pyright type checking #2059 @marco-carvalho

0.2.44

Features: - fetch funds #2041 - fetch sector & industry #2058 Fixes: - improve dividend repair #2062

0.2.43

Fix price-repair bug introduced in 0.2.42 #2036

0.2.42

Features: - fetch SEC filings #2009 - fetch analysis #2023 @Fidasek009 - price repair extended to dividends & adjust #2031 Fixes: - fix error on empty options chain #1995 @stevenbischoff - use dict.get() to safely access key in Holders #2013 @ericpien - fix datetime conversion with mixed timezones when ignore_tz is False #2016 @mreiche - handle faulty response object when getting news. #2021 @ericpien Maintenance: - prices: improve exceptions and logging #2000

0.2.41

Improvements: - add keys to financials #1965 #1985 - fetch Sustainability #1959 - improve price-repair-zeroes #1990 Fixes (prices): - fetching when period='max' #1967 - metadata: Fix '1wk is invalid' & repeated calls #1970 - Pandas warnings #1955 #1981 - price repair syntax errors #1989 Maintenance: - deprecate Ticker.earnings #1977

0.2.40

Fix typo in 0.2.39 c7af213

0.2.39

Fixes: - Fix switching session from/to requests_cache #1930 Price repair: - Fix potential for price repair to discard price=0 rows #1874 - Don't price-repair FX volume=0, is normal #1920 - Improve 'sudden change' repair for splits & currency #1931 Information: - Fix help(yf.download) not showing the information about the function #1913 @vittoboa - Add more specific error throwing based on PR 1918 #1928 @elibroftw @marcofognog Maintenance: - Replace dead 'appdirs' package with 'platformdirs' #1896 - Deprecate 'pandas_datareader', remove a deprecated argument #1897 - Fix: datetime.datetime.utcnow() is deprecated ... #1922

0.2.38

Fix holders & insiders #1908

0.2.37

Small fixes: - Fix Pandas warnings #1838 #1844 - Fix price repair bug, typos, refactor #1866 #1865 #1849 - Stop disabling logging #1841

0.2.36

Small fixes: - Update README.md for better copy-ability #1823 - Name download() column levels #1795 - Fix history(keepna=False) when repair=True #1824 - Replace empty list with empty pd.Series #1724 - Handle peewee with old sqlite #1827 - Fix JSON error handling #1830 #1833

0.2.35

Internal fixes for 0.2.34

0.2.34

Features: - Add Recommendations Trend Summary #1754 - Add Recommendation upgrades & downgrades #1773 - Add Insider Roster & Transactions #1772 - Moved download() progress bar to STDERR #1776 - PIP optional dependencies #1771 - Set sensible min versions for optional 'nospam' reqs #1807 Fixes - Fix download() DatetimeIndex on invalid symbols #1779 - Fix invalid date entering cache DB #1796 - Fix Ticker.calendar fetch #1790 - Fixed adding complementary to info #1774 - Ticker.earnings_dates: fix warning "Value 'NaN' has dtype incompatible with float64" #1810 - Minor fixes for price repair and related tests #1768 - Fix price repair div adjust #1798 - Fix 'raise_errors' argument ignored in Ticker.history() #1806 Maintenance - Fix regression: _get_ticker_tz() args were being swapped. Improve its unit test #1793 - Refactor Ticker proxy #1711 - Add Ruff linter checks #1756 - Resolve Pandas FutureWarnings #1766

0.2.33

Cookie fixes: - fix backup strategy #1759 - fix Ticker(ISIN) #1760

0.2.32

Add cookie & crumb to requests #1657

0.2.31

  • Fix TZ cache exception blocking import #1705 #1709
  • Fix merging pre-market events with intraday prices #1703

0.2.30

  • Fix OperationalError #1698

0.2.29

  • Fix pandas warning when retrieving quotes. #1672
  • Replace sqlite3 with peewee for 100% thread-safety #1675
  • Fix merging events with intraday prices #1684
  • Fix error when calling enable_debug_mode twice #1687
  • Price repair fixes #1688

0.2.28

  • Fix TypeError: 'FastInfo' object is not callable #1636
  • Improve & fix price repair #1633 #1660
  • option_chain() also return underlying data #1606

0.2.27

Bug fixes: - fix merging 1d-prices with out-of-range divs/splits #1635 - fix multithread error 'tz already in cache' #1648

0.2.26

Proxy improvements - bug fixes #1371 - security fix #1625

0.2.25

Fix single ISIN as ticker #1611 Fix 'Only 100 years allowed' error #1576

0.2.24

Fix info[] missing values #1603

0.2.23

Fix 'Unauthorized' error #1595

0.2.22

Fix unhandled 'sqlite3.DatabaseError' #1574

0.2.21

Fix financials tables #1568 Price repair update: fix Yahoo messing up dividend and split adjustments #1543 Fix logging behaviour #1562 Fix merge future div/split into prices #1567

0.2.20

Switch to logging module #1493 #1522 #1541 Price history: - optimise #1514 - fixes #1523 - fix TZ-cache corruption #1528

0.2.18

Fix 'fast_info' error '_np not found' #1496 Fix bug in timezone cache #1498

0.2.17

Fix prices error with Pandas 2.0 #1488

0.2.16

Fix 'fast_info deprecated' msg appearing at Ticker() init

0.2.15

Restore missing Ticker.info keys #1480

0.2.14

Fix Ticker.info dict by fetching from API #1461

0.2.13

Price bug fixes: - fetch big-interval with Capital Gains #1455 - merging dividends & splits with prices #1452

0.2.12

Disable annoying 'backup decrypt' msg

0.2.11

Fix history_metadata accesses for unusual symbols #1411

0.2.10

General - allow using sqlite3 < 3.8.2 #1380 - add another backup decrypt option #1379 Prices - restore original download() timezone handling #1385 - fix & improve price repair #1289 2a2928b 86d6acc - drop intraday intervals if in post-market but prepost=False #1311 Info - fast_info improvements:

  • add camelCase keys, add dict functions values() & items() #1368
  • fix fast_info["previousClose"] #1383
  • catch TypeError Exception #1397

0.2.9

  • Fix fast_info bugs #1362

0.2.7

  • Fix Yahoo decryption, smarter this time #1353
  • Rename basic_info -> fast_info #1354

0.2.6

  • Fix Ticker.basic_info lazy-loading #1342

0.2.5

  • Fix Yahoo data decryption again #1336
  • New: Ticker.basic_info - faster Ticker.info #1317

0.2.4

  • 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

0.2.3

  • Make financials API '_' use consistent

0.2.2

  • Restore 'financials' attribute (map to 'income_stmt')

0.2.1

Release!

0.2.0rc5

  • Improve financials error handling #1243
  • Fix '100x price' repair #1244

0.2.0rc4

  • 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

0.2.0rc2

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

0.2.0rc1

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

0.1.81

  • Fix unhandled tz-cache exception #1107

0.1.80

  • Fix download(ignore_tz=True) for single ticker #1097
  • Fix rare case of error "Cannot infer DST time" #1100

0.1.79

  • Fix when Yahoo returns price=NaNs on dividend day

0.1.78

  • Fix download() when different timezones #1085

0.1.77

  • Fix user experience bug #1078

0.1.75

  • Fixed datetime-related issues: #1048
  • Add 'keepna' argument #1032
  • Speedup Ticker() creation #1042
  • Improve a bugfix #1033

0.1.74

  • Fixed bug introduced in 0.1.73 (sorry :/)

0.1.73

  • Merged several PR that fixed misc issues

0.1.72

  • Misc bugfixs

0.1.71

  • 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 retrieve earnings calendar
  • Added .get_earnings_history() to fetch earnings data

0.1.70

  • Bug fixed - Closes #937

0.1.69

  • Bug fixed - #920

0.1.68

  • Upgraded requests dependency
  • Removed Python 3.5 support

0.1.67

  • Added legal disclaimers to make sure people are aware that this library is not affiliated, endorsed, or vetted by Yahoo, Inc.

0.1.66

  • Merged PR to allow yfinance to be pickled

0.1.65

  • 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, and yf.download will auto-detect ISINs and convert them to tickers
  • Propagating timeout parameter through code, setting request.get(timeout)
  • Adds Ticker.analysis and Ticker.get_analysis(...)

0.1.64

  • 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

0.1.63

  • Duplicates and missing rows cleanup

0.1.62

  • Added UserAgent to all requests (via `utils.user_agent_headers`)

0.1.61

  • Switched to using `query2.finance.yahoo.com`, which used HTTP/1.1

0.1.60

  • 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

0.1.59

  • Added custom requests session instance support in holders

0.1.58

  • Allow specifying a custom requests session instance

0.1.57

  • 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

0.1.56

  • Updated numpy version
  • Merged PRs to fix some bugs

0.1.55

  • Fixed institutional investors and mutual fund holders issue (#459)
  • Fix for UTC timestamps in options chains (#429)

0.1.54

  • ISIN lookup working with intl. tickers

0.1.53

  • 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

0.1.52

  • Improved JSON regex parsing

0.1.51

  • Added holdings data (Ticker.major_holders and Ticker.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

0.1.50

  • Fixed ticker.info issues
  • Handle sustainability index error
  • Added test script based on @GregoryMorse's pull request

0.1.49

  • Fixed elementwise comparison warning

0.1.48

  • Fixed issues related to non-publicly traded tickers (crypto, currency, etc)

0.1.47

  • Fixed options-related bug that was caused by code refactoring

0.1.46

  • Rerwote all fundamental-related methods, which now support quarterly financials, cashflow, balance sheets, and earnings, analysts recommendations, and earnings calendar data
  • Code refactoring

0.1.45

  • 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)

0.1.44

  • Improved Tickers module (see #86)
  • Misc bugfixes

0.1.43

  • Bugfixes

0.1.42

  • Fix data realignment when Yahoo returns with missing/malform data

0.1.41

  • Added methods for downloading option chain

0.1.40

  • Fixed issue related to threads when downloading many symbols
  • Fix issue relared to missing data

0.1.39

  • Added Ticker('XXX').financials, Ticker('XXX').balance_sheet, and Ticker('XXX').cashflow
  • Proxy can be used when downloading actions

0.1.38

  • Making sure tickers are always uppercase
  • Added Tickers to __all__
  • Updated readme to reflect current library structure

0.1.37

  • Overriding old pandas_datareader.data.DataReader when calling pdr_override()
  • Tickers() returns a named tuple of Ticker() objects

0.1.36

  • Package renamed to yfinance
  • Added option to specify proxy server

0.1.35

  • Updated requirements

0.1.34

  • Intercept yahoo "site down" message
  • Better period handling
  • Threading is True by default

0.1.33

  • Better error handling

0.1.32

  • Better error handling
  • Updated min. versions for requirements

0.1.31

  • Include ticker in error message if error is raised

0.1.30

  • Fixed Yahoo!'s 30m bars being returned as 60m/15m

0.1.29

  • 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)

0.1.28

  • Threading defaults to False

0.1.27

  • Threading is back :)

0.1.26

  • 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

0.1.21 - 0.1.25

  • Bugfixs

0.1.2

  • Round prices based on metadata decimals

0.1.1

  • Setting Volume colume as np.int64 dtype to avoid integer overflow on Windows

0.1.0

  • Works with v8 API
  • Introduced Ticker module
  • Complete re-write of the entire code
  • Skipped a bunch of version :)

0.0.22

  • Deprecated Panel support

0.0.21

  • Code cleanup

0.0.20

  • Fixed issue with progress bar (issue #42)

0.0.19

  • Misc bugfixes

0.0.18

  • Minor Bugfixes
  • Added deprecation warning for future versions regarding auto-overriding pandas_datareader

0.0.17

  • Handles duplicate index

0.0.16

  • Progress bar bugfix

0.0.15

  • Bugfix (closing issue #11)

0.0.14

  • Added support for Python 2.7
  • Confirming valid data returned before adding it to _DFS_

0.0.13

  • Removed debugging code

0.0.12

  • Minor bug fix (closing #6)

0.0.11

  • Downloads ONLY dividend and stock splits data using actions='only')

0.0.10

  • Downloads dividend and stock splits data (use actions=True)

0.0.9

  • Add threads parameter to download() (# of threads to use)

0.0.8

  • 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 using progress=False)

0.0.7

  • pandas_datareader is optional (can be called via download() or via pdr.get_data_yahoo())
  • Tries to re-fetch Yahoo cookie in case of timeout/error

0.0.6

  • Forcing index to be of datetime type

0.0.5

  • Works using requests = no need for Selenium, PyVirtualDisplay, or Chrome Driver

0.0.4

  • Removed ALL debugging code :)

0.0.3

  • Removed debugging code

0.0.2

  • Option to explicitly specify the location of the Chrome driver

0.0.1

  • Initial release (alpha)
Morty Proxy This is a proxified and sanitized view of the page, visit original site.