인플레이션 때문에 CPI 데이터가 필요했는데 기대와는 다르게 주식 데이터처럼 쉽게 다운로드할 수가 없었다.
구글링을 통해 그럭저럭 해결할 수 있었다.
https://data.bls.gov/cgi-bin/surveymost? bls에서
해당 지수를 클릭 후 Retrieve data를 누르면
해당 기간을 선택 후 GO 버튼을 누르면 데이터가 테이블로 주어진다. xlsx 포맷으로도 다운 가능하다.
기관에서 데이터를 요청할 수 있는 파이썬 코드를 공유하였다.
#-----------------------------------------------------------------------------------------------------
import requests
import json
import prettytable
headers = {'Content-type': 'application/json'}
data = json.dumps({"seriesid": ['CUUR0000 SA0'], "startyear":"2003", "endyear":"2012"})
p = requests.post('https://api.bls.gov/publicAPI/v2/timeseries/data/', data=data, headers=headers)
json_data = json.loads(p.text)
for series in json_data['Results']['series']:
x=prettytable.PrettyTable(["series id","year","period","value","footnotes"])
seriesId = series['seriesID']
for item in series['data']:
year = item['year']
period = item['period']
value = item['value']
footnotes=""
for footnote in item['footnotes']:
if footnote:
footnotes = footnotes + footnote['text'] + ','
if 'M01' <= period <= 'M12':
x.add_row([seriesId,year,period,value,footnotes[0:-1]])
output = open(seriesId + '.txt','w')
output.write (x.get_string())
output.close()
#-----------------------------------------------------------------------------------------------------
위 코드를 실행시키면 같은 폴더 내에 아래와 같은 txt 파일이 생성된다. 해당 기간을 지정해줘야 하는데 최대 10년 치 밖에 저장이 안 된다. 그래서 두 번에 나눠서 받아 합치는 작업을 거쳤다.
반복 작업을 피하기 위해 나중에 쓰기 편한 형태로 저장하였다.
발표 날짜는 매월 13-15일로 불규칙한 것 같아 월말로 단순화하였다.
'자산관리' 카테고리의 다른 글
물가연동 채권 TIPS ETF 비교 II (0) | 2022.06.19 |
---|---|
물가연동 채권 TIPS ETF 비교 I (0) | 2022.06.15 |
뱅가드 401K 전략 연구 I (0) | 2022.06.08 |
원자재 ETF 비교 (0) | 2022.05.29 |
뱅가드 401K Mutual Fund 적립식 투자 수익 비교 1 (0) | 2022.05.27 |