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

목요일, 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

월요일, 3월 20, 2023

AAPL 1년치 주식 자료를 쉽게 다운로드 받을 수 없을까?

왜 없겠습니까?

그래서 chatGPT와 Bing에게 물어보았습니다.


chatGTP

----

Q: https://finance.yahoo.com/ 에서 API를 이용해서 AAPL 주식 1년 자료 다운로드 받는 코드 짜줘.

A: 안녕하세요! Yahoo Finance API는 2017년 이후에 deprecated되어 더 이상 지원되지 않기 때문에, 이를 이용한 데이터 수집이 불가능합니다. 대신 Yahoo Finance에서는 다양한 주식 데이터를 제공하고 있으므로 다른 방법으로 데이터를 수집해야 합니다.

먼저, Python에서는 yfinance 라이브러리를 이용해서 Yahoo Finance에서 주식 데이터를 다운로드할 수 있습니다. yfinance를 사용하면 간편하게 주식 데이터를 다운로드할 수 있습니다. 아래는 yfinance 라이브러리를 이용해 AAPL의 1년치 주식 데이터를 다운로드하는 코드입니다.

import yfinance as yf

import datetime


start_date = datetime.datetime.now() - datetime.timedelta(days=365)

end_date = datetime.datetime.now()


# AAPL의 주식 데이터를 다운로드합니다.

aapl = yf.download("AAPL", start=start_date, end=end_date)


# CSV 파일로 저장합니다.

aapl.to_csv("AAPL.csv")


이 코드는 현재 날짜를 기준으로 1년 전부터 현재까지의 AAPL 주식 데이터를 다운로드하고, CSV 파일로 저장합니다. 위 코드에서 start_date와 end_date 변수를 변경함으로써 원하는 기간의 데이터를 다운로드할 수 있습니다.

----


BING

----

# yfinance 라이브러리 설치

pip install yfinance

# yfinance 라이브러리 임포트

import yfinance as yf

# AAPL 티커 객체 생성

aapl = yf.Ticker("AAPL")

# 1년 동안의 주가 데이터 가져오기

hist = aapl.history(period="1y")

# 데이터를 csv 파일로 저장하기

hist.to_csv("aapl_1y.csv")

----


chatGTP와 bing에게 코드를 작성해 달라고 하였을 때 현재 단순한 코드에서는 chatGPT의 손을 들어주고 싶습니다.

그 이유는 date와 period의 차이라고 해두죠. 나중에 특정 년 월 일을 사용할 것을 생각한다면 bing보다는 chatGPT가 (아직은) 한 수 위 인듯 합니다. :)




출처: @ye._.vely618