Skip to content

Releases: JerBouma/FinanceToolkit

FinanceToolkit v1.2.4

17 Aug 10:23
5208425
Compare
Choose a tag to compare

Many many new additions!

  • Introduced a TQDM progress bar for financial statements. This only activates if you have TQDM installed and can also be disabled by setting progress_bar=False in the Toolkit initalization. The purpose of this is to make it more clear how far the data collection is progressing. This fixes #53.
  • Added a sleeper in case you breach the request limit. This is mostly relevant for Premium subscriptions that reach the 300 (or 750) API Calls per minute. On average, this should be almost never an issue. This fixes #52.
  • I've done some number formatting. Ratios or percentages are depicted with 4 decimals and all other values with 2. This made more sense and keeps the data concise.
  • Many QOL updates and Docstring fixes.

I've extended the historical dataset with dividends, returns and cumulative returns. As an example:

image

I've added in the ability to collect Analyst Estimates. This gives insights in how a range of analysts thought about the past and think about the future of each company.

image

The Enterprise functionality is now located in models and is calculated with the available data. This makes it more in line with the rest of the Toolkit. This also shows the new progress bars.

image

FinanceToolkit v1.2.2

13 Aug 11:22
Compare
Choose a tag to compare

This release introduces growth metrics. This allows any financial statement, ratio or model to also be viewed as growth metrics. Next to that, with the lag parameter multiple periods can be defined. This is now also updated in the Example files. Lastly, the historical data output now also calculates returns.

For example:

from financetoolkit import Toolkit

API_KEY = "FMP_KEY"

companies = Toolkit(
    ["AAPL", "MSFT", "GOOGL", "AMZN"], api_key=API_KEY, start_date="2000-01-01"
)

companies.get_income_statement(growth=True)

Which returns:

image

And an example for ratios with multiple lags:

from financetoolkit import Toolkit

API_KEY = "FMP_KEY"

companies = Toolkit(
    ["AAPL", "MSFT", "GOOGL", "AMZN"], api_key=API_KEY, start_date="2000-01-01"
)

companies.ratios.collect_all_ratios(growth=True, lag=[1, 2, 3])

Which returns:

image

FinanceToolkit v1.2.1

11 Aug 09:24
Compare
Choose a tag to compare

I've updated much of the docstrings to now include examples. These examples and the code documentation in general is now depicted on: https://www.jeroenbouma.com/projects/financetoolkit

Furthermore, I've introduced dividends within the Historical data. This allow you to see annual and quarterly dividend values for each.

It’s good to note the following: the most recent annual and quarterly numbers might differ from what other websites report because this is based on the dividend that actually has been paid and not what is announced.

These are the annual values:
image

And these are the quarterly values:
image

FinanceToolkit v1.2.0

01 Aug 14:10
971fd42
Compare
Choose a tag to compare

This new release has numerous of improvements:

  • Worked on fixing the date formatting, you will now see the correct dates for Quarters (2020Q2, 2020Q3 etc). This fixed an issue where the reporting dates of companies varied. For some the end of June could be Q3 while for others Q1. Now both will be Q2 so comparison makes more sense. See #45
  • Introduced a Statistics statement that includes CIK Codes, reporting dates and financial statement links.
  • It is now possible to calculate custom ratios based on the normalized financial statements. This makes it much easier to calculate ratios that are currently not included. See #47 by @sword134
  • Overall improvements of the code, a big step forward in optimization and error handling. It won't happen that the functions crash but instead will show an error message and continue.
  • Fix issues with values being 0 (divide by zero).

See below output of both the new date naming for quarters as well as the newly defined ratios.

2022Q3 2022Q4 2023Q1 2023Q2
Current Assets Inventory 1.62953e+11 1.62125e+11 1.5967e+11 1.66557e+11
Net Income / Total Assets 0.0388271 0.037299 0.0407344 0.0479527
Quick Ratio Current 2.46977 2.33947 2.31896 2.14334
Quick Ratio Total 1.55744 1.48575 1.4703 1.43704
WC / Net Income 7.19842 7.00932 6.1877 4.95857

FinanceToolkit v1.1.2

24 Jul 10:22
Compare
Choose a tag to compare

Added in functionality to set a start and end date. For example:

from financetoolkit import Toolkit

companies = Toolkit(['AAPL', 'MSFT'], api_key="FMP_KEY", start_date='2017-12-31')

# an Enterprise example
enterprise = companies.get_enterprise()

# a Historical example
historical_data = companies.get_historical_data()

# a Financial Statement example
balance_sheet_statement = companies.get_balance_sheet_statement()

# a Ratios example
profitability_ratios = companies.ratios.collect_profitability_ratios()

# Show the profitability ratios for Apple
profitability_ratios.loc['AAPL']

This returns the following output for profitability_ratios.loc['AAPL]. Omitting .loc['AAPL'] will return the result for both AAPL and MSFT.

2018 2019 2020 2021 2022
Gross Margin 0.383437 0.378178 0.382332 0.417794 0.433096
Operating Margin 0.26694 0.24572 0.241473 0.297824 0.302887
Net Profit Margin 0.224142 0.212381 0.209136 0.258818 0.253096
Interest Burden Ratio 1.02828 1.02827 1.01211 1.00237 0.997204
Income Before Tax Profit Margin 0.274489 0.252666 0.244398 0.298529 0.30204
Effective Tax Rate 0.183422 0.159438 0.144282 0.133023 0.162045
Return on Assets (ROA) 0.162775 0.16323 0.177256 0.269742 0.282924
Return on Equity (ROE) 0.555601 0.610645 0.878664 1.50071 1.96959
Return on Invested Capital (ROIC) 0.269858 0.293721 0.344126 0.503852 0.562645
Return on Capital Employed (ROCE) 0.305968 0.297739 0.320207 0.495972 0.613937
Return on Tangible Assets 0.555601 0.610645 0.878664 1.50071 1.96959
Income Quality Ratio 1.30073 1.25581 1.4052 1.09884 1.22392
Net Income per EBT 0.816578 0.840562 0.855718 0.866977 0.837955
Free Cash Flow to Operating Cash Flow Ratio 0.828073 0.848756 0.909401 0.893452 0.912338
EBT to EBIT Ratio 0.957448 0.948408 0.958936 0.976353 0.975982
EBIT to Revenue 0.286688 0.26641 0.254864 0.305759 0.309473

FinanceToolkit v1.1.0

20 Jul 09:23
Compare
Choose a tag to compare

This release features numerous enhancements and fixes:

  • Overall robustness fixes to ensure errors are easier to understand. This fixes #38.
  • Ensure that if a ticker has no data, that this is accurately displayed and taken out of the calculation. By default tickers are removed but there is a possibility to stop this behaviour. This fixes #42.
  • Zero Division Errors due to missing data, this was often an issue when data was available for one financial statement but not for the others resulting in zeros. This fixes #39.
  • Add the option to more easily combine DataFrames into the desired format for the Toolkit. Now, with from financetoolkit.base import helpers and then helpers.combine_dataframes it is possible to feed a dictionary with tickers as keys and dataframes as values to create the desired format. This fixes #41.

Full Changelog: https://github.com/JerBouma/FinanceToolkit/commits/v1.1.0