FinAgent Lab 3

[LLM] context 기반 답변 비교

이전에 재무제표 데이터로 DB를 구축했으니 이 데이터를 이용해 사용자 쿼리에 대해 답변을 생성해 보도록하겠습니다. 1. DB 조회해서 데이터 가져오기psycopg2.connect()을 사용해 디비에 연결된 상황고 query 변수로 사용자가 원하는 해외 기업이 input으로 들어왔다고 가정하고 진행하도록 하겠습니다. def get_company_financial_data(conn, ticker): """특정 기업의 모든 재무 데이터 조회""" cursor = conn.cursor() # 기업 정보 확인 cursor.execute( "SELECT ticker, company_name FROM companies WHERE ticker = %s", (ticker,) ) ..

FinAgent Lab 2025.03.27

[DB] Postgresql DB 구축하기

일전에 크롤링을 통해 얻었던 재무제표 데이터를 활용해 로컬에서 postgresql DB를 구축해 자연어 쿼리에서 엔티티를 추출했다는 가정하에, 특정 기업에 대한 데이터를 디비에서 조회해서 LLM에게 context로 제공해 답변을 생성해보도록 하겠습니다. 1. Postgresql 설치도커 컨테이너를 사용하지않고 가장 기본적인 로컬 환경에서 실행을 할 것이기 때문에 아래 명령어로 먼저 Postgresql 서버가 실행중인지 확인해줍니다. brew services list 초기엔 당연히 postgresql이 안나올것이고 실행을 위해서는 "brew services start postgresql" 명령어를 입력해줘야합니다.  실행후 사진과같은 에러가 발생했다면, postgresql이 설치되어있지 않아서 생긴 에러이..

FinAgent Lab 2025.03.26

[crawling] 해외 기업 재무제표 crawling 해오기

국내 주식을 대상으로 Agent를 개발하던 중 대상이 해외 종목으로 바뀌면서, 기존에 "한경컨센서스"에서 가져오던 재무제표 데이터를 새로운 출처에서 확보해야 했습니다. 이 과정에서 발견한 유용한 해외 종목 데이터 사이트들과 크롤링 과정을 소개합니다. 1. 해외 기업 데이터 사이트 소개1) MacrotrendsMacrotrends는 미국 기업들의 재무정보를 무료로 제공하는 사이트입니다. 중앙 검색창을 통해 원하는 기업을 찾으면 해당 기업의 재무 데이터를 종합적으로 확인할 수 있습니다.  중앙 서치바를 통한 기업 검색을 통해 해당 기업의 매출, 이익, 가격 지표 등 다양한 데이터를 확인할 수 있습니다.  주요 특징:기업의 과거 15년 치 데이터 제공 (매출, 순이익, 자산, 부채, 현금흐름 등)모든 주요 재..

FinAgent Lab 2025.03.25