파이썬으로 마법의 공식 구현하기 2 - ROA, ROE 가져오기
본문 바로가기
파이썬으로 만든 것들/마법의 공식

파이썬으로 마법의 공식 구현하기 2 - ROA, ROE 가져오기

by Squat Lee 2021. 5. 27.

지난번 포스트에 이어서 이번에는 ROA를 웹에서 가져오는 방법을 기록하겠습니다.

 

지난번 포스트는 아래 링크를 참고하세요 ↓

2021.05.26 - [파이썬/Python Project] - 파이썬으로 마법의 공식 구현하기 1 - 종목 데이터, PER 가져오기

 

requests 모듈을 이용해서 에프엔가이드에서 제공하는 ROA를 가져오겠습니다.

code 명과 가져올 시점(해당 분기 또는 사업보고시점)을 파라미터로 넣어주면 ROA를 가져오는 과정입니다.

 

ROA를 가져오는 김에 ROE도 함께 불러오도록 하겠습니다.

 

url = 'https://comp.fnguide.com/SVO2/ASP/SVD_FinanceRatio.asp?pGB=1&gicode=' + code + \
'&cID=&MenuYn=Y&ReportGB=&NewMenuID=104&stkGb=701'

에프엔가이드에 가시면 기업 재무비율을 볼 수 있는 페이지가 있습니다. 페이지 주소를 보면 코드가 'A000000' 이런식으로 들어가는 부분이 있는데, 이 코드명을 기준으로 페이지가 변경됩니다.

 

저는 이것을 이용해서 크롤링을 했습니다. 모든 종목코드를 하나씩 넣어서 표시되는 ROA를 가져와서 데이터프레임으로 만들었습니다.

 

fr_page = requests.get(url)

위에 url 주소를 가져와서 fr_page 변수에 담습니다.


fr_tables = pd.read_html(fr_page.text)

Beautifulsoup을 쓰지 않더라도 판다스에서 자체 제공하는 파싱 모듈이 있습니다. read_html을 써서 여러 테이블을 가져옵니다.

 

temp_df = fr_tables[0]

테이블이 2개가 나오는데, 첫번째 테이블을 가져왔습니다.


temp_df = temp_df.set_index(temp_df.columns[0])

실제 에프엔가이드에서 보면 위와 같이 테이블이 보이지만, 파이썬으로 가져와 보면 'ROA계산에 참여한 계정 펼치기'로 나옵니다. 각각의 'ROA계산..', 'ROE계산..' 컬럼을 인덱스로 설정하였습니다.

 
temp_df = temp_df.loc[['ROA계산에 참여한 계정 펼치기', 'ROE계산에 참여한 계정 펼치기']]

필요한 행(row)만 가져옵니다.


temp_df.index = ['ROA', 'ROE']

인덱스명을 'ROA', 'ROE'라고 적어줍니다.


temp_df = pd.DataFrame({code : temp_df[year]})

종목코드를 넣고, 가져올 시점(분기, 사업보고)의 컬럼을 가져와서 데이터프레임을 만듭니다.


temp_df = temp_df.transpose()

종목코드로 데이터프레임을 계속 추가해야 하기 때문에 행과 열의 위치를 바꿔줍니다.


return temp_df

temp_df를 반환합니다.

 

다음포스트는 이렇게 만든 종목코드와 PER를 가져오는 함수. 그리고 이번 ROA를 가져오는 함수를 이용해서 전 종목의 데이터프레임을 만든 다음 마법의 공식을 통해 정렬하는 과정에 대해서 기록하겠습니다.

 

 

2021.05.28 - [파이썬/Python Project] - 파이썬으로 마법의 공식 구현하기 3 - ROA, PER의 순위를 매겨서 최종순위 정렬하기

 

파이썬으로 마법의 공식 구현하기 3 - ROA, PER의 순위를 매겨서 최종순위 정렬하기

지난번 포스트까지 전 종목 코드와 PER을 가져오는 함수와 코드를 입력하면 ROA를 가져올 수 있는 함수를 만들었습니다. 지난번 포스트는 아래 링크를 참고하세요. ↓ 2021.05.27 - [파이썬/Python Proje

dotsnlines.tistory.com

 

CAGR(연복리 수익률) 30%를 목표로 하는 파이썬 퀀트투자법이 궁금하시다면 아래 링크를 클릭해 보시기 바랍니다.

2021.11.21 - [집구석 강의/파이썬 퀀트투자 쉽게하기] - 파이썬 퀀트투자 쉽게하기 - 1. 들어가는 글

 

파이썬 퀀트투자 쉽게하기 - 1. 들어가는 글

퀀트투자는 참으로 매력적인 투자방법입니다. 일정한 기준으로 종목을 선별해서 일정한 기간 후에 기계적으로 매도하고, 다시 같은 방법으로 매수합니다. 이런 작업을 계속해서 반복하다 보면

dotsnlines.tistory.com

 

728x90
반응형

댓글