주식 api를 쓰다 보면 휴일을 입력 할때 데이터를 못받아 주는 경우가 있다
그래서 특정 날짜를 입력했을때 가장 가까운 영업일로 바꿔주고
한국시장은 일하는데 미국시장은 쉬는 1월 16일(월) 마틴루터킹 데이에서 각각 구분이 되는지 확인해 보았다
import pandas_market_calendars as mcal
import datetime
# define the Korea Exchange calendar
korea_calendar = mcal.get_calendar('XKRX')
AME_calendar = mcal.get_calendar('NYSE')
start_date = '2020-01-01'
end_date = '2025-12-31'
schedule_kr = korea_calendar.schedule(start_date=start_date, end_date=end_date)
business_days_kr = schedule_kr.index.date.tolist()
schedule_ame = AME_calendar.schedule(start_date=start_date, end_date=end_date)
business_days_ame = schedule_ame.index.date.tolist()
tdy = datetime.date(2023, 1, 16)
if tdy in business_days_kr:
ytdy_kr = tdy
else:
result_list = [x for x in business_days_kr if x < tdy]
ytdy_kr = result_list[-1]
if tdy in business_days_ame:
ytdy_ame = tdy
else:
result_list = [x for x in business_days_ame if x < tdy]
ytdy_ame = result_list[-1]
print(ytdy_kr)
print(ytdy_ame)
결과 :
2023-01-16
2023-01-13
1월 16일에서 가장 가까운 한국장 영업일은 당일이고
미국장은 그날 쉬기 때문에 1월 13일을 반환하였다
'컴퓨터' 카테고리의 다른 글
PYKRX - 상장폐지종목 빼고 종목 리스트 만들기 (0) | 2023.05.04 |
---|---|
AWS EC2의 서버시간 한국시간으로 맞추기 (0) | 2023.04.24 |
aws ec2 웹 서비스의 도메인 등록을 위한 포트 설정 (0) | 2023.03.05 |
aws ec2에서 백그라운드 실행 및 종료 (0) | 2023.03.05 |
linux를 window나 다른 gui 기반 os보다 서버용으로 많이 쓰는 이유 (0) | 2023.03.01 |