552. 데이터 분석 (재무제표 분석)
파이썬을 이용한 재무 데이터 분석 심화
- 파이썬 데이터 분석의 핵심 라이브러리(pandas·matplotlib·seaborn 등)의 역할을 구분한다.
- GPT 채팅창·구글 코랩·로컬 파이썬 세 환경에서 동일한 3개년 재무제표로 동일한 분석(성장성·수익성·안정성 지표의 표와 그래프)을 수행한다.
- 보안·저장·자동화 관점에서 세 환경의 장단점을 비교하고 업무에 맞는 환경을 고른다.
이 교재의 실습 데이터는 가상의 코스닥 상장 제조업체 ㈜한빛정밀의 3개년 재무제표입니다. 재무상태표·손익계산서·현금흐름표 3개 시트를 실제 공시 수준의 상세한 계정과목으로 구성했습니다 — CFO가 매달 보는 데이터 그 자체로 파이썬 분석을 익힙니다.
여기서 익히는 지표 계산(성장성·수익성·안정성)과 추이 시각화는 월간 경영보고·이사회 보고·IR 자료의 뼈대입니다. 숫자는 매달 바뀌어도 분석의 틀은 같습니다 — 그래서 이 모듈의 결론은 분석을 재사용 가능한 코드 자산(노트북)으로 만드는 것입니다.
분석 환경 3종
학습 안내읽기. 라이브러리 표는 외우지 말고 "이런 이름이 코드에 나오면 이런 역할" 수준으로만 익혀 두십시오. 가장 중요한 것은 마지막 환경 3종 비교표입니다 — 통합 실습에서 환경을 고르는 기준이 됩니다.
엑셀(VBA)의 끝, 파이썬의 시작
합계·평균 같은 집계와 기본 차트는 VBA로 충분합니다. 그러나 분석이 깊어지면 한계가 옵니다 — 수십만 행 이상에서 느려지고, 박스플롯·히트맵 같은 통계 그래프와 회귀분석·검정 같은 통계 분석은 VBA로 구현하기 매우 번거롭습니다. 파이썬은 이 지점부터 시작합니다.
| 구분 | 엑셀 VBA | 파이썬 |
|---|---|---|
| 데이터 규모 | 수만 행까지 쾌적, 그 이상은 급격히 느려짐 | 수백만 행도 처리 (pandas) |
| 시각화 | 막대·선·원형 등 엑셀 기본 차트 | 박스플롯·히트맵·산점도 행렬 등 통계 그래프 수십 종 |
| 통계 분석 | 함수 조합으로 제한적 | 회귀·검정·분류·군집까지 라이브러리 한 줄 |
| 재현성 | 버튼·매크로 중심, 과정 추적 어려움 | 코드 = 분석 과정의 기록. 같은 코드 = 같은 결과 |
| 설치 부담 | 없음 (엑셀에 내장) | 환경 필요 — 단, GPT·코랩을 쓰면 설치 없이 가능 |
파이썬 핵심 라이브러리 5종
파이썬이 강력한 이유는 언어 자체보다 라이브러리 생태계입니다. 데이터 분석에서는 다음 다섯 개만 알면 코드의 대부분을 읽을 수 있습니다.
| 라이브러리 | 역할 | 코드에서 보이는 모습 |
|---|---|---|
| pandas | 표 데이터 처리 (엑셀의 시트 역할) | pd.read_excel(), df.describe(), df.groupby() |
| matplotlib | 그래프의 기본 엔진 | plt.pie(), plt.boxplot(), plt.scatter() |
| seaborn | 통계 그래프를 한 줄로 (matplotlib 기반) | sns.heatmap(), sns.boxplot() |
| scikit-learn / statsmodels | 회귀·분류 등 통계·머신러닝 | LinearRegression().fit(X, y) |
| openpyxl | 엑셀 파일 읽기/쓰기 (pandas가 내부 사용) | pd.read_excel() 실행 시 자동 동원 |
분석 환경 3종 — 어디에서 파이썬을 돌릴 것인가
이 교재의 핵심 구도입니다. 같은 파일, 같은 분석을 세 환경에서 반복하며 차이를 몸으로 확인합니다.
| 환경 | 강점 | 한계 | 맞는 상황 |
|---|---|---|---|
| ① GPT 채팅창 Code Interpreter | 가장 쉬움 — 파일 첨부 + 한국어 대화. 코드를 AI가 쓰고 실행까지 해 줌. | 세션이 끝나면 코드·환경 소멸. 매번 다시 업로드. 외부 서버 업로드라는 보안 고려. | 일회성 분석, 분석 방향 탐색, 입문 |
| ② 구글 코랩 colab.research.google.com | 노트북이 Drive에 영구 저장 — 다음 달 같은 분석을 재실행. 예약 실행 등 자동화 여지. Google 인프라 기반의 보안·운영 신뢰성. | 인터넷 필수, 세션 머신은 휘발성(파일 재업로드 또는 Drive 마운트). 일부 패키지 제약. | 반복되는 정기 분석, 팀과 노트북 공유 |
| ③ 로컬 파이썬 Python + Jupyter | 데이터가 PC 밖으로 나가지 않음(확실한 보안). 패키지·라이브러리 제약 없음. 사내망 데이터도 분석 가능. | 설치·환경 관리 필요. PC 사양에 의존. | 민감 데이터, 고급 패키지, 상시 업무화 |
재무 데이터는 대개 외부 반출이 금지됩니다. 그래서 이 환경 선택이 특히 중요합니다 — 실제 거래처·계좌·단가가 든 원본은 ③ 로컬(또는 사내 승인 환경)에서 분석하고, 학습·탐색은 가명화·치환한 샘플로 ①·②를 쓰는 식으로 나눕니다. "코드는 어디서나 같다"는 점이 핵심입니다 — GPT로 방법을 익히고, 실데이터는 로컬에서 같은 코드로 돌립니다.
환경 ① GPT 채팅창
재무 · 재무제표 분석학습 안내직접 실행. 실습 재무제표를 ChatGPT에 첨부하고 아래 프롬프트 ①~⑤를 순서대로 실행하십시오. 각 프롬프트 아래에 GPT가 실제로 내놓는 설명·표·그래프·코드를 함께 실었습니다 — 여러분의 결과와 비교하며 진행하십시오(수치는 같아야 하고, 문장과 색은 달라도 됩니다).
실습 데이터 — ㈜한빛정밀 3개년 재무제표
가상의 코스닥 상장 제조업체 ㈜한빛정밀(정밀부품 제조, 12월 결산)의 제12기~제14기(2023~2025) 재무제표입니다. 재무상태표 · 손익계산서 · 현금흐름표 3개 시트로 구성되고, 계정과목은 실제 공시 수준으로 상세합니다(단위: 백만원). CFO가 매달 마주하는 바로 그 데이터 — "성장하고 있는가, 남는 장사인가, 버틸 체력은 있는가"가 분석 질문입니다.
프롬프트 ① 재무제표 파악 — 데이터부터 확인한다
파일을 확인했습니다. 재무상태표(계정 40여 개) · 손익계산서(판관비 12개 세부 항목 포함) · 현금흐름표(간접법)의 3개 시트이고, 각 시트 위 3행은 제목·회사명·단위(백만원) 표시입니다. 2023~2025 3개년이 나란히 들어 있습니다. 핵심 항목 요약은 다음과 같습니다.
| 구분 (백만원) | 2023 | 2024 | 2025 |
|---|---|---|---|
| 매출액 | 68,400 | 76,300 | 89,200 |
| 영업이익 | 4,241 | 5,646 | 7,940 |
| 당기순이익 | 2,926 | 3,914 | 5,450 |
| 자산총계 | 60,916 | 70,405 | 84,485 |
| 부채총계 | 24,530 | 30,585 | 39,815 |
| 자본총계 | 36,386 | 39,820 | 44,670 |
눈에 띄는 특징 3가지 — ① 성장 가속: 매출이 +11.5% → +16.9%로 증가 폭이 커지고, 영업이익은 그보다 훨씬 빠르게 늡니다(+33.1% → +40.6%). ② 수익성 개선: 영업이익률이 6.2% → 8.9%로 뚜렷이 좋아졌습니다. ③ 차입 확대: 총차입금이 14,000 → 25,800백만원으로 늘고 유형자산도 +13,300백만원 — 설비 확장 투자를 차입으로 조달한 모습입니다.
프롬프트 ② 지표 계산 — 성장성·수익성·안정성을 표로
성장성 지표 — 증가율은 전년 대비라 2024·2025년만 계산됩니다.
| 성장성 (%) | 2024 | 2025 |
|---|---|---|
| 매출액증가율 | +11.5 | +16.9 |
| 영업이익증가율 | +33.1 | +40.6 |
| 순이익증가율 | +33.8 | +39.2 |
| 총자산증가율 | +15.6 | +20.0 |
해석: 성장이 가속 중이고, 이익 증가율이 매출 증가율을 크게 웃돕니다 — 매출이 늘수록 이익이 더 빠르게 느는 영업레버리지가 작동하고 있습니다. 총자산도 20% 늘어 성장 투자가 병행되고 있습니다.
수익성 지표 — ROA·ROE는 기말잔액 기준입니다.
| 수익성 (%) | 2023 | 2024 | 2025 |
|---|---|---|---|
| 매출총이익률 | 24.0 | 25.1 | 26.3 |
| 영업이익률 | 6.2 | 7.4 | 8.9 |
| 순이익률 | 4.3 | 5.1 | 6.1 |
| ROA(총자산순이익률) | 4.8 | 5.6 | 6.5 |
| ROE(자기자본순이익률) | 8.0 | 9.8 | 12.2 |
해석: 매출원가율이 76.0% → 73.7%로 내려가며 매출총이익률부터 ROE까지 전 단계 이익률이 우상향입니다. ROE 12.2%는 주주 자본을 굴리는 효율이 3년 새 1.5배가 됐다는 뜻입니다.
안정성 지표
| 안정성 | 2023 | 2024 | 2025 |
|---|---|---|---|
| 유동비율 (%) | 202.8 | 195.3 | 182.8 |
| 부채비율 (%) | 67.4 | 76.8 | 89.1 |
| 자기자본비율 (%) | 59.7 | 56.6 | 52.9 |
| 이자보상배율 (배) | 6.8 | 7.2 | 6.9 |
해석: 모든 지표가 아직 안전권(유동비율 180%대, 부채비율 100% 미만)이지만, 방향은 3년 연속 약화 — 설비투자용 차입 증가 때문입니다. 이자보상배율 6.9배로 상환 능력은 충분하나, 금리와 업황 변동에 대비해 추이를 모니터링할 필요가 있습니다.
프롬프트 ③ 시각화 — 경영진 보고용 그래프 4종
아래는 실제로 이 재무제표에서 만들어지는 결과 그래프와 GPT가 덧붙이는 "읽는 법"입니다. 여러분의 결과도 같은 수치가 나와야 합니다(색·폰트는 달라도 됩니다).
프롬프트 ④ 대화의 마무리 1 — 분석 코드를 코랩용으로 받아낸다
여기까지는 채팅 세션이 끝나면 사라지는 일회성 분석입니다. 이 대화의 진짜 산출물은 지금부터 — 같은 분석을 언제든 다시 돌릴 수 있도록 코드를 자산으로 받아냅니다.
아래 12개 셀을 코랩 노트북에 순서대로 붙여넣어 실행하면 지금까지의 표 4개와 그래프 4종이 그대로 재현됩니다. 먼저 준비 3개 셀 — 폰트, 업로드, 데이터 읽기입니다. 셀 2를 실행하면 나타나는 [파일 선택] 버튼으로 재무제표 엑셀을 업로드하세요.
# 한글 폰트 설치 — 그래프 한글이 깨지지 않게 나눔고딕을 설치한다
!apt-get -qq install fonts-nanum > /dev/null
import matplotlib.font_manager as fm
import matplotlib.pyplot as plt
fm.fontManager.addfont("/usr/share/fonts/truetype/nanum/NanumGothic.ttf")
plt.rcParams["font.family"] = "NanumGothic"
plt.rcParams["axes.unicode_minus"] = False
print("폰트 설정 완료")
# 재무제표 엑셀 파일 업로드 — 실행하면 나오는 [파일 선택] 버튼으로
# 한빛정밀_재무제표_2023-2025.xlsx 를 선택한다
from google.colab import files
uploaded = files.upload()
FILE = list(uploaded)[0] # 업로드한 파일 이름
print("업로드 완료:", FILE)
재무제표 시트는 위 3행이 제목·단위 표시라서 header=3으로 읽고, 계정과목의 들여쓰기 공백은 strip으로 제거해 이름만으로 조회할 수 있게 만듭니다.
# 재무제표 3개 시트 읽기 — 제목 3행을 건너뛰고(header=3) 계정과목을 인덱스로 쓴다
import pandas as pd
Y = [2023, 2024, 2025] # 분석 대상 3개년
def load_sheet(name):
df = pd.read_excel(FILE, sheet_name=name, header=3, index_col=0)
df.index = df.index.astype(str).str.strip() # 계정과목의 들여쓰기 공백 제거
return df
bs = load_sheet("재무상태표")
pl = load_sheet("손익계산서")
cf = load_sheet("현금흐름표")
print("재무상태표", bs.shape, "| 손익계산서", pl.shape, "| 현금흐름표", cf.shape)
다음은 표 5개 셀 — 요약표, 지표 계산에 쓸 값 꺼내기, 그리고 성장성·수익성·안정성 표입니다.
# 3개년 핵심 요약표 — 손익계산서·재무상태표에서 여섯 항목을 뽑아 하나로 합친다
요약 = pd.concat([pl.loc[["매출액", "영업이익", "당기순이익"], Y],
bs.loc[["자산총계", "부채총계", "자본총계"], Y]])
요약.style.format("{:,.0f}")
# 지표 계산에 쓸 값 꺼내기 — 계정과목 이름으로 조회한다
매출액 = pl.loc["매출액", Y]
매출총이익 = pl.loc["매출총이익", Y]
영업이익 = pl.loc["영업이익", Y]
당기순이익 = pl.loc["당기순이익", Y]
금융비용 = pl.loc["금융비용", Y]
자산총계 = bs.loc["자산총계", Y]
부채총계 = bs.loc["부채총계", Y]
자본총계 = bs.loc["자본총계", Y]
유동자산 = bs.loc["유동자산", Y]
유동부채 = bs.loc["유동부채", Y]
print("값 준비 완료")
# 성장성 지표 — 전년 대비 증가율(%)
성장성 = pd.DataFrame({
"매출액증가율": 매출액.pct_change() * 100,
"영업이익증가율": 영업이익.pct_change() * 100,
"순이익증가율": 당기순이익.pct_change() * 100,
"총자산증가율": 자산총계.pct_change() * 100,
}).T[Y[1:]].round(1) # 2023년은 전년 자료가 없어 제외
성장성
# 수익성 지표(%) — ROA·ROE는 기말잔액 기준
수익성 = pd.DataFrame({
"매출총이익률": 매출총이익 / 매출액 * 100,
"영업이익률": 영업이익 / 매출액 * 100,
"순이익률": 당기순이익 / 매출액 * 100,
"ROA(총자산순이익률)": 당기순이익 / 자산총계 * 100,
"ROE(자기자본순이익률)": 당기순이익 / 자본총계 * 100,
}).T.round(1)
수익성
# 안정성 지표 — 유동비율·부채비율·자기자본비율(%), 이자보상배율(배)
안정성 = pd.DataFrame({
"유동비율": 유동자산 / 유동부채 * 100,
"부채비율": 부채총계 / 자본총계 * 100,
"자기자본비율": 자본총계 / 자산총계 * 100,
"이자보상배율(배)": 영업이익 / 금융비용,
}).T.round(1)
안정성
마지막으로 그래프 4개 셀입니다. 하나의 셀이 그래프 하나를 그립니다 — 필요한 그래프만 골라 다시 실행할 수 있습니다.
# 그래프① 성장성 — 매출액·영업이익 추이
x = [str(y) for y in Y]
fig, ax = plt.subplots(1, 2, figsize=(10, 4))
ax[0].bar(x, 매출액, color="#2a78d6", width=0.55)
ax[0].set_title("매출액 추이 (백만원)")
ax[1].bar(x, 영업이익, color="#008300", width=0.55)
ax[1].set_title("영업이익 추이 (백만원)")
for a, v in zip(ax, [매출액, 영업이익]):
for i, val in enumerate(v):
a.text(i, val, f"{val:,.0f}", ha="center", va="bottom", fontsize=10)
a.set_ylim(0, max(v) * 1.18)
a.spines[["top", "right"]].set_visible(False)
plt.tight_layout()
plt.show()
# 그래프② 수익성 — 이익률·ROE 추이
x = [str(y) for y in Y]
지표색 = {"매출총이익률": "#2a78d6", "영업이익률": "#008300",
"순이익률": "#e87ba4", "ROE(자기자본순이익률)": "#eda100"}
plt.figure(figsize=(8, 4.5))
for 지표, 색 in 지표색.items():
plt.plot(x, 수익성.loc[지표], marker="o", color=색, label=지표)
plt.text(2.06, 수익성.loc[지표, Y[-1]], f"{수익성.loc[지표, Y[-1]]}%",
color=색, va="center", fontweight="bold")
plt.xlim(-0.3, 2.75)
plt.title("수익성 지표 추이 (%)")
plt.legend(loc="upper left", frameon=False)
plt.gca().spines[["top", "right"]].set_visible(False)
plt.tight_layout()
plt.show()
# 그래프③ 안정성 — 유동비율·부채비율·자기자본비율
import numpy as np
x = [str(y) for y in Y]
지표3 = ["유동비율", "부채비율", "자기자본비율"]
색3 = ["#2a78d6", "#008300", "#e87ba4"]
pos = np.arange(len(Y))
w = 0.26
plt.figure(figsize=(8, 4.5))
for i, (지표, 색) in enumerate(zip(지표3, 색3)):
vals = 안정성.loc[지표, Y]
plt.bar(pos + (i - 1) * w, vals, width=w - 0.03, color=색, label=지표)
for p, v in zip(pos + (i - 1) * w, vals):
plt.text(p, v, f"{v:.0f}", ha="center", va="bottom", fontsize=9)
plt.xticks(pos, x)
plt.ylim(0, 안정성.loc[지표3].to_numpy().max() * 1.15)
plt.title("안정성 지표 추이 (%)")
plt.legend(frameon=False, ncol=3)
plt.gca().spines[["top", "right"]].set_visible(False)
plt.tight_layout()
plt.show()
# 그래프④ 현금흐름 — 3개 활동별 현금흐름 추이
import numpy as np
x = [str(y) for y in Y]
활동 = ["영업활동현금흐름", "투자활동현금흐름", "재무활동현금흐름"]
색4 = ["#2a78d6", "#008300", "#e87ba4"]
pos = np.arange(len(Y))
w = 0.26
plt.figure(figsize=(8, 4.5))
for i, (이름, 색) in enumerate(zip(활동, 색4)):
vals = cf.loc[이름, Y]
plt.bar(pos + (i - 1) * w, vals, width=w - 0.03, color=색, label=이름[:4])
for p, v in zip(pos + (i - 1) * w, vals):
plt.text(p, v, f"{v:,.0f}", ha="center",
va="bottom" if v >= 0 else "top", fontsize=9)
plt.xticks(pos, x)
plt.axhline(0, color="#666666", linewidth=0.8)
plt.margins(y=0.15)
plt.title("활동별 현금흐름 추이 (백만원)")
plt.legend(frameon=False, ncol=3)
plt.gca().spines[["top", "right"]].set_visible(False)
plt.tight_layout()
plt.show()
프롬프트 ⑤ 대화의 마무리 2 — 로컬 주피터용 로딩 코드
로컬에서는 두 가지가 달라집니다 — ① 윈도우에 '맑은 고딕' 폰트가 이미 있으므로 설치가 필요 없고, ② 파일이 이미 내 PC에 있으므로 업로드 대신 경로만 지정하면 됩니다. 코랩 셀 1·2를 아래 두 셀로 바꾸고, 셀 3부터 12까지는 수정 없이 그대로 실행하세요.
# 한글 폰트 설정 — 윈도우 기본 폰트 '맑은 고딕'을 쓰므로 설치가 필요 없다
import matplotlib.pyplot as plt
plt.rcParams["font.family"] = "Malgun Gothic"
plt.rcParams["axes.unicode_minus"] = False
print("폰트 설정 완료")
# 재무제표 엑셀 파일 지정 — 노트북(.ipynb)과 같은 폴더에 엑셀 파일을 둔다
# 다른 폴더에 있다면 전체 경로를 적는다 (예: r"C:\재무자료\한빛정밀_재무제표_2023-2025.xlsx")
FILE = "한빛정밀_재무제표_2023-2025.xlsx"
print("분석 대상:", FILE)
이것이 "코드는 어디서나 같다"의 실체입니다 — 환경이 바뀔 때 손대는 곳은 폰트와 파일을 가져오는 방법뿐, 분석 코드는 한 글자도 바뀌지 않습니다.
환경 ② 구글 코랩
재무 · 재무제표 분석학습 안내직접 실행(무료). 구글 계정만 있으면 됩니다. 환경 ①의 프롬프트 ④에서 받은 셀 12개를 코랩에 붙여넣어 실행해, "같은 코드가 다른 환경에서 그대로 돈다"는 것과 "노트북이 Drive에 저장된다"는 것 두 가지를 확인하십시오.
GPT 채팅창 분석과 무엇이 다른가
장점 1코드의 영구 저장
노트북(.ipynb)이 구글 Drive에 저장됩니다. 다음 분기 결산 후 같은 분석은 노트북을 열어 재실행 한 번 — 채팅을 처음부터 다시 할 필요가 없습니다. 코드+설명+결과가 한 문서에 남아 팀 공유·인수인계 자료가 됩니다.
장점 2재실행과 자동화 가능성
재무제표 파일만 바꿔 끼우면 전체 분석이 그대로 반복됩니다. 셀 단위 실행으로 분석 과정을 통제할 수 있고, Drive 마운트·예약 실행과 결합하면 정기 리포트 자동화의 출발점이 됩니다.
장점 3Google 인프라의 신뢰성
기업 환경에서 OpenAI 업로드는 막혀 있어도 Google Workspace는 허용된 곳이 많습니다. 데이터가 회사가 이미 신뢰 관계를 맺은 Google 계정·Drive 권한 체계 안에서 관리된다는 점이 도입 설득에 유리합니다.
따라하기 — 코랩에서 같은 분석 재현
- colab.research.google.com 접속 → 새 노트북.
- 프롬프트 ④에서 받은 셀 1~12를 순서대로 붙여넣어 실행한다. 셀 2 실행 시 [파일 선택] 버튼으로
한빛정밀_재무제표_2023-2025.xlsx를 업로드한다. - 표 4개·그래프 4종이 GPT 채팅창의 결과와 같은 수치인지 확인한다.
- 파일 → 저장. Drive의 "Colab Notebooks" 폴더에 노트북이 저장된 것을 확인한다.
붙여넣기가 번거로우면 아래 완성 노트북을 내려받아 코랩의 파일 → 노트북 업로드로 열어도 됩니다 — 셀 구성은 프롬프트 ④의 응답과 동일합니다.
환경 ③ 로컬 파이썬
재무 · 보안 중시학습 안내설치 + 실행. 설치 권한이 있는 PC라면 아래 4단계로 환경을 만들고, 제공된 주피터용 완성 노트북을 열어 실행해 보십시오. 설치가 어려운 환경이면 읽고 넘어가도 됩니다 — 통합 실습은 환경 ①·②만으로 가능합니다.
코랩과 무엇이 다른가
장점 1확실한 보안
데이터가 내 PC 밖으로 한 발짝도 나가지 않습니다. 내부 관리회계·원가·거래처·계좌처럼 외부 업로드가 금지된 재무 데이터도 분석할 수 있는 유일한 환경입니다. 사내망 DB 연결도 가능합니다.
장점 2패키지·라이브러리 무제한
코랩에 없는 전문 패키지(사내 전용 라이브러리, 특수 통계·시뮬레이션 도구, 한글 형태소 분석기 등)를 pip install로 자유롭게 설치합니다. 버전 고정으로 재현성도 완전히 통제됩니다.
설치 4단계 — 파이썬과 주피터 노트북
| 단계 | 할 일 | 방법 |
|---|---|---|
| 1 | 파이썬 설치 | python.org/downloads에서 최신 버전 설치. 설치 첫 화면에서 "Add Python to PATH" 체크가 가장 중요합니다. |
| 2 | 설치 확인 | 명령 프롬프트(cmd)에서 python --version 입력 — 버전이 출력되면 성공. |
| 3 | 라이브러리 설치 | pip install jupyter pandas matplotlib seaborn scikit-learn openpyxl 한 줄 실행. |
| 4 | 주피터 노트북 실행 | 데이터가 있는 폴더에서 jupyter notebook 입력 → 브라우저가 열리면 New → Notebook. 코랩과 똑같은 셀 인터페이스입니다. |
따라하기 — 로컬에서 같은 분석 재현
- 위 완성 노트북을 내려받아, 환경 ①에서 받은 재무제표 엑셀 파일과 같은 폴더에 둔다.
- 그 폴더에서
jupyter notebook을 실행하고 노트북을 연다. - 위에서부터 셀을 차례로 실행(Shift+Enter)한다 — 앞 두 셀이 프롬프트 ⑤에서 받은 로컬용 코드(맑은 고딕 폰트 + 파일 경로 지정)이고, 셀 3부터는 코랩과 완전히 같은 코드다.
- 표 4개·그래프 4종이 코랩과 동일하게 나오는지 확인한다.
통합 실습
재무 · 재무제표 분석학습 안내산출. 환경 ①은 필수, ②·③ 중 하나 이상을 골라 같은 분석을 재현합니다. 완료 기준: 표 4개(요약+지표 3표)와 그래프 4종(성장성·수익성·안정성·현금흐름)이 두 환경에서 모두 나오고, 아래 산출물 체크 3건이 채워지면 통과.
| # | 산출물 | 완료 기준 |
|---|---|---|
| 1 | 표 4개 + 그래프 4종 (두 환경 각각) | 요약표·성장성·수익성·안정성 표와 그래프 4종이 교재 샘플과 같은 수치 |
| 2 | 지표 해석 메모 3줄 | 성장성·수익성·안정성 각 1줄씩 본인 문장으로 정리됨 (예: "부채비율 상승은 증설 차입 때문 — 이자보상배율로 감내 가능 판단") |
| 3 | 저장된 분석 자산 | 코랩이면 Drive의 .ipynb, 로컬이면 폴더의 .ipynb — 다음 결산 때 파일만 바꿔 재실행 가능한 상태 |
실습 순서
- 환경 ①: 재무제표를 첨부하고 프롬프트 ①~③을 실행한다. 표·그래프를 교재 샘플과 비교한다.
- 프롬프트 ④·⑤로 코랩용 셀 12개와 주피터용 로딩 셀 2개를 받아낸다.
- 환경 ② 또는 ③: 받은 코드를 순서대로 실행해 같은 표·그래프를 재현한다.
- 산출물 체크 3건을 확인하고, 두 환경의 체감 차이(편의성·속도·저장)를 한 줄로 메모한다.
이 실습의 파일을 우리 회사 재무제표로 바꾸면 그대로 월간·분기 경영보고 분석이 됩니다. 순서도 동일합니다 — 시트 구성만 비슷하게 맞추고 노트북을 재실행하면 표·그래프가 새 숫자로 다시 나옵니다. 단, 시작 전에 보안 판정부터: 공시된 재무제표는 공개 정보라 업로드 부담이 적지만, 내부 관리회계·사업부별 손익·원가 데이터는 로컬 환경(환경 ③)에서 같은 코드로 분석하십시오.
부록 · 더 해보기
학습 안내선택 · 부록. 학습이 빠른 분을 위한 추가 미션입니다. 관심 가는 것 1개만 골라 진행해도 충분합니다.
MISSION 1지표 확장 — 활동성과 현금흐름의 질
GPT에 ① "총자산회전율·재고자산회전율·매출채권회수기간을 계산해 활동성 표를 추가해줘" ② "영업활동현금흐름을 영업이익·당기순이익과 비교해 이익의 질을 평가해줘"를 요청해 보십시오. 재무에서는 활동성 지표가 곧 운전자본 관리(재고·채권에 잠긴 현금 찾기), 현금흐름 대비 이익 비교가 이익의 질 분석이 됩니다.
MISSION 2내 회사(또는 경쟁사) 재무제표로 전환
전자공시시스템(DART)에서 동종 상장사의 사업보고서 재무제표를 받아, 같은 프롬프트·같은 노트북으로 분석해 보십시오. 파일만 바꿔 끼우는 훈련이 이 교재의 목적입니다. 자기 회사 데이터를 쓸 때는 시작 전에 ① 외부 업로드 가능 여부 판정 ② 불가하면 로컬 환경(환경 ③) 사용 — 보안 판정 자체가 이 미션의 절반입니다.
MISSION 3분석 결과를 보고서·자동화로 연결
완성한 표·그래프를 경영 보고서·PPTX에 삽입하고, 더 나아가 "분기마다 갱신되는 재무제표 파일을 코랩 노트북으로 분석 → 결과 차트를 메일로 발송"하는 흐름을 설계해 보십시오.
과정 정리
- VBA로 가능한 분석(집계·차트·KPI)과 파이썬이 필요한 분석(지표 일괄 계산·통계·고급 시각화)을 구분할 수 있다
- pandas·matplotlib·seaborn·scikit-learn의 역할을 한 줄씩 설명할 수 있다
- 3개년 재무제표를 GPT 채팅창과 코랩(또는 로컬 주피터)에서 동일하게 분석해 보았다
- 성장성·수익성·안정성 지표 표와 활동별 현금흐름 그래프를 읽고 CFO 관점으로 해석할 수 있다
- 보안·저장·자동화 기준으로 세 분석 환경 중 업무에 맞는 것을 고를 수 있다