파이썬으로 퀀트투자 포트폴리오 만들기 - 3. 재무제표를 이용해서 FCF 계산하기
이번 포스트에서는, 크롤링한 재무제표를 이용해서 FCF를 계산해보겠습니다.
FCF, Free Cash Flow
FCF는 잉여현금흐름입니다. PFCR을 계산하기 위해서는 이 FCF값이 필요합니다.
FCF는 간단하게 영업활동으로인한 현금흐름 - 유형자산의증가 항목으로 계산해줄 수 있습니다.
책에 나와있는 코드는 이미 저자의 깃허브에 공개되어있으므로 따로 기재하진 않고, 제가 작성한 FCF계산로직만 소개하도록 하겠습니다.
if frequency == "q":
try:
cash_flow_row = data[data['계정'] == '영업활동으로인한현금흐름']
for row in range(len(cash_flow_row)):
asset_increase = data[data['계정'] == '유형자산의증가']
fcf_row = {
"계정": "FCF",
"기준일": cash_flow_row['기준일'].values[row],
"값": cash_flow_row['값'].values[row] - asset_increase['값'].values[row],
"종목코드": cash_flow_row['종목코드'].values[row],
"공시구분": frequency
}
fcf_rows.append(fcf_row)
except IndexError:
fcf_row = {
"계정": "FCF",
"기준일": data['기준일'].values[-1],
"값": 0,
"종목코드": data['종목코드'].values[-1],
"공시구분": frequency
}
fcf_rows.append(fcf_row)
data = pd.concat([data, pd.DataFrame(fcf_rows)], ignore_index=False)
항목이 분기 재무제표일때만 계산합니다. 일단 재무제표에서 영업활동으로인한현금흐름
과 유형자산의증가
를 사용합니다.
직전 4개분기 데이터를 긁어오므로 아마 종목당 4번을 반복할 것 입니다.
dictionary의 형태로 만들어주고, key는 DB의 컬럼에 맞게 만들어서 각각의 값을 넣어줍니다. 값
에는 아까 계산식을 넣어줍니다.
다 계산되면 fcf_rows
라는 배열에 차곡차곡 넣어주고, 반복문이 다 끝나면 마지막에 pd.concat
을 이용해서 기존 재무제표 최하단에 같이 합쳐줍니다.
이렇게 계산된 재무제표는, 기존에 DB저장하는 흐름대로 넣어주면됩니다. (즉 재무제표를 DB에 저장하기전에 계산하고 저장해야함)
계산 결과
네이버 증권 종목분석 > 기업현황 하단에 FCF가 나와있으므로 이 것과 비교해보고자합니다. 대상은 삼성전자 입니다.
보시는 바와 같이, 네이버증권 정보(위)와 제가 계산한 정보(아래)가 일치함을 알 수 있습니다.
끝!
반응형
'파이썬으로 퀀트투자 포트폴리오 만들기' 카테고리의 다른 글
파이썬으로 퀀트투자 포트폴리오 만들기 - 5. 여러가지 밸류팩터 계산해보기 (0) | 2023.09.02 |
---|---|
파이썬으로 퀀트투자 포트폴리오 만들기 - 4. 부채비율 계산하기 (0) | 2023.09.02 |
파이썬으로 퀀트투자 포트폴리오 만들기 - 2. 내가 만든 스크리너와 비교해보기 (0) | 2023.08.27 |
파이썬으로 퀀트투자 포트폴리오 만들기 - 1. 국내 주식 관련 데이터베이스 / 테이블 생성하기 (1) | 2023.08.24 |
파이썬으로 퀀트투자 포트폴리오 만들기 시작! (0) | 2023.08.23 |
댓글