# About
`ibr` is a Python library that calculates fundamental analysis indicators
of Brazilian companies registered at CVM.
The reason for creating this library is that CVM things must belong to
the [cvm][repo-pycvm] library, whereas fundamental analysis indicators,
insofar they are something greater than CVM, should be separated.
Moreover, valuation indicators depend on market data, which is beyond
CVM's responsibility, since CVM is not a stock exchange.
# Usage
## Financial Indicators
The code below opens a DFP/ITR document and shows financial
indicators of companies in that document:
```py
import ibr
for result in ibr.reader('/path/to/dfp_or_itr.zip', (ibr.Indebtedness, ibr.Profitability, ibr.Efficiency)):
indebtedness, profitability, efficiency = result.indicators
print('----------------------------')
print('Company:', result.dfpitr.company_name)
print('\nIndebtedness:')
print(indebtedness)
print('\nEfficiency:')
print(efficiency)
print('\nProfitability:')
print(profitability)
```
## Valuation Indicators
As for valuation indicators, they need market data. Since market data is
not provided in a DFP/ITR file, because this is beyond CVM's scope, such
data must be obtained from the internet or some other source.
For that, the library `ibr` provides a class `YfinanceValuation`, which
is based on the libraries [b3][repo-pybov] and [yfinance][repo-yfinance]:
```py
import ibr
for result in ibr.reader('/path/to/dfp_or_itr.zip', [ibr.YfinanceValuation]):
print('------------------')
print('Company:', result.dfpitr.company_name)
valuations = result.indicators[0]
for valuation in valuations:
print('\nValuation:')
print(valuation)
```
Note that valuation indicators return a list, because it is possible that
a company has more than one security. An example is the company Eletrobrás,
which has three securities on B3: ELET3, ELET5 e ELET6. Since each security
results in different valuation indicators, `valuations` would have 3 objects
for company Eletrobrás.
Another point is that using `YfinanceValuation` is very slow. This is because
the library `yfinance` takes a while to retrieve the shares outstanding of a
company, which is required for calculation.
## Examples
More elaborated examples of usage are in the directory `samples`:
```sh
python -m samples.financial '/path/to/dfp_or_itr.zip'
python -m samples.valuation '/path/to/dfp_or_itr.zip'
```
[repo-pycvm]: <https://github.com/callmegiorgio/pycvm>
[repo-pybov]: <https://github.com/callmegiorgio/pybov>
[repo-yfinance]: <https://pypi.org/project/yfinance/>
Raw data
{
"_id": null,
"home_page": "https://github.com/glourencoffee/pyibr/",
"name": "pyibr",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.7",
"maintainer_email": "",
"keywords": "investment,finances",
"author": "Giovanni Louren\u00e7o",
"author_email": "gvnl.developer@outlook.com",
"download_url": "https://files.pythonhosted.org/packages/1a/56/46393867fe46469df11f3c7d46ea300c0b3bbddb52b1870f24cecd776c02/pyibr-0.1.1.tar.gz",
"platform": null,
"description": "# About\n\n`ibr` is a Python library that calculates fundamental analysis indicators\nof Brazilian companies registered at CVM.\n\nThe reason for creating this library is that CVM things must belong to\nthe [cvm][repo-pycvm] library, whereas fundamental analysis indicators,\ninsofar they are something greater than CVM, should be separated.\n\nMoreover, valuation indicators depend on market data, which is beyond\nCVM's responsibility, since CVM is not a stock exchange.\n\n# Usage\n\n## Financial Indicators\n\nThe code below opens a DFP/ITR document and shows financial\nindicators of companies in that document:\n\n```py\nimport ibr\n\nfor result in ibr.reader('/path/to/dfp_or_itr.zip', (ibr.Indebtedness, ibr.Profitability, ibr.Efficiency)):\n indebtedness, profitability, efficiency = result.indicators\n\n print('----------------------------')\n print('Company:', result.dfpitr.company_name)\n \n print('\\nIndebtedness:')\n print(indebtedness)\n \n print('\\nEfficiency:')\n print(efficiency)\n \n print('\\nProfitability:')\n print(profitability)\n```\n\n## Valuation Indicators\n\nAs for valuation indicators, they need market data. Since market data is\nnot provided in a DFP/ITR file, because this is beyond CVM's scope, such\ndata must be obtained from the internet or some other source.\n\nFor that, the library `ibr` provides a class `YfinanceValuation`, which\nis based on the libraries [b3][repo-pybov] and [yfinance][repo-yfinance]:\n\n```py\nimport ibr\n\nfor result in ibr.reader('/path/to/dfp_or_itr.zip', [ibr.YfinanceValuation]):\n print('------------------')\n print('Company:', result.dfpitr.company_name)\n \n valuations = result.indicators[0]\n\n for valuation in valuations:\n print('\\nValuation:')\n print(valuation)\n```\n\nNote that valuation indicators return a list, because it is possible that\na company has more than one security. An example is the company Eletrobr\u00e1s,\nwhich has three securities on B3: ELET3, ELET5 e ELET6. Since each security\nresults in different valuation indicators, `valuations` would have 3 objects\nfor company Eletrobr\u00e1s.\n\nAnother point is that using `YfinanceValuation` is very slow. This is because\nthe library `yfinance` takes a while to retrieve the shares outstanding of a\ncompany, which is required for calculation.\n\n## Examples\n\nMore elaborated examples of usage are in the directory `samples`:\n\n```sh\npython -m samples.financial '/path/to/dfp_or_itr.zip'\npython -m samples.valuation '/path/to/dfp_or_itr.zip'\n```\n\n [repo-pycvm]: <https://github.com/callmegiorgio/pycvm>\n [repo-pybov]: <https://github.com/callmegiorgio/pybov>\n [repo-yfinance]: <https://pypi.org/project/yfinance/>\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Calculates fundamental analysis indicators of Brazilian companies",
"version": "0.1.1",
"project_urls": {
"Homepage": "https://github.com/glourencoffee/pyibr/"
},
"split_keywords": [
"investment",
"finances"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "971e784c751b16fe67dfe676b867cdaf2cc23d102b951db48f1090ff1381c467",
"md5": "62656b7695f0db884c0a791d75b52469",
"sha256": "f9c36a52554bf3f1c248464ed43000c32533609670752f525f20c50f80400da9"
},
"downloads": -1,
"filename": "pyibr-0.1.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "62656b7695f0db884c0a791d75b52469",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.7",
"size": 8223,
"upload_time": "2023-05-26T16:48:37",
"upload_time_iso_8601": "2023-05-26T16:48:37.975056Z",
"url": "https://files.pythonhosted.org/packages/97/1e/784c751b16fe67dfe676b867cdaf2cc23d102b951db48f1090ff1381c467/pyibr-0.1.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "1a5646393867fe46469df11f3c7d46ea300c0b3bbddb52b1870f24cecd776c02",
"md5": "fbad66b5a6d0a717a3a0957105647e1a",
"sha256": "5fbc92f807ba19849a5f32d5265559cef340304caf4ee4c9ebd0717dcfb6d398"
},
"downloads": -1,
"filename": "pyibr-0.1.1.tar.gz",
"has_sig": false,
"md5_digest": "fbad66b5a6d0a717a3a0957105647e1a",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.7",
"size": 26438,
"upload_time": "2023-05-26T16:48:40",
"upload_time_iso_8601": "2023-05-26T16:48:40.101031Z",
"url": "https://files.pythonhosted.org/packages/1a/56/46393867fe46469df11f3c7d46ea300c0b3bbddb52b1870f24cecd776c02/pyibr-0.1.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-05-26 16:48:40",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "glourencoffee",
"github_project": "pyibr",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"requirements": [
{
"name": "pycvm",
"specs": [
[
">=",
"0.3.2"
]
]
},
{
"name": "pybov",
"specs": [
[
">=",
"0.1.1"
]
]
},
{
"name": "yfinance",
"specs": []
}
],
"lcname": "pyibr"
}