Manipulating Statements

Note: The formatting of the statements is off in the web view. Download the Jupyter notebook for the full experience.

First import the necessary classes and pandas.

import os
os.chdir('..')
from finstmt import FinancialStatements, IncomeStatements, BalanceSheets
import pandas as pd

Load Financial Statements

root_folder = os.path.sep.join(['..', 'tests', 'sources', 'stockrow', 'CAT'])

inc_path = os.path.join(root_folder, 'annual_income.csv')
bs_path = os.path.join(root_folder, 'annual_bs.csv')

inc_df = pd.read_csv(inc_path, index_col=0)
bs_df = pd.read_csv(bs_path, index_col=0)

bs = BalanceSheets.from_df(bs_df)
inc = IncomeStatements.from_df(inc_df)
stmts = FinancialStatements(inc, bs)
INFO: Was not able to extract data from the following names: {'Other Liabilities', 'Net Debt', 'Other Assets', 'Investments'}
/home/runner/work/py-finstmt/py-finstmt/finstmt/findata/period_data.py:116: UserWarning: Previously had ebit extracted from "Operating Income". Replacing with value from "EBIT"
  warnings.warn(
/home/runner/work/py-finstmt/py-finstmt/finstmt/findata/period_data.py:116: UserWarning: Previously had ebit extracted from "Operating Income". Replacing with value from "EBIT"
  warnings.warn(
/home/runner/work/py-finstmt/py-finstmt/finstmt/findata/period_data.py:116: UserWarning: Previously had ebit extracted from "Operating Income". Replacing with value from "EBIT"
  warnings.warn(
/home/runner/work/py-finstmt/py-finstmt/finstmt/findata/period_data.py:116: UserWarning: Previously had ebit extracted from "Operating Income". Replacing with value from "EBIT"
  warnings.warn(
/home/runner/work/py-finstmt/py-finstmt/finstmt/findata/period_data.py:116: UserWarning: Previously had ebit extracted from "Operating Income". Replacing with value from "EBIT"
  warnings.warn(
/home/runner/work/py-finstmt/py-finstmt/finstmt/findata/period_data.py:116: UserWarning: Previously had ebit extracted from "Operating Income". Replacing with value from "EBIT"
  warnings.warn(
/home/runner/work/py-finstmt/py-finstmt/finstmt/findata/period_data.py:116: UserWarning: Previously had ebit extracted from "Operating Income". Replacing with value from "EBIT"
  warnings.warn(
/home/runner/work/py-finstmt/py-finstmt/finstmt/findata/period_data.py:116: UserWarning: Previously had ebit extracted from "Operating Income". Replacing with value from "EBIT"
  warnings.warn(
/home/runner/work/py-finstmt/py-finstmt/finstmt/findata/period_data.py:116: UserWarning: Previously had ebit extracted from "Operating Income". Replacing with value from "EBIT"
  warnings.warn(
/home/runner/work/py-finstmt/py-finstmt/finstmt/findata/period_data.py:116: UserWarning: Previously had ebit extracted from "Operating Income". Replacing with value from "EBIT"
  warnings.warn(
INFO: Was not able to extract data from the following names: {'EPS Diluted', 'Profit Margin', 'EBITDA', 'Net Income Com', 'Net Income - Discontinued ops', 'EBITDA Margin', 'Shares (weighted)', 'EBIT Margin', 'Shares (weighted, diluted)', 'Net Profit Margin', 'Revenue Growth', 'Shares (basic)', 'Consolidated Income', 'EPS', 'Gross Profit', 'Gross Margin', 'Preferred Dividends', 'Net Income - Non-Controlling int', 'Dividend per Share', 'Free Cash Flow margin', 'Earnings Before Tax Margin'}

View Statements

stmts

Income Statement

12/31/2009 12/31/2010 12/31/2011 12/31/2012 12/31/2013 12/31/2014 12/31/2015 12/31/2016 12/31/2017 12/31/2018
Revenue $32,396,000,000 $42,588,000,000 $60,138,000,000 $65,875,000,000 $55,656,000,000 $55,184,000,000 $47,011,000,000 $38,537,000,000 $45,462,000,000 $54,722,000,000
Cost of Goods Sold $24,931,000,000 $31,281,000,000 $44,404,000,000 $47,852,000,000 $41,454,000,000 $41,342,000,000 $34,133,000,000 $28,640,000,000 $31,906,000,000 $37,719,000,000
Gross Profit $7,465,000,000 $11,307,000,000 $15,734,000,000 $18,023,000,000 $14,202,000,000 $13,842,000,000 $12,878,000,000 $9,897,000,000 $13,556,000,000 $17,003,000,000
SG&A Expense $3,645,000,000 $4,248,000,000 $5,203,000,000 $5,919,000,000 $5,547,000,000 $6,529,000,000 $4,951,000,000 $4,383,000,000 $4,999,000,000 $5,478,000,000
Interest Expense $389,000,000 $343,000,000 $396,000,000 $467,000,000 $465,000,000 $484,000,000 $507,000,000 $505,000,000 $531,000,000 $404,000,000
Income Tax Expense $-270,000,000 $968,000,000 $1,720,000,000 $2,528,000,000 $1,319,000,000 $692,000,000 $916,000,000 $192,000,000 $3,339,000,000 $1,698,000,000
R&D Expense $1,421,000,000 $1,905,000,000 $2,297,000,000 $2,466,000,000 $2,046,000,000 $2,380,000,000 $2,119,000,000 $1,853,000,000 $1,842,000,000 $1,850,000,000
Depreciation & Amortization Expense - - - - - - - - - -
Other Operating Expenses - - - - - - - - - -
Gain on Sale of Investments - - - - - - - - - -
Gain on Sale of Assets - - - - - - - - - -
Impairment Expense - - - - - - - - - -
Operating Expense $6,888,000,000 $7,344,000,000 $8,581,000,000 $9,450,000,000 $8,574,000,000 $10,528,000,000 $9,093,000,000 $8,735,000,000 $9,096,000,000 $8,710,000,000
Earnings Before Interest and Taxes $1,014,000,000 $4,011,000,000 $7,044,000,000 $8,676,000,000 $5,573,000,000 $3,628,000,000 $3,935,000,000 $630,000,000 $4,624,000,000 $8,249,000,000
Earnings Before Tax $625,000,000 $3,668,000,000 $6,648,000,000 $8,209,000,000 $5,108,000,000 $3,144,000,000 $3,428,000,000 $125,000,000 $4,093,000,000 $7,845,000,000
Net Income $895,000,000 $2,700,000,000 $4,928,000,000 $5,681,000,000 $3,789,000,000 $2,452,000,000 $2,512,000,000 $-67,000,000 $754,000,000 $6,147,000,000

Balance Sheet

12/31/2009 12/31/2010 12/31/2011 12/31/2012 12/31/2013 12/31/2014 12/31/2015 12/31/2016 12/31/2017 12/31/2018
Cash and Cash Equivalents $4,867,000,000 $3,592,000,000 $3,057,000,000 $5,490,000,000 $6,081,000,000 $7,341,000,000 $6,460,000,000 $7,168,000,000 $8,261,000,000 $7,857,000,000
Short-Term Investments - - - - - - - - - -
Cash and Short-Term Investments $4,867,000,000 $3,592,000,000 $3,057,000,000 $5,490,000,000 $6,081,000,000 $7,341,000,000 $6,460,000,000 $7,168,000,000 $8,261,000,000 $7,857,000,000
Receivables $27,162,000,000 $28,849,000,000 $30,803,000,000 $33,911,000,000 $33,499,000,000 $32,772,000,000 $30,507,000,000 $29,088,000,000 $30,725,000,000 $31,899,000,000
Inventory $6,360,000,000 $9,587,000,000 $14,544,000,000 $15,547,000,000 $12,625,000,000 $12,205,000,000 $9,700,000,000 $8,614,000,000 $10,018,000,000 $11,529,000,000
Deferred Tax Assets, Current - - - - - - - - - -
Other Current Assets - - - - - - - - - -
Total Current Assets $27,217,000,000 $31,810,000,000 $37,900,000,000 $42,138,000,000 $38,335,000,000 $38,867,000,000 $33,508,000,000 $31,967,000,000 $36,244,000,000 $38,603,000,000
Gross Property, Plant & Equipment - - - - - - - - - -
Accumulated Depreciation - - - - - - - - - -
Net Property, Plant & Equipment $12,386,000,000 $12,539,000,000 $14,395,000,000 $16,461,000,000 $17,075,000,000 $16,577,000,000 $16,090,000,000 $15,322,000,000 $14,155,000,000 $13,574,000,000
Goodwill and Intangible Assets $2,734,000,000 $3,419,000,000 $11,448,000,000 $10,958,000,000 $10,552,000,000 $9,770,000,000 $9,436,000,000 $8,369,000,000 $8,311,000,000 $8,114,000,000
Long-Term Investments $105,000,000 $164,000,000 $133,000,000 $272,000,000 $272,000,000 $257,000,000 - - - -
Deferred Tax Assets, Long-Term $3,930,000,000 $3,424,000,000 $3,737,000,000 $3,558,000,000 $2,147,000,000 $3,143,000,000 $2,489,000,000 $2,790,000,000 $1,693,000,000 $1,439,000,000
Other Long-Term Assets - - - - - - - - - -
Total Non-Current Assets $32,821,000,000 $32,210,000,000 $43,318,000,000 $46,832,000,000 $46,561,000,000 $45,814,000,000 $44,834,000,000 $42,737,000,000 $40,718,000,000 $39,906,000,000
Total Assets $60,038,000,000 $64,020,000,000 $81,218,000,000 $88,970,000,000 $84,896,000,000 $84,681,000,000 $78,342,000,000 $74,704,000,000 $76,962,000,000 $78,509,000,000
Payables $2,993,000,000 $5,856,000,000 $8,161,000,000 $6,753,000,000 $6,560,000,000 $6,515,000,000 $5,023,000,000 $4,614,000,000 $6,487,000,000 $7,051,000,000
Short-Term Debt $9,784,000,000 $7,981,000,000 $9,648,000,000 $12,391,000,000 $11,031,000,000 $11,501,000,000 $12,844,000,000 $13,965,000,000 $11,031,000,000 $11,553,000,000
Current Portion of Long-Term Debt - - - - - - - - - -
Tax Liabilities, Short-Term - - - - - - - - - -
Other Current Liabilities - - - - - - - - - -
Total Current Liabilities $18,975,000,000 $22,020,000,000 $28,357,000,000 $29,415,000,000 $27,297,000,000 $27,877,000,000 $26,242,000,000 $26,132,000,000 $26,931,000,000 $28,218,000,000
Long-Term Debt $21,847,000,000 $20,437,000,000 $24,944,000,000 $27,752,000,000 $26,719,000,000 $27,784,000,000 $25,169,000,000 $22,818,000,000 $23,847,000,000 $25,000,000,000
Total Debt $31,631,000,000 $28,418,000,000 $34,592,000,000 $40,143,000,000 $37,750,000,000 $39,285,000,000 $38,013,000,000 $36,783,000,000 $34,878,000,000 $36,553,000,000
Deferred Revenue - - - - - - - - - -
Tax Liabilities, Long-Term - - - - - - - - - -
Deposit Liabilities $1,217,000,000 $1,831,000,000 $2,487,000,000 $2,638,000,000 $2,360,000,000 $1,697,000,000 $1,146,000,000 $1,167,000,000 $1,426,000,000 $1,243,000,000
Other Long-Term Liabilities - - - - - - - - - -
Total Non-Current Liabilities $31,763,000,000 $30,675,000,000 $39,459,000,000 $41,973,000,000 $36,721,000,000 $39,978,000,000 $37,215,000,000 $35,359,000,000 $36,265,000,000 $36,211,000,000
Total Liabilities $50,738,000,000 $52,695,000,000 $67,816,000,000 $71,388,000,000 $64,018,000,000 $67,855,000,000 $63,457,000,000 $61,491,000,000 $63,196,000,000 $64,429,000,000
Common Stock - - - - - - - - - -
Other Comprehensive Income $-3,764,000,000 $-4,051,000,000 $-6,328,000,000 $-6,433,000,000 $-3,898,000,000 $-6,431,000,000 $-2,035,000,000 $-2,039,000,000 $-1,192,000,000 $-1,684,000,000
Retained Earnings $19,711,000,000 $21,384,000,000 $25,219,000,000 $29,558,000,000 $31,854,000,000 $33,887,000,000 $29,246,000,000 $27,377,000,000 $26,301,000,000 $30,427,000,000
Minority Interest - - - - - - - - - -
Total Stockholder's Equity $8,740,000,000 $10,824,000,000 $12,883,000,000 $17,532,000,000 $20,811,000,000 $16,746,000,000 $14,809,000,000 $13,213,000,000 $13,766,000,000 $14,080,000,000
Total Liabilities and Equity $59,478,000,000 $63,519,000,000 $80,699,000,000 $88,920,000,000 $84,829,000,000 $84,601,000,000 $78,266,000,000 $74,704,000,000 $76,962,000,000 $78,509,000,000
Net Working Capital $30,529,000,000 $32,580,000,000 $37,186,000,000 $42,705,000,000 $39,564,000,000 $38,462,000,000 $35,184,000,000 $33,088,000,000 $34,256,000,000 $36,377,000,000


Select Statement Periods

Statements periods can be selected by indexing the statements object with them.

stmts['12-31-2018']  # one period

Income Statement

12/31/2018
Revenue $54,722,000,000
Cost of Goods Sold $37,719,000,000
Gross Profit $17,003,000,000
SG&A Expense $5,478,000,000
Interest Expense $404,000,000
Income Tax Expense $1,698,000,000
R&D Expense $1,850,000,000
Depreciation & Amortization Expense -
Other Operating Expenses -
Gain on Sale of Investments -
Gain on Sale of Assets -
Impairment Expense -
Operating Expense $8,710,000,000
Earnings Before Interest and Taxes $8,249,000,000
Earnings Before Tax $7,845,000,000
Net Income $6,147,000,000

Balance Sheet

12/31/2018
Cash and Cash Equivalents $7,857,000,000
Short-Term Investments -
Cash and Short-Term Investments $7,857,000,000
Receivables $31,899,000,000
Inventory $11,529,000,000
Deferred Tax Assets, Current -
Other Current Assets -
Total Current Assets $38,603,000,000
Gross Property, Plant & Equipment -
Accumulated Depreciation -
Net Property, Plant & Equipment $13,574,000,000
Goodwill and Intangible Assets $8,114,000,000
Long-Term Investments -
Deferred Tax Assets, Long-Term $1,439,000,000
Other Long-Term Assets -
Total Non-Current Assets $39,906,000,000
Total Assets $78,509,000,000
Payables $7,051,000,000
Short-Term Debt $11,553,000,000
Current Portion of Long-Term Debt -
Tax Liabilities, Short-Term -
Other Current Liabilities -
Total Current Liabilities $28,218,000,000
Long-Term Debt $25,000,000,000
Total Debt $36,553,000,000
Deferred Revenue -
Tax Liabilities, Long-Term -
Deposit Liabilities $1,243,000,000
Other Long-Term Liabilities -
Total Non-Current Liabilities $36,211,000,000
Total Liabilities $64,429,000,000
Common Stock -
Other Comprehensive Income $-1,684,000,000
Retained Earnings $30,427,000,000
Minority Interest -
Total Stockholder's Equity $14,080,000,000
Total Liabilities and Equity $78,509,000,000
Net Working Capital $36,377,000,000


Now select multiple periods. Notice how the date format doesn’t matter.

stmts[['12/31/2015', '12-31-2018']]

Income Statement

12/31/2015 12/31/2018
Revenue $47,011,000,000 $54,722,000,000
Cost of Goods Sold $34,133,000,000 $37,719,000,000
Gross Profit $12,878,000,000 $17,003,000,000
SG&A Expense $4,951,000,000 $5,478,000,000
Interest Expense $507,000,000 $404,000,000
Income Tax Expense $916,000,000 $1,698,000,000
R&D Expense $2,119,000,000 $1,850,000,000
Depreciation & Amortization Expense - -
Other Operating Expenses - -
Gain on Sale of Investments - -
Gain on Sale of Assets - -
Impairment Expense - -
Operating Expense $9,093,000,000 $8,710,000,000
Earnings Before Interest and Taxes $3,935,000,000 $8,249,000,000
Earnings Before Tax $3,428,000,000 $7,845,000,000
Net Income $2,512,000,000 $6,147,000,000

Balance Sheet

12/31/2015 12/31/2018
Cash and Cash Equivalents $6,460,000,000 $7,857,000,000
Short-Term Investments - -
Cash and Short-Term Investments $6,460,000,000 $7,857,000,000
Receivables $30,507,000,000 $31,899,000,000
Inventory $9,700,000,000 $11,529,000,000
Deferred Tax Assets, Current - -
Other Current Assets - -
Total Current Assets $33,508,000,000 $38,603,000,000
Gross Property, Plant & Equipment - -
Accumulated Depreciation - -
Net Property, Plant & Equipment $16,090,000,000 $13,574,000,000
Goodwill and Intangible Assets $9,436,000,000 $8,114,000,000
Long-Term Investments - -
Deferred Tax Assets, Long-Term $2,489,000,000 $1,439,000,000
Other Long-Term Assets - -
Total Non-Current Assets $44,834,000,000 $39,906,000,000
Total Assets $78,342,000,000 $78,509,000,000
Payables $5,023,000,000 $7,051,000,000
Short-Term Debt $12,844,000,000 $11,553,000,000
Current Portion of Long-Term Debt - -
Tax Liabilities, Short-Term - -
Other Current Liabilities - -
Total Current Liabilities $26,242,000,000 $28,218,000,000
Long-Term Debt $25,169,000,000 $25,000,000,000
Total Debt $38,013,000,000 $36,553,000,000
Deferred Revenue - -
Tax Liabilities, Long-Term - -
Deposit Liabilities $1,146,000,000 $1,243,000,000
Other Long-Term Liabilities - -
Total Non-Current Liabilities $37,215,000,000 $36,211,000,000
Total Liabilities $63,457,000,000 $64,429,000,000
Common Stock - -
Other Comprehensive Income $-2,035,000,000 $-1,684,000,000
Retained Earnings $29,246,000,000 $30,427,000,000
Minority Interest - -
Total Stockholder's Equity $14,809,000,000 $14,080,000,000
Total Liabilities and Equity $78,266,000,000 $78,509,000,000
Net Working Capital $35,184,000,000 $36,377,000,000


Statement Math

All of the math operators are valid on statements. If the operation is with a number, it will apply to each item. If the operation is with another statement, for any overlapping time periods, it will apply the operation on the two items, while for non-overlapping time periods it will combine the statements.

Adjust Units

It is easy to adjust units by multiplying or dividing the statements.

stmts / 1000000  # in millions

Income Statement

12/31/2009 12/31/2010 12/31/2011 12/31/2012 12/31/2013 12/31/2014 12/31/2015 12/31/2016 12/31/2017 12/31/2018
Revenue $32,396 $42,588 $60,138 $65,875 $55,656 $55,184 $47,011 $38,537 $45,462 $54,722
Cost of Goods Sold $24,931 $31,281 $44,404 $47,852 $41,454 $41,342 $34,133 $28,640 $31,906 $37,719
Gross Profit $7,465 $11,307 $15,734 $18,023 $14,202 $13,842 $12,878 $9,897 $13,556 $17,003
SG&A Expense $3,645 $4,248 $5,203 $5,919 $5,547 $6,529 $4,951 $4,383 $4,999 $5,478
Interest Expense $389 $343 $396 $467 $465 $484 $507 $505 $531 $404
Income Tax Expense $-270 $968 $1,720 $2,528 $1,319 $692 $916 $192 $3,339 $1,698
R&D Expense $1,421 $1,905 $2,297 $2,466 $2,046 $2,380 $2,119 $1,853 $1,842 $1,850
Depreciation & Amortization Expense - - - - - - - - - -
Other Operating Expenses - - - - - - - - - -
Gain on Sale of Investments - - - - - - - - - -
Gain on Sale of Assets - - - - - - - - - -
Impairment Expense - - - - - - - - - -
Operating Expense $6,888 $7,344 $8,581 $9,450 $8,574 $10,528 $9,093 $8,735 $9,096 $8,710
Earnings Before Interest and Taxes $1,014 $4,011 $7,044 $8,676 $5,573 $3,628 $3,935 $630 $4,624 $8,249
Earnings Before Tax $625 $3,668 $6,648 $8,209 $5,108 $3,144 $3,428 $125 $4,093 $7,845
Net Income $895 $2,700 $4,928 $5,681 $3,789 $2,452 $2,512 $-67 $754 $6,147

Balance Sheet

12/31/2009 12/31/2010 12/31/2011 12/31/2012 12/31/2013 12/31/2014 12/31/2015 12/31/2016 12/31/2017 12/31/2018
Cash and Cash Equivalents $4,867 $3,592 $3,057 $5,490 $6,081 $7,341 $6,460 $7,168 $8,261 $7,857
Short-Term Investments - - - - - - - - - -
Cash and Short-Term Investments $4,867 $3,592 $3,057 $5,490 $6,081 $7,341 $6,460 $7,168 $8,261 $7,857
Receivables $27,162 $28,849 $30,803 $33,911 $33,499 $32,772 $30,507 $29,088 $30,725 $31,899
Inventory $6,360 $9,587 $14,544 $15,547 $12,625 $12,205 $9,700 $8,614 $10,018 $11,529
Deferred Tax Assets, Current - - - - - - - - - -
Other Current Assets - - - - - - - - - -
Total Current Assets $27,217 $31,810 $37,900 $42,138 $38,335 $38,867 $33,508 $31,967 $36,244 $38,603
Gross Property, Plant & Equipment - - - - - - - - - -
Accumulated Depreciation - - - - - - - - - -
Net Property, Plant & Equipment $12,386 $12,539 $14,395 $16,461 $17,075 $16,577 $16,090 $15,322 $14,155 $13,574
Goodwill and Intangible Assets $2,734 $3,419 $11,448 $10,958 $10,552 $9,770 $9,436 $8,369 $8,311 $8,114
Long-Term Investments $105 $164 $133 $272 $272 $257 - - - -
Deferred Tax Assets, Long-Term $3,930 $3,424 $3,737 $3,558 $2,147 $3,143 $2,489 $2,790 $1,693 $1,439
Other Long-Term Assets - - - - - - - - - -
Total Non-Current Assets $32,821 $32,210 $43,318 $46,832 $46,561 $45,814 $44,834 $42,737 $40,718 $39,906
Total Assets $60,038 $64,020 $81,218 $88,970 $84,896 $84,681 $78,342 $74,704 $76,962 $78,509
Payables $2,993 $5,856 $8,161 $6,753 $6,560 $6,515 $5,023 $4,614 $6,487 $7,051
Short-Term Debt $9,784 $7,981 $9,648 $12,391 $11,031 $11,501 $12,844 $13,965 $11,031 $11,553
Current Portion of Long-Term Debt - - - - - - - - - -
Tax Liabilities, Short-Term - - - - - - - - - -
Other Current Liabilities - - - - - - - - - -
Total Current Liabilities $18,975 $22,020 $28,357 $29,415 $27,297 $27,877 $26,242 $26,132 $26,931 $28,218
Long-Term Debt $21,847 $20,437 $24,944 $27,752 $26,719 $27,784 $25,169 $22,818 $23,847 $25,000
Total Debt $31,631 $28,418 $34,592 $40,143 $37,750 $39,285 $38,013 $36,783 $34,878 $36,553
Deferred Revenue - - - - - - - - - -
Tax Liabilities, Long-Term - - - - - - - - - -
Deposit Liabilities $1,217 $1,831 $2,487 $2,638 $2,360 $1,697 $1,146 $1,167 $1,426 $1,243
Other Long-Term Liabilities - - - - - - - - - -
Total Non-Current Liabilities $31,763 $30,675 $39,459 $41,973 $36,721 $39,978 $37,215 $35,359 $36,265 $36,211
Total Liabilities $50,738 $52,695 $67,816 $71,388 $64,018 $67,855 $63,457 $61,491 $63,196 $64,429
Common Stock - - - - - - - - - -
Other Comprehensive Income $-3,764 $-4,051 $-6,328 $-6,433 $-3,898 $-6,431 $-2,035 $-2,039 $-1,192 $-1,684
Retained Earnings $19,711 $21,384 $25,219 $29,558 $31,854 $33,887 $29,246 $27,377 $26,301 $30,427
Minority Interest - - - - - - - - - -
Total Stockholder's Equity $8,740 $10,824 $12,883 $17,532 $20,811 $16,746 $14,809 $13,213 $13,766 $14,080
Total Liabilities and Equity $59,478 $63,519 $80,699 $88,920 $84,829 $84,601 $78,266 $74,704 $76,962 $78,509
Net Working Capital $30,529 $32,580 $37,186 $42,705 $39,564 $38,462 $35,184 $33,088 $34,256 $36,377


Math with Overlapping Statements

If the time periods overlap, math will be done with each pair of items. This can be useful for aggregating statements from subsidiaries, segments, etc.:

stmts + stmts

Income Statement

12/31/2009 12/31/2010 12/31/2011 12/31/2012 12/31/2013 12/31/2014 12/31/2015 12/31/2016 12/31/2017 12/31/2018
Revenue $64,792,000,000 $85,176,000,000 $120,276,000,000 $131,750,000,000 $111,312,000,000 $110,368,000,000 $94,022,000,000 $77,074,000,000 $90,924,000,000 $109,444,000,000
Cost of Goods Sold $49,862,000,000 $62,562,000,000 $88,808,000,000 $95,704,000,000 $82,908,000,000 $82,684,000,000 $68,266,000,000 $57,280,000,000 $63,812,000,000 $75,438,000,000
Gross Profit $14,930,000,000 $22,614,000,000 $31,468,000,000 $36,046,000,000 $28,404,000,000 $27,684,000,000 $25,756,000,000 $19,794,000,000 $27,112,000,000 $34,006,000,000
SG&A Expense $7,290,000,000 $8,496,000,000 $10,406,000,000 $11,838,000,000 $11,094,000,000 $13,058,000,000 $9,902,000,000 $8,766,000,000 $9,998,000,000 $10,956,000,000
Interest Expense $778,000,000 $686,000,000 $792,000,000 $934,000,000 $930,000,000 $968,000,000 $1,014,000,000 $1,010,000,000 $1,062,000,000 $808,000,000
Income Tax Expense $-540,000,000 $1,936,000,000 $3,440,000,000 $5,056,000,000 $2,638,000,000 $1,384,000,000 $1,832,000,000 $384,000,000 $6,678,000,000 $3,396,000,000
R&D Expense $2,842,000,000 $3,810,000,000 $4,594,000,000 $4,932,000,000 $4,092,000,000 $4,760,000,000 $4,238,000,000 $3,706,000,000 $3,684,000,000 $3,700,000,000
Depreciation & Amortization Expense - - - - - - - - - -
Other Operating Expenses - - - - - - - - - -
Gain on Sale of Investments - - - - - - - - - -
Gain on Sale of Assets - - - - - - - - - -
Impairment Expense - - - - - - - - - -
Operating Expense $13,776,000,000 $14,688,000,000 $17,162,000,000 $18,900,000,000 $17,148,000,000 $21,056,000,000 $18,186,000,000 $17,470,000,000 $18,192,000,000 $17,420,000,000
Earnings Before Interest and Taxes $2,028,000,000 $8,022,000,000 $14,088,000,000 $17,352,000,000 $11,146,000,000 $7,256,000,000 $7,870,000,000 $1,260,000,000 $9,248,000,000 $16,498,000,000
Earnings Before Tax $1,250,000,000 $7,336,000,000 $13,296,000,000 $16,418,000,000 $10,216,000,000 $6,288,000,000 $6,856,000,000 $250,000,000 $8,186,000,000 $15,690,000,000
Net Income $1,790,000,000 $5,400,000,000 $9,856,000,000 $11,362,000,000 $7,578,000,000 $4,904,000,000 $5,024,000,000 $-134,000,000 $1,508,000,000 $12,294,000,000

Balance Sheet

12/31/2009 12/31/2010 12/31/2011 12/31/2012 12/31/2013 12/31/2014 12/31/2015 12/31/2016 12/31/2017 12/31/2018
Cash and Cash Equivalents $9,734,000,000 $7,184,000,000 $6,114,000,000 $10,980,000,000 $12,162,000,000 $14,682,000,000 $12,920,000,000 $14,336,000,000 $16,522,000,000 $15,714,000,000
Short-Term Investments - - - - - - - - - -
Cash and Short-Term Investments $9,734,000,000 $7,184,000,000 $6,114,000,000 $10,980,000,000 $12,162,000,000 $14,682,000,000 $12,920,000,000 $14,336,000,000 $16,522,000,000 $15,714,000,000
Receivables $54,324,000,000 $57,698,000,000 $61,606,000,000 $67,822,000,000 $66,998,000,000 $65,544,000,000 $61,014,000,000 $58,176,000,000 $61,450,000,000 $63,798,000,000
Inventory $12,720,000,000 $19,174,000,000 $29,088,000,000 $31,094,000,000 $25,250,000,000 $24,410,000,000 $19,400,000,000 $17,228,000,000 $20,036,000,000 $23,058,000,000
Deferred Tax Assets, Current - - - - - - - - - -
Other Current Assets - - - - - - - - - -
Total Current Assets $54,434,000,000 $63,620,000,000 $75,800,000,000 $84,276,000,000 $76,670,000,000 $77,734,000,000 $67,016,000,000 $63,934,000,000 $72,488,000,000 $77,206,000,000
Gross Property, Plant & Equipment - - - - - - - - - -
Accumulated Depreciation - - - - - - - - - -
Net Property, Plant & Equipment $24,772,000,000 $25,078,000,000 $28,790,000,000 $32,922,000,000 $34,150,000,000 $33,154,000,000 $32,180,000,000 $30,644,000,000 $28,310,000,000 $27,148,000,000
Goodwill and Intangible Assets $5,468,000,000 $6,838,000,000 $22,896,000,000 $21,916,000,000 $21,104,000,000 $19,540,000,000 $18,872,000,000 $16,738,000,000 $16,622,000,000 $16,228,000,000
Long-Term Investments $210,000,000 $328,000,000 $266,000,000 $544,000,000 $544,000,000 $514,000,000 - - - -
Deferred Tax Assets, Long-Term $7,860,000,000 $6,848,000,000 $7,474,000,000 $7,116,000,000 $4,294,000,000 $6,286,000,000 $4,978,000,000 $5,580,000,000 $3,386,000,000 $2,878,000,000
Other Long-Term Assets - - - - - - - - - -
Total Non-Current Assets $65,642,000,000 $64,420,000,000 $86,636,000,000 $93,664,000,000 $93,122,000,000 $91,628,000,000 $89,668,000,000 $85,474,000,000 $81,436,000,000 $79,812,000,000
Total Assets $120,076,000,000 $128,040,000,000 $162,436,000,000 $177,940,000,000 $169,792,000,000 $169,362,000,000 $156,684,000,000 $149,408,000,000 $153,924,000,000 $157,018,000,000
Payables $5,986,000,000 $11,712,000,000 $16,322,000,000 $13,506,000,000 $13,120,000,000 $13,030,000,000 $10,046,000,000 $9,228,000,000 $12,974,000,000 $14,102,000,000
Short-Term Debt $19,568,000,000 $15,962,000,000 $19,296,000,000 $24,782,000,000 $22,062,000,000 $23,002,000,000 $25,688,000,000 $27,930,000,000 $22,062,000,000 $23,106,000,000
Current Portion of Long-Term Debt - - - - - - - - - -
Tax Liabilities, Short-Term - - - - - - - - - -
Other Current Liabilities - - - - - - - - - -
Total Current Liabilities $37,950,000,000 $44,040,000,000 $56,714,000,000 $58,830,000,000 $54,594,000,000 $55,754,000,000 $52,484,000,000 $52,264,000,000 $53,862,000,000 $56,436,000,000
Long-Term Debt $43,694,000,000 $40,874,000,000 $49,888,000,000 $55,504,000,000 $53,438,000,000 $55,568,000,000 $50,338,000,000 $45,636,000,000 $47,694,000,000 $50,000,000,000
Total Debt $63,262,000,000 $56,836,000,000 $69,184,000,000 $80,286,000,000 $75,500,000,000 $78,570,000,000 $76,026,000,000 $73,566,000,000 $69,756,000,000 $73,106,000,000
Deferred Revenue - - - - - - - - - -
Tax Liabilities, Long-Term - - - - - - - - - -
Deposit Liabilities $2,434,000,000 $3,662,000,000 $4,974,000,000 $5,276,000,000 $4,720,000,000 $3,394,000,000 $2,292,000,000 $2,334,000,000 $2,852,000,000 $2,486,000,000
Other Long-Term Liabilities - - - - - - - - - -
Total Non-Current Liabilities $63,526,000,000 $61,350,000,000 $78,918,000,000 $83,946,000,000 $73,442,000,000 $79,956,000,000 $74,430,000,000 $70,718,000,000 $72,530,000,000 $72,422,000,000
Total Liabilities $101,476,000,000 $105,390,000,000 $135,632,000,000 $142,776,000,000 $128,036,000,000 $135,710,000,000 $126,914,000,000 $122,982,000,000 $126,392,000,000 $128,858,000,000
Common Stock - - - - - - - - - -
Other Comprehensive Income $-7,528,000,000 $-8,102,000,000 $-12,656,000,000 $-12,866,000,000 $-7,796,000,000 $-12,862,000,000 $-4,070,000,000 $-4,078,000,000 $-2,384,000,000 $-3,368,000,000
Retained Earnings $39,422,000,000 $42,768,000,000 $50,438,000,000 $59,116,000,000 $63,708,000,000 $67,774,000,000 $58,492,000,000 $54,754,000,000 $52,602,000,000 $60,854,000,000
Minority Interest - - - - - - - - - -
Total Stockholder's Equity $17,480,000,000 $21,648,000,000 $25,766,000,000 $35,064,000,000 $41,622,000,000 $33,492,000,000 $29,618,000,000 $26,426,000,000 $27,532,000,000 $28,160,000,000
Total Liabilities and Equity $118,956,000,000 $127,038,000,000 $161,398,000,000 $177,840,000,000 $169,658,000,000 $169,202,000,000 $156,532,000,000 $149,408,000,000 $153,924,000,000 $157,018,000,000
Net Working Capital $61,058,000,000 $65,160,000,000 $74,372,000,000 $85,410,000,000 $79,128,000,000 $76,924,000,000 $70,368,000,000 $66,176,000,000 $68,512,000,000 $72,754,000,000


Combine Non-Overlapping Statements

If the statements have different time periods, adding them will put both sets of periods in a single statement.

stmts['12/31/2018'] + stmts['12/31/2014']

Income Statement

12/31/2014 12/31/2018
Revenue $55,184,000,000 $54,722,000,000
Cost of Goods Sold $41,342,000,000 $37,719,000,000
Gross Profit $13,842,000,000 $17,003,000,000
SG&A Expense $6,529,000,000 $5,478,000,000
Interest Expense $484,000,000 $404,000,000
Income Tax Expense $692,000,000 $1,698,000,000
R&D Expense $2,380,000,000 $1,850,000,000
Depreciation & Amortization Expense - -
Other Operating Expenses - -
Gain on Sale of Investments - -
Gain on Sale of Assets - -
Impairment Expense - -
Operating Expense $10,528,000,000 $8,710,000,000
Earnings Before Interest and Taxes $3,628,000,000 $8,249,000,000
Earnings Before Tax $3,144,000,000 $7,845,000,000
Net Income $2,452,000,000 $6,147,000,000

Balance Sheet

12/31/2014 12/31/2018
Cash and Cash Equivalents $7,341,000,000 $7,857,000,000
Short-Term Investments - -
Cash and Short-Term Investments $7,341,000,000 $7,857,000,000
Receivables $32,772,000,000 $31,899,000,000
Inventory $12,205,000,000 $11,529,000,000
Deferred Tax Assets, Current - -
Other Current Assets - -
Total Current Assets $38,867,000,000 $38,603,000,000
Gross Property, Plant & Equipment - -
Accumulated Depreciation - -
Net Property, Plant & Equipment $16,577,000,000 $13,574,000,000
Goodwill and Intangible Assets $9,770,000,000 $8,114,000,000
Long-Term Investments $257,000,000 -
Deferred Tax Assets, Long-Term $3,143,000,000 $1,439,000,000
Other Long-Term Assets - -
Total Non-Current Assets $45,814,000,000 $39,906,000,000
Total Assets $84,681,000,000 $78,509,000,000
Payables $6,515,000,000 $7,051,000,000
Short-Term Debt $11,501,000,000 $11,553,000,000
Current Portion of Long-Term Debt - -
Tax Liabilities, Short-Term - -
Other Current Liabilities - -
Total Current Liabilities $27,877,000,000 $28,218,000,000
Long-Term Debt $27,784,000,000 $25,000,000,000
Total Debt $39,285,000,000 $36,553,000,000
Deferred Revenue - -
Tax Liabilities, Long-Term - -
Deposit Liabilities $1,697,000,000 $1,243,000,000
Other Long-Term Liabilities - -
Total Non-Current Liabilities $39,978,000,000 $36,211,000,000
Total Liabilities $67,855,000,000 $64,429,000,000
Common Stock - -
Other Comprehensive Income $-6,431,000,000 $-1,684,000,000
Retained Earnings $33,887,000,000 $30,427,000,000
Minority Interest - -
Total Stockholder's Equity $16,746,000,000 $14,080,000,000
Total Liabilities and Equity $84,601,000,000 $78,509,000,000
Net Working Capital $38,462,000,000 $36,377,000,000


This can be very useful in the case where you have done a forecast and need to calculate something which requires data from the last historical period, such as FCF.

stmts.config.update_all(['forecast_config', 'method'], 'trend')
fcst = stmts.forecast(periods=2)
(stmts[stmts.dates[-1]] + fcst).fcf.dropna()
INFO: Forecasting Income Statement

  0%|          | 0/16 [00:00<?, ?it/s]/home/runner/work/py-finstmt/py-finstmt/finstmt/forecast/models/base.py:72: FutureWarning: Argument `closed` is deprecated in favor of `inclusive`.
  return pd.date_range(
/home/runner/work/py-finstmt/py-finstmt/finstmt/forecast/models/base.py:39: FutureWarning: The default dtype for empty Series will be 'object' instead of 'float64' in a future version. Specify a dtype explicitly to silence this warning.
  return pd.Series()
/home/runner/work/py-finstmt/py-finstmt/finstmt/forecast/models/base.py:72: FutureWarning: Argument `closed` is deprecated in favor of `inclusive`.
  return pd.date_range(
/home/runner/work/py-finstmt/py-finstmt/finstmt/forecast/models/base.py:39: FutureWarning: The default dtype for empty Series will be 'object' instead of 'float64' in a future version. Specify a dtype explicitly to silence this warning.
  return pd.Series()
/home/runner/work/py-finstmt/py-finstmt/finstmt/forecast/models/base.py:72: FutureWarning: Argument `closed` is deprecated in favor of `inclusive`.
  return pd.date_range(
/home/runner/work/py-finstmt/py-finstmt/finstmt/forecast/models/base.py:39: FutureWarning: The default dtype for empty Series will be 'object' instead of 'float64' in a future version. Specify a dtype explicitly to silence this warning.
  return pd.Series()
/home/runner/work/py-finstmt/py-finstmt/finstmt/forecast/models/base.py:72: FutureWarning: Argument `closed` is deprecated in favor of `inclusive`.
  return pd.date_range(
/home/runner/work/py-finstmt/py-finstmt/finstmt/forecast/models/base.py:39: FutureWarning: The default dtype for empty Series will be 'object' instead of 'float64' in a future version. Specify a dtype explicitly to silence this warning.
  return pd.Series()
/home/runner/work/py-finstmt/py-finstmt/finstmt/forecast/models/base.py:72: FutureWarning: Argument `closed` is deprecated in favor of `inclusive`.
  return pd.date_range(
/home/runner/work/py-finstmt/py-finstmt/finstmt/forecast/models/base.py:39: FutureWarning: The default dtype for empty Series will be 'object' instead of 'float64' in a future version. Specify a dtype explicitly to silence this warning.
  return pd.Series()
/home/runner/work/py-finstmt/py-finstmt/finstmt/forecast/models/base.py:72: FutureWarning: Argument `closed` is deprecated in favor of `inclusive`.
  return pd.date_range(
/home/runner/work/py-finstmt/py-finstmt/finstmt/forecast/models/base.py:39: FutureWarning: The default dtype for empty Series will be 'object' instead of 'float64' in a future version. Specify a dtype explicitly to silence this warning.
  return pd.Series()

100%|##########| 16/16 [00:00<00:00, 427.08it/s]
INFO: Forecasting Balance Sheet

  0%|          | 0/38 [00:00<?, ?it/s]/home/runner/work/py-finstmt/py-finstmt/finstmt/forecast/models/base.py:72: FutureWarning: Argument `closed` is deprecated in favor of `inclusive`.
  return pd.date_range(
/home/runner/work/py-finstmt/py-finstmt/finstmt/forecast/models/base.py:39: FutureWarning: The default dtype for empty Series will be 'object' instead of 'float64' in a future version. Specify a dtype explicitly to silence this warning.
  return pd.Series()
/home/runner/work/py-finstmt/py-finstmt/finstmt/forecast/models/base.py:72: FutureWarning: Argument `closed` is deprecated in favor of `inclusive`.
  return pd.date_range(
/home/runner/work/py-finstmt/py-finstmt/finstmt/forecast/models/base.py:39: FutureWarning: The default dtype for empty Series will be 'object' instead of 'float64' in a future version. Specify a dtype explicitly to silence this warning.
  return pd.Series()
/home/runner/work/py-finstmt/py-finstmt/finstmt/forecast/models/base.py:72: FutureWarning: Argument `closed` is deprecated in favor of `inclusive`.
  return pd.date_range(
/home/runner/work/py-finstmt/py-finstmt/finstmt/forecast/models/base.py:39: FutureWarning: The default dtype for empty Series will be 'object' instead of 'float64' in a future version. Specify a dtype explicitly to silence this warning.
  return pd.Series()
/home/runner/work/py-finstmt/py-finstmt/finstmt/forecast/models/base.py:72: FutureWarning: Argument `closed` is deprecated in favor of `inclusive`.
  return pd.date_range(
/home/runner/work/py-finstmt/py-finstmt/finstmt/forecast/models/base.py:39: FutureWarning: The default dtype for empty Series will be 'object' instead of 'float64' in a future version. Specify a dtype explicitly to silence this warning.
  return pd.Series()
/home/runner/work/py-finstmt/py-finstmt/finstmt/forecast/models/base.py:72: FutureWarning: Argument `closed` is deprecated in favor of `inclusive`.
  return pd.date_range(
/home/runner/work/py-finstmt/py-finstmt/finstmt/forecast/models/base.py:39: FutureWarning: The default dtype for empty Series will be 'object' instead of 'float64' in a future version. Specify a dtype explicitly to silence this warning.
  return pd.Series()
/home/runner/work/py-finstmt/py-finstmt/finstmt/forecast/models/base.py:72: FutureWarning: Argument `closed` is deprecated in favor of `inclusive`.
  return pd.date_range(
/home/runner/work/py-finstmt/py-finstmt/finstmt/forecast/models/base.py:39: FutureWarning: The default dtype for empty Series will be 'object' instead of 'float64' in a future version. Specify a dtype explicitly to silence this warning.
  return pd.Series()
/home/runner/work/py-finstmt/py-finstmt/finstmt/forecast/models/base.py:72: FutureWarning: Argument `closed` is deprecated in favor of `inclusive`.
  return pd.date_range(
/home/runner/work/py-finstmt/py-finstmt/finstmt/forecast/models/base.py:39: FutureWarning: The default dtype for empty Series will be 'object' instead of 'float64' in a future version. Specify a dtype explicitly to silence this warning.
  return pd.Series()
/home/runner/work/py-finstmt/py-finstmt/finstmt/forecast/models/base.py:72: FutureWarning: Argument `closed` is deprecated in favor of `inclusive`.
  return pd.date_range(
/home/runner/work/py-finstmt/py-finstmt/finstmt/forecast/models/base.py:39: FutureWarning: The default dtype for empty Series will be 'object' instead of 'float64' in a future version. Specify a dtype explicitly to silence this warning.
  return pd.Series()
/home/runner/work/py-finstmt/py-finstmt/finstmt/forecast/models/base.py:72: FutureWarning: Argument `closed` is deprecated in favor of `inclusive`.
  return pd.date_range(
/home/runner/work/py-finstmt/py-finstmt/finstmt/forecast/models/base.py:39: FutureWarning: The default dtype for empty Series will be 'object' instead of 'float64' in a future version. Specify a dtype explicitly to silence this warning.
  return pd.Series()
/home/runner/work/py-finstmt/py-finstmt/finstmt/forecast/models/base.py:72: FutureWarning: Argument `closed` is deprecated in favor of `inclusive`.
  return pd.date_range(
/home/runner/work/py-finstmt/py-finstmt/finstmt/forecast/models/base.py:39: FutureWarning: The default dtype for empty Series will be 'object' instead of 'float64' in a future version. Specify a dtype explicitly to silence this warning.
  return pd.Series()
/home/runner/work/py-finstmt/py-finstmt/finstmt/forecast/models/base.py:72: FutureWarning: Argument `closed` is deprecated in favor of `inclusive`.
  return pd.date_range(
/home/runner/work/py-finstmt/py-finstmt/finstmt/forecast/models/base.py:39: FutureWarning: The default dtype for empty Series will be 'object' instead of 'float64' in a future version. Specify a dtype explicitly to silence this warning.
  return pd.Series()
/home/runner/work/py-finstmt/py-finstmt/finstmt/forecast/models/base.py:72: FutureWarning: Argument `closed` is deprecated in favor of `inclusive`.
  return pd.date_range(
/home/runner/work/py-finstmt/py-finstmt/finstmt/forecast/models/base.py:39: FutureWarning: The default dtype for empty Series will be 'object' instead of 'float64' in a future version. Specify a dtype explicitly to silence this warning.
  return pd.Series()
/home/runner/work/py-finstmt/py-finstmt/finstmt/forecast/models/base.py:72: FutureWarning: Argument `closed` is deprecated in favor of `inclusive`.
  return pd.date_range(
/home/runner/work/py-finstmt/py-finstmt/finstmt/forecast/models/base.py:39: FutureWarning: The default dtype for empty Series will be 'object' instead of 'float64' in a future version. Specify a dtype explicitly to silence this warning.
  return pd.Series()

100%|##########| 38/38 [00:00<00:00, 506.88it/s]
INFO: Balancing balance sheet
INFO: Balanced in 0.1s
/home/runner/work/py-finstmt/py-finstmt/finstmt/forecast/models/base.py:72: FutureWarning: Argument `closed` is deprecated in favor of `inclusive`.
  return pd.date_range(
/home/runner/work/py-finstmt/py-finstmt/finstmt/forecast/models/base.py:39: FutureWarning: The default dtype for empty Series will be 'object' instead of 'float64' in a future version. Specify a dtype explicitly to silence this warning.
  return pd.Series()
/home/runner/work/py-finstmt/py-finstmt/finstmt/forecast/models/base.py:72: FutureWarning: Argument `closed` is deprecated in favor of `inclusive`.
  return pd.date_range(
/home/runner/work/py-finstmt/py-finstmt/finstmt/forecast/models/base.py:39: FutureWarning: The default dtype for empty Series will be 'object' instead of 'float64' in a future version. Specify a dtype explicitly to silence this warning.
  return pd.Series()

2019-12-31   -1.394863e+09
2020-12-31   -3.646065e+07
dtype: float64

Total running time of the script: ( 1 minutes 11.598 seconds)

Gallery generated by Sphinx-Gallery