finance.statements

기본 경로: c.show("BS"), c.show("IS"), c.show("CF") — sections에 통합되어 있으므로 대부분의 경우 이 경로로 충분합니다. 아래 finance.statements 레이어는 50~200개 세부 계정 항목이 필요할 때 사용합니다.

Extracts consolidated financial statements into time series separated by Balance Sheet (BS), Income Statement (IS), and Cash Flow Statement (CF). While Company’s default public flow is sections -> show -> trace, drop down to the finance.statements layer when you need to work with detailed financial accounts directly. Provides detailed line items (50~200) from the original statements, more granular than the financial summary.

Usage

Company Shortcut

c = dartlab.Company("005930")

c.BS   # Balance Sheet
c.IS   # Income Statement
c.CF   # Cash Flow Statement

Full Access via get()

result = c.get("statements")

result.BS    # Balance Sheet — detailed asset, liability, and equity items
result.IS    # Income Statement — detailed revenue, expense, and profit items
result.CF    # Cash Flow Statement — operating/investing/financing activities

Quarterly / Semi-Annual

result = c.get("statements", period="q")   # Quarterly
result = c.get("statements", period="h")   # Semi-annual

Parameters

NameTypeDefaultDescription
periodstr"y""y" annual, "q" quarterly, "h" semi-annual
ifrsOnlyboolTrueK-IFRS periods only

StatementsResult

AttributeTypeDescription
corpNamestr \| NoneCompany name
periodstrAnalysis period
nYearsintNumber of years
BSpl.DataFrame \| NoneBalance Sheet
ISpl.DataFrame \| NoneIncome Statement
CFpl.DataFrame \| NoneCash Flow Statement

fsSummary vs statements Comparison

These two modules extract the same financial statements from different sources. Choose based on your use case.

fsSummary (c.fsSummary())statements (c.get("statements"))
SourceFinancial summaryConsolidated statement body
Item count20~30 core items50~200 detailed items
Bridge MatchingApplied (auto-tracks account name changes)Not applied (original as-is)
Cash Flow StatementNot includedIncluded (CF)
Time series continuityExcellent (auto-tracking)Depends on original
Use caseLong-term trend analysisDetailed line item inspection

General rule: Start with c.show("BS") on the public board. Drop down to the finance layer with c.BS, c.CF, c.get("statements"), or c.fsSummary() when you need more detailed account breakdowns.


Usage Examples

Balance Sheet — Key Items

import dartlab

c = dartlab.Company("005930")

print(c.BS)
# account         | 2015       | 2016       | ... | 2024
# 자산총계        | 262,174,324| 261,381,064| ... | ...
# 유동자산        | 124,140,661| 134,506,949| ... | ...
#   현금및현금성자산| 22,636,744| 32,111,442| ... | ...
#   매출채권       | 25,168,026| 24,348,622| ... | ...
# 비유동자산      | 138,033,663| 126,874,115| ... | ...
# 부채총계        | 63,119,716| 54,704,095| ... | ...
# 자본총계        | 199,054,608| 206,676,969| ... | ...

Cash Flow Statement

print(c.CF)
# account                 | 2015        | 2016        | ...
# 영업활동 현금흐름        | 40,061,761 | 47,386,037  | ...
# 투자활동 현금흐름        | -28,017,281| -26,252,505 | ...
# 재무활동 현금흐름        | -10,740,937| -9,756,700  | ...

Quarterly Detail

result = c.get("statements", period="q")
print(result.IS)
# account  | 2023Q1 | 2023Q2 | 2023Q3 | 2023Q4 | 2024Q1 | ...

print(result.CF)
# account  | 2023Q1 | 2023Q2 | 2023Q3 | 2023Q4 | 2024Q1 | ...

Checking Missing Statement Items

result = c.get("statements")
print(f"BS items: {result.BS.height if result.BS is not None else 0}")
print(f"IS items: {result.IS.height if result.IS is not None else 0}")
print(f"CF items: {result.CF.height if result.CF is not None else 0}")