레이블이 github인 게시물을 표시합니다. 모든 게시물 표시
레이블이 github인 게시물을 표시합니다. 모든 게시물 표시

월요일, 10월 27, 2025

LLM을 이용한 환율, 지수, 주가 비교 사이트 제작기 (1)

오늘은 머리속으로만 생각해오던 Vibe coding 작업을 한번 해본 것 한번 끄적끄적 적어 올립니다.

이번 작업은 아마 좀 그럴듯해지는 결과물이 나올때 까지 시리즈로 올릴 계획입니다.

첫번째로 올리는게 LLM을 활용하고 AI를 도입한 무슨 무슨 유전체 분석 파이프라인이면 좋았을 수 도 있겠지만 자본주의 시장에서 Cash is King이니 환율, 주식, 지수를 한눈에 볼 수 있도록 하는 그럴듯한 차트를 만들어보는 것을 첫번째 주제로 잡아보았습니다.

당연히 제가 수정할 수 있도록 python, flask를 사용해서 작업해달라고 하고 있습니다.

지금은 chatGPT와 gemini에게 만들어달라고 해보고 있는데 grok와 perplexity를 이용할 예정입니다.

작성된 코드는 업데이트하여 계속 아래 제 github에 commit하도록 하겠습니다. :)

github: dashboard_poc


chatGPT에게 요청

나는 환율가격정보와 여러국가의 증권시장 지수 정보, 한국에 상장되어 있는 상장사들의 주가정보, 미국에 상장되어 있는 상장사들의 주가정보를 일자별로 개시가, 종가, 고가, 저가, 거래량 정보를 가지고 있습니다. 나는 이 정보들을 실시간으로 특정 기간 동안 또는 확인 할 수 있는 전체 기간 동안 비교 하고 싶어. 예를 들어 달라/원 환율정보, 한국의 삼성전자 주가, 미국의 나스닥 지수를 한국의 코스피 지수를 한 화면에 비교하면서 보고 싶어 환율가격정보와 여러국가의 증권시장 지수 정보, 한국에 상장되어 있는 상장사들의 주가정보, 미국에 상장되어 있는 상장사들의 주가정보들은 각각 sqlite3 데이터베이스 파일로 저장되어 있어.
환율가격정보는 finance_currency.db 파일에 currency라는 테이블에
symbol TEXT,
date DATE, open REAL,
high REAL,
low REAL,
close REAL,
volume INTEGER,
dividends REAL,
stock_splits TEXT 구조로 되어 있어. 
여러국가의 증권시장 지수 정보는 finance_index.db 파일에 stocks라는 테이블에, 한국에 상장되어 있는 상장사들의 주가정보는 finance_stock_kr.db파일에 stocks라는 테이블에, 미국에 상장되어 있는 상장사들의 주가정보는 finance_stock.db 파일에 stocks라는 테이블에 stocks라는 테이블에 저장되어 있습니다. 
stocks 테이블은 
symbol TEXT,
date DATE, open REAL,
high REAL,
low REAL,
close REAL,
volume INTEGER,
dividends REAL,
stock_splits TEXT 구조로 되어 있어. 
나는 Python 3.12 기준으로 FLASK를 사용해서 데이터베이스에 있는 환율가격정보와 여러국가의 증권시장 지수 정보, 한국에 상장되어 있는 상장사들의 주가정보, 미국에 상장되어 있는 상장사들의 주가정보들을 실시간으로 확인할 수 있는 웹페이지를 개발해줘.




gemini에게 요청
1. 환율, 인덱스지수, 한국주식종목, 미국주식종목은 각 데이터베이스에서 로딩하여 항목들을 보여주면 좋겠습니다. flask를 시작할 때 환율, 인덱스지수, 한국주식종목, 미국주식종목 의 데이터베이스에서 symbol 항목들을 먼저 불어와서 선택시 지연이 생기지 않으면 합니다.

2. 화면에서 환율, 인덱스지수, 한국주식종목, 미국주식종목 을 선택하는 하는 방법은 드랍다운 메뉴를 통해서 환율, 인덱스지수, 한국주식종목, 미국주식종목 을 선택 할 수 있으면 좋겠습니다. 동일한 화면에서 여러개의 항목을 보여주어야합니다. 추가할 때는 "추가"버튼 또는 "+" 아이콘을 클릭하면 추가 할 수 있으면 좋겠습니다. 그리고 추가한 항목을 삭제할 떄는 "-" 버튼을 클릭하여 항목을 언제나 추가, 삭제할 수 있어 사용자가 편리하게 환율, 인덱스지수, 한국주식종목, 미국주식종목의 항목을 조회할 수 있으면 좋겠습니다.

3. 환율, 인덱스지수, 한국주식종목, 미국주식종목 등 한 chart화면에 다양한 단위의 정보를 부여줘야합니다. Y축의 척도를 환율, 인덱스지수, 한국주식종목, 미국주식종목등 선택한 항목에 따라 동적(dynamic)으로 단위를 자동으로 확인하여 표시해주면 좋겠습니다.

환율은 교환하는 통화의 단위에 따라 표시가 어렵기에 인덱스지수 처럼 단위가 없이 표시해주면 됩니다.

한국주식종목은 원화 기준이기에 달라 기준인 미국주식종목과 단위가 없는 환율, 인덱스지수와 함께 표시할 때 상대적으로 큰 숫자로 표시되어 다른 항목들의 값이 정상적으로 표현되지 않을 수 있습니다.

