데이터 분석가

주식 데이터 API 서비스 (Udemy project 13) 본문

유데미 부트캠프 프로젝트(Final)

주식 데이터 API 서비스 (Udemy project 13)

PlintAn 2023. 7. 2. 14:12

안녕하세요 !

이번 시간에는 원하는 주식 데이터를 불러와서 json 파일로 저장하는 API 서비스 프로그램을 만들어볼게요

 

이같이 원하는 주식 데이터를 간편하게 가져와 json 파일로 저장한다면 데이터 분석에도 큰

 

도움이 될거 같습니다 !

 

그러기 위해선 Stock API 데이터를 무료로 제공하는 사이트인 marketsatck을 이용할게요

 

https://marketstack.com/

 

marketstack - Real-Time & Historical Stock Data API

170,000+ Stock Tickers Easily integrate the API and make use of 170,000+ worldwide stock tickers, collected from 70 global exchanges, including Nasdaq, NYSE, and more. No Credit Card Required Get up and running quickly using the Free Plan, allowing for 1,0

marketstack.com

해당 사이트에서 가입을 하면 한달에 100건에 대한 주식 API 데이터를 제공받을 수 있습니다

 

import csv
import requests

api_key = 'YOUR'  # marketstack.com에서 발급받은 API 키를 입력하세요

# API 엔드포인트 URL 및 파라미터 설정
endpoint = 'http://api.marketstack.com/v1/eod'
params = {
    'access_key': api_key,
    'symbols': 'AAPL',  # 가져올 주식 심볼 (여러 개의 심볼을 콤마로 구분하여 입력할 수 있습니다)
    'date_from': '2023-06-01',  # 데이터 시작일
    'date_to': '2023-06-30'  # 데이터 종료일
}

# API 요청 보내기
response = requests.get(endpoint, params=params)

# 응답 데이터 확인
if response.status_code == 200:
    data = response.json()
    
    # CSV 파일 경로 설정
    file_path = 'YOUR'
    
    # CSV 파일 생성 및 데이터 추가
    with open(file_path, 'w', newline='') as csvfile:
        writer = csv.writer(csvfile)
        writer.writerow(['Symbol', 'Date', 'Open', 'Close'])  # 헤더 작성
        
        # 데이터 작성
        for stock in data['data']:
            symbol = stock['symbol']
            date = stock['date']
            open_price = stock['open']
            close_price = stock['close']
            writer.writerow([symbol, date, open_price, close_price])
            
    print("CSV 파일이 생성되었습니다.")
else:
    print(f"API 요청 실패: {response.status_code}")

심볼이 AAPL에 대한 2023-06-01 ~ 2023-06-30 기간의 주식을 알아볼건데요

 

제가 알아볼 AAPL이란 애플의 주식입니다 !

 

애플 주식 !

다음과 같이 성공적으로 제가 지정한 폴더에 json 파일 형식으로 가져왔네요 !

 

이상 주식 데이터 서비스 프로그램 이었습니다 !

 

Comments