Skip to main content

Extract financial data of a company.

Project description

financialdatapy

financialdatapy is a package for getting a fundamental financial data of a company. Currently it supports financial data of companies listed in United States (NASDAQ, NYSE) and South Korea (KOSPI, KOSDAQ).

User can see the company's latest financial statement reported, standard financials, and historical stock price. financialdatapy will be a good choice for research purposes, and managing an investment portfolio.

Installation

To use financialdatapy, first install it using pip:

❗Python version above 3.10 is required to use financialdatapy .

pip install financialdatapy

Quick Start

financialdatapy supports three major financial statements of a company. Income statement, balance sheet, and cash flow. Also the user can select between annual and quarter financial statements.

API Key

❗When getting financial statements of a company listed in Korea stock exchange, API Key from DART should be provided in the system to successfully retrieve its data.

After receiving API key, store it on a .env file in the root directory of your project.

Inside .env file.

DART_API_KEY=xxxxxxxxxxxxxxxx

Initialization

from financialdatapy.stock import Stock

# Apple
us_comp = Stock('aapl')
# Samsung Electronics
kor_comp = Stock('005930', country_code='kor')  # should specify 'country_code' for stock exchange other than US

Values passed for financial statements and periods should follow the format below. If no argument is passed, it automatically retrieves income statement from annual report.

income_statement = us_comp.financials('income_statement')
balance_sheet = us_comp.financials('balance_sheet')
cash_flow = us_comp.financials('cash_flow')

# Annual Report
income_statement = kor_comp.financials('income_statement', 'annual')
# Quarterly Report
income_statement = kor_comp.financials('income_statement', 'quarter')

Financial Statement as reported

Financial statements reported by the company to a financial regulator. The elements in the financial statements are different from others, depending on the comapany and stock exchange.

United States Stock Exchange

us_comp = Stock('aapl')
ic_as_reported = us_comp.financials('income_statement', 'annual')

Korea Stock Exchange

kor_comp = Stock('005930', country_code='kor')
ic_as_reported = kor_comp.financials('income_statement', 'annual')

To see the full financial report from a browser, pass True in web. Supports both US exchange and KOR exchange.

us_comp.financials(web=True)
kor_comp.financials(web=True)

Standard Financial Statement

Summarized financial statements of a company.

us_comp = Stock('msft')
std_ic = us_comp.financials('income_statement', 'annual', is_standard=True)

Historical Stock Data

Historical stock price of the company.

us_comp = Stock('aapl')
price = us_comp.price('2021-1-1', '2021-1-5')

All of the above will return in pandas.DataFrame.

❗️Note

Data source of stock price data differ from US stock exchange to KOR stock exchange.

Exchange Source
USA finance.yahoo.com
KOR investing.com

List of Companies in Stock Exchange

United States Stock Exchange

from financialdatapy.stocklist import UsStockList

us_stock_list = UsStockList()
us_stock_list = us_stock_list.stock_list

Korea Stock Exchange

Api key is required to get the stock list of companies in Korea stock exchange. See more about the api key in the API Key section above.

from financialdatapy.stocklist import KorStockList

kor_stock_list = KorStockList()
kor_stock_list = kor_stock_list.stock_list

Contribute

It will be a great help if you contribute to the package. You can open issues here

Code style

The project basically follows PEP-8 , Google Python Style Guide.

Git commit messages

Conventional Commits

The project basically follows Conventional Commits. Click on the badge to see the details.

<type>[optional scope]: <description>

[optional body]

[optional footer(s)]

Documentation

See the full documentation here.

The documentation is built with Sphinx and deployed with Read the Docs.

License

Licensed under the MIT License

Credits

Data used in the package are from SEC EDGAR , finance.yahoo.com, investing.com.

Disclaimer

financialdatapy is not meant to be used in any kind of trading. The data might not be accurate, and timely. financialdatapy is aimed for people who use stock data in their portfolio management and researchers who need stock market data in their research. So if you are willing to use data for trading, there are lot more better options.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

financialdatapy-1.2.2.tar.gz (18.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

financialdatapy-1.2.2-py3-none-any.whl (20.7 kB view details)

Uploaded Python 3

File details

Details for the file financialdatapy-1.2.2.tar.gz.

File metadata

  • Download URL: financialdatapy-1.2.2.tar.gz
  • Upload date:
  • Size: 18.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.62.3 importlib-metadata/4.11.0 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.10.2

File hashes

Hashes for financialdatapy-1.2.2.tar.gz
Algorithm Hash digest
SHA256 e060d0f6b16249a6d1d225477d20d46f58fa90e2d896035b4f1780ab02837829
MD5 3a3b2060b2e5001412d02b96f348774f
BLAKE2b-256 f8ecf0e8eeb467550f680055540fa6ec656ed687fd4e02cce7ef3e86aaa37657

See more details on using hashes here.

File details

Details for the file financialdatapy-1.2.2-py3-none-any.whl.

File metadata

  • Download URL: financialdatapy-1.2.2-py3-none-any.whl
  • Upload date:
  • Size: 20.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.62.3 importlib-metadata/4.11.0 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.10.2

File hashes

Hashes for financialdatapy-1.2.2-py3-none-any.whl
Algorithm Hash digest
SHA256 62cfa1aa55e02e747ccd16abfb180c1d63419a3fd5066317c34d8e8446bfbca9
MD5 b4940628f2263aaccb3e3855cfe61bca
BLAKE2b-256 8b437b27421734cd3e50147402970c6ad315b6c1b07db3842294700356674f58

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page