사용자가 각 항목을 확인 할 때 불편하지 않도록 항목에 따라 Y축의 척도, 단위를 자동으로 구성해주면 좋겠습니다.

4. 환율, 인덱스지수, 한국주식종목, 미국주식종목 등 여러가지 그래프를 하나의 chart화면에서 보여 줄 때 모든 정보들이 보이지 않고 마지막으로 추가한 항목의 그래프만 보이는 오류가 발생할 수 있습니다. 이런 오류가 발생하지 않도록 코드를 오류 없이 작성해주세요.

5. 업로드한 파일은 초기에 작성한 python FLASK로 작성한 파일입니다. 참고하여 위의 요청사항들을 반영하여 사용자가 사용하기 편리하고 오류없는 python기반의 FLASK 사이트를 작성해줘.


첫번째는 chatGPT에게 대략적인 내용을 설명하고 코드를 작성해달라고 하였고, 이후 gemini에게 chatGPT가 작성한 코드를 바탕으로 추가 요청사항을 알려주었습니다.


그래서 아래와 같이 결과물이 나왔는데... 

물론 아직 멀었습니다. 일단 이쁘지가 않습니다. 그리고 Y축의 척도가 선택한 항목에 따라 동적으로 scale이 조정되면 좋을 것 같은데... 그렇지 않다보니 숫자가 작은 항목을 선택하면... 바닥에 기어가는 그래프들만 볼때가 있네요..


그래도 머리에 있는 내용을 타이핑해서 상대방에게 알려주는 것이 얼마나 어려운것인지 다시한번 느끼고 있으며 그럼에도 불구하고 이 내용을 A부터 Z까지 python이라지만 내가 코드를 작성할 수 있었을까? 라는 생각을 가지고 감탄하고 있습니다. :)


아이디어와 설명, 표현을 LLM에게 잘 한다면 사실 못할게 없을것 같네요. :)

그리고 위에서 얘기한것과 같이 다른 LLM들도 사용할 예정인데 품질 향상을 위해서가 아니라 무료 버전을 사용하고 있어서 하나의 모델에게 많은 일을 시키지 못해서 그렇습니다. :) 

음... 좀 번거롭긴 하지만 생각보다 약간씩 모델에 차이가 있다보니 여러 LLM을 돌려사용하면 품질이 조금 더 향상되지 않을까 합니다. ㅎㅎ
더 업데이트해서 지금보다 나은 결과물을 가지고 두번째 글을 쓰도록 하겠습니다. :)




출처: @ye._.vely618

목요일, 10월 03, 2024

개인프로젝트 -주식정보를 모아보자-

이전에 파이썬 모듈인 yfinance를 사용한 파이썬 스크립트를 github에 업로드한 적이 있었는데.. 오늘은 살짝 업데이트를 해보았습니다.

기존에는 스크립트를 실행하기 전에 주식정보의 업데이트 기간을 직접 수정했었는데 이번에는 sqlite3에 저장되어 있는 정보를 기준으로 최신 자료가 아닐 때만 업데이트 하도록 수정했습니다.

뭐.. 물룬 chatGPT에게 이런 기능의 코드를 작성해줘 라고 하니 뚝딱 나오더라구요.

거기서 필요한 내용만 수정해서(거의 99.99% 동일) github에 첫 finance 프로젝트 코드를 업데이트 했습니다. 

물론 자동화 루틴에 airflow라는... 좋은 툴이 있기는 하지만.. 

개인 프로젝트 작업이다보니 그냥 시스템을 사용하기전에 한번 클릭해서 사용할 수 있도록 코드를 수정했다는 것에 만족하고 있습니다. :)


오늘 코드는

update_stock.py: Yahoo Finance에서 미국 주식 Ticker로 주식 정보를 저장하는 스크립트

update_stock.KR.py: Yahoo Finance에서 한국 주식 정보를 저장하는 스크립트

입니다.



출처: @ye._.vely618

월요일, 5월 13, 2024

Open Dart 활용하기 (2)

오늘은 Open Dart API를 활용하는 두번째 시간입니다.

사실 Open Dart API를 활용하면서 이것저것 테스트 하고 있었는데  뜻밖에 좋은 github를 알게되어서...

어렵지 않게 data에서 자료를 뽑아올 수 있게 되었습니다.

그리고 이제는 pandas를 좀 더 잘 사용할 수 있어야 더 수월하게 자료를 수집할 수 있을 것 같습니다.

각설하고 좋은 github는 FinanceData 입니다.

- 한국과 미국 및 몇몇 주요 나라의 주가 정보를 쉽게 크롤링 할 수 있게 해주는 FinanceDataReader

- OpenDart라는 금융감독원에서 제공하고 있는 전자공시시스템의 API를 더 쉽게 사용할 수 있게 해주는 OpenDartReader


앞서 다른 글들에서 언급했었던 yfinance와 dart_fss를 하나 하나 기능과 어떤 결과들이 return되는지 테스트하고 있었는데, 갑자기 이 github가 눈앞에.. Orz

좀더 열심히 검색해 볼 껄, 역시 세상에는 착한 능력자 분들이 많다는 :)

다음 안내글은 FinanceDataReader 활용하기, OpenDartReader 활용하기 정도가 되지 않을까합니다.



출처: @ye._.vely618