Financetoolkit

Latest version: v1.9.1

Safety actively analyzes 638039 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 6 of 12

1.2.4

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:

<img width="1211" alt="image" src="https://github.com/JerBouma/FinanceToolkit/assets/46355364/6a782c3f-a3f4-4729-a191-78350591f129">

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.

<img width="1213" alt="image" src="https://github.com/JerBouma/FinanceToolkit/assets/46355364/30cd7295-9317-43d0-85c3-00bb4cfc5c4f">

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.

<img width="1120" alt="image" src="https://github.com/JerBouma/FinanceToolkit/assets/46355364/7060421a-bd91-44d8-b10b-501133ffc575">

1.2.2

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:

python
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:

<img width="1100" alt="image" src="https://github.com/JerBouma/FinanceToolkit/assets/46355364/4a832f09-6840-45f6-81f3-b25ce1e8acc8">

And an example for ratios with multiple lags:

python
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:

<img width="1100" alt="image" src="https://github.com/JerBouma/FinanceToolkit/assets/46355364/18521a4f-d905-4563-b707-326a0d0ee9d6">

1.2.1

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](https://github.com/JerBouma/FinanceToolkit/assets/46355364/db13a0aa-995c-4285-9ff5-8635d7437af2)

And these are the quarterly values:
![image](https://github.com/JerBouma/FinanceToolkit/assets/46355364/d118a260-f97e-41cb-95ad-e09145851119)

1.2.0

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 |

1.1.2

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

`python
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 |

1.1.0

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

Page 6 of 12

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.