Usage¶
Main features of financialdatapy are getting the financial statement of a company and its historical stock price data.
Example notebook can be found here
Financial Statements as reported¶
Financial statements as reported of Apple (AAPL)
from financialdatapy.stock import Stock
aapl = Stock('aapl')
default = aapl.financials() # returns income statement of annual report
# Annual report (10-K)
ic_a = aapl.financials('income_statement', period='annual')
bs_a = aapl.financials('balance_sheet', period='annual')
cf_a = aapl.financials('cash_flow', period='annual')
# Quarterly report (10-Q)
ic_q = aapl.financials('income_statement', period='quarter')
bs_q = aapl.financials('balance_sheet', period='quarter')
cf_q = aapl.financials('cash_flow', period='quarter')
# Open latest report in the web
aapl.financials(web=True) # annual report
aapl.financials(period='quarter', web=True) # quarterly report
Financial statements as reported of Samsung Electronics (005930)
Note
API Key from DART is required to get the financial statements as reported of companies listed in Korea Exchange.
from financialdatapy.stock import Stock
samsung = Stock('005930', country_code='kor') # should specify 'country_code' for stock exchange other than USA
default = samsung.financials() # returns income statement of annual report
# Annual report (사업보고서)
ic_a = samsung.financials('income_statement', period='annual')
bs_a = samsung.financials('balance_sheet', period='annual')
cf_a = samsung.financials('cash_flow', period='annual')
# Quarterly report (분기보고서)
ic_q = samsung.financials('income_statement', period='quarter')
bs_q = samsung.financials('balance_sheet', period='quarter')
cf_q = samsung.financials('cash_flow', period='quarter')
# Open latest report in the web
samsung.financials(web=True) # annual report
samsung.financials(period='quarter', web=True) # quarterly report
Standard Financial Statement¶
Standard financial statement of Microsoft (MSFT)
from financialdatapy.stock import Stock
msft = Stock('msft')
default = msft.standard_financials() # returns income statement of annual report
# Annual
std_ic_a = msft.financials('income_statement', period='annual', is_standard=True)
std_bs_a = msft.financials('balance_sheet', period='annual', is_standard=True)
std_cf_a = msft.financials('cash_flow', period='annual', is_standard=True)
# Quarterly
std_ic_q = msft.financials('income_statement', period='quarter', is_standard=True)
std_bs_q = msft.financials('balance_sheet', period='quarter', is_standard=True)
std_cf_q = msft.financials('cash_flow', period='quarter', is_standard=True)
Standard financial statement of Naver (035420)
from financialdatapy.stock import Stock
naver = Stock('035420', country_code='kor') # should specify 'country_code' for stock exchange other than USA
default = naver.standard_financials() # returns income statement of annual report
# Annual
std_ic_a = naver.financials('income_statement', period='annual', is_standard=True)
std_bs_a = naver.financials('balance_sheet', period='annual', is_standard=True)
std_cf_a = naver.financials('cash_flow', period='annual', is_standard=True)
# Quarterly
std_ic_q = naver.financials('income_statement', period='quarter', is_standard=True)
std_bs_q = naver.financials('balance_sheet', period='quarter', is_standard=True)
std_cf_q = naver.financials('cash_flow', period='quarter', is_standard=True)
Historical Stock Data¶
Historical stock price of Snowflake (SNOW)
from financialdatapy.stock import Stock
snowflake = Stock('snow')
default = snowflake.price() # returns historical stock price of past 30 days from now.
price = snowflake.price('2021-1-1', '2021-1-5') # pass date string format as YYYY-MM-DD
Historical stock price of SK Hynix (000660)
from financialdatapy.stock import Stock
sk_hynix = Stock('000660', country_code='kor') # should specify 'country_code' for stock exchange other than USA
default = sk_hynix.price() # returns historical stock price of past 30 days from now.
price = sk_hynix.price('2021-1-1', '2021-1-5') # pass date string format as YYYY-MM-DD
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
Getting CIK of US Companies¶
CIK is defined by SEC as
The Central Index Key (CIK) is used on the SEC’s computer systems to identify corporations and individual people who have filed disclosure with the SEC.
from financialdatapy.stocklist import UsStockList
apple_ticker = 'AAPL'
us_stock_list = UsStockList()
apple_cik = us_stock_list.search_cik(apple_ticker)
Getting Stock Code of KOR Companies¶
A stock code is equivalent to the term ticker, used in Korea Exchange.
from financialdatapy.stocklist import KorStockList
samsung_elec = '삼성전자'
samsung_elec_stock_code = KorStockList.search_stock_code(samsung_elec)