반응형
문제 인식 : datetime, date, timedelta를 이용하여 반복 작업 피하기
주식 자동 거래 RPA를 만들어 활용하고자, yfinance 모듈을 이용하여 특정 종목 혹은 지수의 기간동안의 데이터를 수집하고 싶었다.
먼저 pypi에서 yfinance 모듈의 가이드를 찾아보았다.
https://pypi.org/project/yfinance/
다양한 설명중에 특정 종목의 기간별 데이터를 받아오는 예제를 확인하였다.
예제상에 나와있는 내용중, 'start'와 'end' 매개변수를 특정 날짜의 string 값으로 입력한다는 것을 확인하였다.
하지만, RPA상 매번 일일히 날짜를 새로히 입력할 수는 없는 법.
그래서 날짜에 대한 매개변수를 자동으로 입력하도록 하기 위해 datetime, date, timedelta 모듈을 사용하기로 하였다.
datetime, date, timedelta 예제로 주식 정보 가져오기 자동화
먼저, datetime 모듈에서 datetime, date, timedelta를 import하여 준다.
from datetime import datetime, date, timedelta
import pandas as pd
import yfinance as yf
pandas와 yfinance 모듈은 dataframe의 설정과 주식 데이터를 불러오기 위해 import 하였다.
위에 설명된 예시를 수정하여, 'SPY' 종목의 현재부터 과거 5년치 data를 모두 가져오도록 프로그래밍을 작성하였다.
start = str(date.today() - timedelta(days=1825)) # years 매개변수는 없다?? 3년 = 1095, 5년 = 1825
end = str(date.today())
data = yf.download(['SPY'],start=start, end=end)
특이한 점은, timedelta에서는 기본적으로 days(일수)를 기준으로 설정하도록 되어있다. (Years는 없다. 아마도 datetime이기 때문이지 않을까 한다...)
반응형
'맨땅에 프로그래밍 > Python 복기장' 카테고리의 다른 글
Python으로 적정 원달러 환율 구하기(feat. 달러 투자 무작정 따라하기) (0) | 2024.03.27 |
---|---|
Fear & Greed Index(공탐지수) Python으로 가져오기 (0) | 2024.03.05 |
Dataframe에서 특정 단어를 포함한 행 삭제 하기(Feat. Pandas) (0) | 2023.06.27 |
Python으로 환율정보 가져오기 (기간 환율 평균 구하기) (0) | 2023.06.12 |
Python 복기장 시작합니다 (0) | 2023.04.12 |