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.standard_financials('income_statement', 'annual')
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
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
Built Distribution
Hashes for financialdatapy-1.2.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d1a3399cf295ff0708f551d8924f32d5093000d2855b7406cc5004b0a398be87 |
|
MD5 | a80dc926593b82db4c5f591e6b9d06ae |
|
BLAKE2b-256 | fe55664b29201e28073597674d43f7c57d383390bb79556e2660c21e6006a1e1 |