{
"cells": [
{
"attachments": {},
"cell_type": "markdown",
"id": "55822295",
"metadata": {},
"source": [
"![Finance Toolkit](https://github.com/JerBouma/FinanceToolkit/assets/46355364/198d47bd-e1b3-492d-acc4-5d9f02d1d009)\n",
"\n",
"**The FinanceToolkit** is an open-source toolkit in which all relevant financial ratios (100+), indicators and performance measurements are written down in the most simplistic way allowing for complete transparency of the calculation method. This allows you to not have to rely on metrics from other providers and, given a financial statement, allow for efficient manual calculations. This leads to one uniform method of calculation being applied that is available and understood by everyone."
]
},
{
"cell_type": "markdown",
"id": "2937a8f2",
"metadata": {},
"source": [
"# Installation\n",
"To install the FinanceToolkit it simply requires the following:\n",
"\n",
"```\n",
"pip install financetoolkit -U\n",
"```\n",
"\n",
"From within Python use:\n",
"\n",
"```python\n",
"from financetoolkit import Toolkit\n",
"```\n",
" \n",
"To be able to get started, you need to obtain an API Key from FinancialModelingPrep. This is used to gain access to 30+ years of financial statement both annually and quarterly. Note that the Free plan is limited to 250 requests each day, 5 years of data and only features companies listed on US exchanges.\n",
"\n",
"___ \n",
"\n",
"
\n", " | A5M | \n", "Australia | \n", "Austria | \n", "Belgium | \n", "Brazil | \n", "Chile | \n", "China | \n", "Colombia | \n", "Costa Rica | \n", "Czech Republic | \n", "... | \n", "Slovakia | \n", "Slovenia | \n", "South Africa | \n", "South Korea | \n", "Spain | \n", "Sweden | \n", "Switzerland | \n", "Turkey | \n", "United Kingdom | \n", "United States | \n", "
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
2015-01 | \n", "99.9069 | \n", "99.4035 | \n", "99.5728 | \n", "100.2037 | \n", "98.9693 | \n", "100.7247 | \n", "99.2430 | \n", "101.7736 | \n", "99.9042 | \n", "102.0716 | \n", "... | \n", "101.7614 | \n", "100.4395 | \n", "100.1280 | \n", "100.3108 | \n", "101.0099 | \n", "100.0964 | \n", "100.3682 | \n", "100.5026 | \n", "101.9486 | \n", "101.1545 | \n", "
2015-02 | \n", "100.3544 | \n", "99.6770 | \n", "99.5821 | \n", "100.5416 | \n", "98.4184 | \n", "100.4826 | \n", "99.5538 | \n", "101.0862 | \n", "99.8915 | \n", "101.9239 | \n", "... | \n", "101.9955 | \n", "100.6631 | \n", "99.9006 | \n", "100.3609 | \n", "101.5843 | \n", "100.1213 | \n", "100.3988 | \n", "100.2183 | \n", "102.2155 | \n", "101.1571 | \n", "
2015-03 | \n", "100.6180 | \n", "99.7776 | \n", "99.7218 | \n", "100.7137 | \n", "98.1051 | \n", "99.8292 | \n", "99.6062 | \n", "100.5230 | \n", "99.8419 | \n", "101.9677 | \n", "... | \n", "102.1121 | \n", "101.0000 | \n", "99.5509 | \n", "100.4005 | \n", "102.0184 | \n", "100.1768 | \n", "100.5459 | \n", "99.9413 | \n", "102.4027 | \n", "101.0608 | \n", "
2015-04 | \n", "100.7268 | \n", "99.7613 | \n", "99.8351 | \n", "100.8188 | \n", "98.0114 | \n", "99.1378 | \n", "99.6178 | \n", "100.5682 | \n", "99.6859 | \n", "102.0907 | \n", "... | \n", "102.0548 | \n", "101.4116 | \n", "99.0745 | \n", "100.4670 | \n", "102.1910 | \n", "100.2013 | \n", "100.7093 | \n", "99.8651 | \n", "102.3960 | \n", "101.0062 | \n", "
2015-05 | \n", "100.6796 | \n", "99.7306 | \n", "99.8178 | \n", "100.8799 | \n", "97.9134 | \n", "98.6489 | \n", "99.5286 | \n", "100.7959 | \n", "99.3073 | \n", "102.1982 | \n", "... | \n", "101.9069 | \n", "101.6278 | \n", "98.6212 | \n", "100.3898 | \n", "102.0865 | \n", "100.2551 | \n", "100.7530 | \n", "99.8793 | \n", "102.2672 | \n", "100.9260 | \n", "
... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "
2024-04 | \n", "97.3675 | \n", "98.0656 | \n", "98.7699 | \n", "99.7894 | \n", "100.7182 | \n", "96.9378 | \n", "94.0522 | \n", "97.5212 | \n", "102.0232 | \n", "100.2295 | \n", "... | \n", "101.2322 | \n", "98.5529 | \n", "98.1546 | \n", "99.9530 | \n", "99.3896 | \n", "99.3756 | \n", "96.6885 | \n", "97.6054 | \n", "99.1257 | \n", "98.8058 | \n", "
2024-05 | \n", "97.1659 | \n", "98.0426 | \n", "98.8480 | \n", "99.9111 | \n", "100.6574 | \n", "96.8854 | \n", "93.7667 | \n", "97.4475 | \n", "101.4923 | \n", "100.3474 | \n", "... | \n", "101.4337 | \n", "98.8211 | \n", "98.3088 | \n", "99.9166 | \n", "99.5472 | \n", "99.7972 | \n", "96.9121 | \n", "97.4463 | \n", "99.5466 | \n", "98.3388 | \n", "
2024-06 | \n", "97.0254 | \n", "98.0907 | \n", "98.9278 | \n", "100.0943 | \n", "100.7319 | \n", "96.9271 | \n", "93.5654 | \n", "97.5653 | \n", "NaN | \n", "100.2980 | \n", "... | \n", "101.5624 | \n", "99.0805 | \n", "98.4659 | \n", "100.0310 | \n", "99.6151 | \n", "100.0921 | \n", "97.1891 | \n", "97.0393 | \n", "99.9870 | \n", "98.0036 | \n", "
2024-07 | \n", "96.9198 | \n", "98.1492 | \n", "98.9477 | \n", "100.1920 | \n", "100.8917 | \n", "96.7050 | \n", "93.4216 | \n", "97.8347 | \n", "NaN | \n", "100.1191 | \n", "... | \n", "101.5873 | \n", "99.2105 | \n", "NaN | \n", "100.1550 | \n", "99.5869 | \n", "100.2558 | \n", "97.5011 | \n", "96.5904 | \n", "100.4009 | \n", "97.8282 | \n", "
2024-08 | \n", "NaN | \n", "98.2503 | \n", "99.0323 | \n", "100.3270 | \n", "101.0453 | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "99.9795 | \n", "... | \n", "101.5408 | \n", "99.3303 | \n", "NaN | \n", "100.1475 | \n", "99.4364 | \n", "100.4116 | \n", "97.8254 | \n", "96.2822 | \n", "100.7519 | \n", "97.7806 | \n", "
116 rows × 49 columns
\n", "\n", " | Australia | \n", "Austria | \n", "Belgium | \n", "Brazil | \n", "Bulgaria | \n", "Canada | \n", "Chile | \n", "China | \n", "Colombia | \n", "Croatia | \n", "... | \n", "Slovakia | \n", "Slovenia | \n", "South Africa | \n", "South Korea | \n", "Spain | \n", "Sweden | \n", "Switzerland | \n", "Turkey | \n", "United Kingdom | \n", "United States | \n", "
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
2015 | \n", "100.0000 | \n", "100.0000 | \n", "100.0000 | \n", "100.0000 | \n", "100.0000 | \n", "100.0000 | \n", "100.0000 | \n", "100.0000 | \n", "100.0000 | \n", "100.0000 | \n", "... | \n", "100.0000 | \n", "100.0000 | \n", "100.0000 | \n", "100.0000 | \n", "100.0000 | \n", "100.0000 | \n", "100.0000 | \n", "100.0000 | \n", "100.0000 | \n", "100.0000 | \n", "
2016 | \n", "104.8446 | \n", "105.1797 | \n", "100.7965 | \n", "92.3242 | \n", "105.2426 | \n", "109.0845 | \n", "102.8239 | \n", "109.8776 | \n", "103.0774 | \n", "102.0184 | \n", "... | \n", "106.9119 | \n", "103.6306 | \n", "99.3950 | \n", "100.2929 | \n", "104.4502 | \n", "107.2807 | \n", "101.8145 | \n", "106.7692 | \n", "105.6583 | \n", "104.5145 | \n", "
2017 | \n", "112.1958 | \n", "108.6338 | \n", "102.3988 | \n", "90.0256 | \n", "109.3574 | \n", "120.4339 | \n", "108.5273 | \n", "122.4895 | \n", "106.1411 | \n", "105.0047 | \n", "... | \n", "111.7375 | \n", "110.4827 | \n", "99.1725 | \n", "99.5477 | \n", "109.2462 | \n", "112.4682 | \n", "102.9525 | \n", "105.8945 | \n", "108.4799 | \n", "109.0228 | \n", "
2018 | \n", "108.7818 | \n", "112.8524 | \n", "103.4203 | \n", "87.2313 | \n", "113.7827 | \n", "122.8673 | \n", "117.3976 | \n", "127.0654 | \n", "108.3883 | \n", "109.8439 | \n", "... | \n", "117.3166 | \n", "117.8075 | \n", "99.0382 | \n", "99.5207 | \n", "114.9443 | \n", "108.7094 | \n", "104.7800 | \n", "99.8783 | \n", "109.7420 | \n", "113.3595 | \n", "
2019 | \n", "102.4878 | \n", "117.5655 | \n", "105.7993 | \n", "84.8474 | \n", "118.2791 | \n", "122.6793 | \n", "125.0414 | \n", "128.3162 | \n", "109.9562 | \n", "118.3661 | \n", "... | \n", "124.6078 | \n", "124.0660 | \n", "98.8170 | \n", "98.5304 | \n", "119.6313 | \n", "109.1689 | \n", "108.8915 | \n", "91.2173 | \n", "109.1387 | \n", "117.3719 | \n", "
2020 | \n", "106.6616 | \n", "124.9628 | \n", "109.3991 | \n", "81.8410 | \n", "124.7011 | \n", "129.7021 | \n", "126.6900 | \n", "129.7462 | \n", "110.2729 | \n", "126.7650 | \n", "... | \n", "133.4759 | \n", "130.3701 | \n", "98.3639 | \n", "100.8826 | \n", "122.2324 | \n", "112.7499 | \n", "114.0683 | \n", "99.0582 | \n", "111.5703 | \n", "125.2234 | \n", "
2021 | \n", "122.7863 | \n", "136.4052 | \n", "113.9057 | \n", "73.8956 | \n", "127.5348 | \n", "144.6103 | \n", "135.6571 | \n", "133.5644 | \n", "109.3527 | \n", "132.9443 | \n", "... | \n", "137.6935 | \n", "140.9038 | \n", "98.5217 | \n", "107.0372 | \n", "123.8953 | \n", "121.4920 | \n", "121.6597 | \n", "112.3221 | \n", "118.0359 | \n", "140.1543 | \n", "
2022 | \n", "124.4794 | \n", "141.8097 | \n", "109.4797 | \n", "67.4327 | \n", "125.3224 | \n", "152.5612 | \n", "130.4363 | \n", "132.2332 | \n", "103.7005 | \n", "137.2105 | \n", "... | \n", "139.6026 | \n", "147.0210 | \n", "95.2591 | \n", "104.6816 | \n", "124.8736 | \n", "118.0426 | \n", "127.6582 | \n", "155.4028 | \n", "119.7156 | \n", "149.7066 | \n", "
2023 | \n", "118.9331 | \n", "127.4048 | \n", "106.2251 | \n", "64.8087 | \n", "128.3018 | \n", "144.0986 | \n", "131.4020 | \n", "131.7186 | \n", "102.5343 | \n", "142.2987 | \n", "... | \n", "126.3703 | \n", "146.8555 | \n", "91.0271 | \n", "94.1689 | \n", "124.6446 | \n", "104.9650 | \n", "127.2650 | \n", "194.6252 | \n", "112.4491 | \n", "151.4623 | \n", "
9 rows × 50 columns
\n", "\n", " | Australia | \n", "Austria | \n", "Belgium | \n", "Bulgaria | \n", "Canada | \n", "Chile | \n", "Colombia | \n", "Costa Rica | \n", "Croatia | \n", "Czech Republic | \n", "... | \n", "Portugal | \n", "Slovakia | \n", "Slovenia | \n", "South Korea | \n", "Spain | \n", "Sweden | \n", "Switzerland | \n", "Turkey | \n", "United Kingdom | \n", "United States | \n", "
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1955Q1 | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "0.048000 | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "... | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "0.047333 | \n", "
1955Q2 | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "0.044333 | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "... | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "0.044000 | \n", "
1955Q3 | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "0.040667 | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "... | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "0.041000 | \n", "
1955Q4 | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "0.038333 | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "... | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "0.042333 | \n", "
1956Q1 | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "0.037000 | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "... | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "0.040333 | \n", "
... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "
2023Q2 | \n", "0.036150 | \n", "0.050000 | \n", "0.056333 | \n", "0.044000 | \n", "0.052667 | \n", "0.083022 | \n", "0.099753 | \n", "0.095574 | \n", "0.061333 | \n", "0.026000 | \n", "... | \n", "0.064333 | \n", "0.058333 | \n", "0.037000 | \n", "0.026000 | \n", "0.120000 | \n", "0.074667 | \n", "0.039052 | \n", "0.097000 | \n", "0.042 | \n", "0.035667 | \n", "
2023Q3 | \n", "0.036631 | \n", "0.054333 | \n", "0.053667 | \n", "0.045333 | \n", "0.055333 | \n", "0.086772 | \n", "0.096295 | \n", "0.081069 | \n", "0.060667 | \n", "0.027000 | \n", "... | \n", "0.062667 | \n", "0.058667 | \n", "0.037667 | \n", "0.026333 | \n", "0.120000 | \n", "0.078000 | \n", "0.041078 | \n", "0.091333 | \n", "0.041 | \n", "0.037000 | \n", "
2023Q4 | \n", "0.038831 | \n", "0.051667 | \n", "0.055333 | \n", "0.044333 | \n", "0.057667 | \n", "0.090260 | \n", "0.104768 | \n", "0.072802 | \n", "0.057000 | \n", "0.027333 | \n", "... | \n", "0.065333 | \n", "0.055333 | \n", "0.035000 | \n", "0.028333 | \n", "0.119000 | \n", "0.080000 | \n", "0.040571 | \n", "0.087667 | \n", "0.038 | \n", "0.037333 | \n", "
2024Q1 | \n", "0.038960 | \n", "0.049000 | \n", "0.057000 | \n", "0.045333 | \n", "0.058667 | \n", "0.085982 | \n", "0.107621 | \n", "0.078269 | \n", "0.053000 | \n", "0.028667 | \n", "... | \n", "0.065667 | \n", "0.055333 | \n", "0.033333 | \n", "0.028000 | \n", "0.118000 | \n", "0.083000 | \n", "0.040504 | \n", "0.088000 | \n", "0.043 | \n", "0.038000 | \n", "
2024Q2 | \n", "0.040628 | \n", "0.051000 | \n", "0.055667 | \n", "0.040667 | \n", "0.062333 | \n", "0.081366 | \n", "0.102048 | \n", "0.085235 | \n", "0.050667 | \n", "0.027333 | \n", "... | \n", "0.064000 | \n", "0.053667 | \n", "0.035000 | \n", "0.028000 | \n", "0.115667 | \n", "0.083000 | \n", "NaN | \n", "0.088000 | \n", "0.042 | \n", "0.040000 | \n", "
278 rows × 44 columns
\n", "