python을 통해서 주식시장의 영업일 구하기 :: 테크니션
반응형

주식 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일을 반환하였다

 

 

 

반응형

+ Recent posts