728x90
주식데이터 사용 데이터 분석 시작
해외주식 다루기 - FinanceDataReader
!pip install finance-datareader
FinanceDataReader 라이브러리 설치
pandas 라이브러리 설치
numpy 라이브러리 설치
def make_rate(code):
df = fdr.DataReader(code, '2017')
original = df[['Close']].iloc[0]
df = df[['Close']] / original -1
return df['Close']
수익률 구하기 함수(종목티커넣기)
- 2017년부터 현재까지 'code' 종목데이터 = df에 담기
- 종가데이터 처음 꺼 = original에 담기
- 현재 종가 데이터 / 종가데이터 처음꺼 담은 original을 나누기 -1(수익률계산하는 방법)
- 계산한 수익률 리턴
def final_rate(code):
try:
return make_rate(code).iloc[-1]
except:
return(-1000)
최종수익률 구하는 함수
- make_rate(code) 함수의 마지막 수익률 가져와
- 없거나 에러 나면 -1000으로 대체해
df = fdr.StockListing('SP500')
s&p500 기업의 데이터를 = df에 담아
df = df[['Symbol', 'Name']].head(100)
df(s&p500 기업의 데이터) 중에 100개가져오는데 그중에 [['Symbol', 'Name']]데이터만 가져와
df['rate'] = df['Symbol'].apply(final_rate)
df(s&p500 기업의 데이터)중 ['Symbol'] 항목, 즉 티커랑 일치하는 데이터를 행 맨뒤에 'rate'란이름으로 항목을 추가하고 티커가 같은 행에 final_rate(마지막 수익률) 데이터로 채운다. 티커를 이용해 데이터를 추가할 때 이런 코드를 쓴다.
cond = df['rate'] > -50
df = df[cond]
condition(조건) 만들기
- df(s&p500 기업의 데이터) 중 ['rate'] 항목 > -50 보다 큰 데이터만 cond에 담는다.
- df [cond]로 df에 담는다. (조건에 맞는 값만 보인다.)(즉, 에러 있는 -1000 값이 들어있는 건 다 잘리고 보인다.)
df = df.sort_values(by='rate', ascending=False)
정렬해 준다('rate'항목을, 오름차순이 False 한 내림차순으로) 그걸 10개만 df에 담는다.
df.set_index('Name', inplace=True)
그래프에 인덱스로 표시되는걸 회사이름으로 바꿔준다.
df.plot(kind='bar')
바 그래프로 그려준다.
S&P 500 기업 100개 중 수익률 best 10 기업을 찾고, 바 그래프를 그려보기
!pip install finance-datareader
import FinanceDataReader as fdr
import pandas as pd
import numpy as np
def make_rate(code):
df = fdr.DataReader(code, '2017')
original = df[['Close']].iloc[0]
df = df[['Close']] / original -1
return df['Close']
def final_rate(code):
try:
return make_rate(code).iloc[-1]
except:
return (-1000)
df = fdr.StockListing('SP500')
df = df[['Symbol', 'Name']].head(100)
df['rate'] = df['Symbol'].apply(final_rate)
cond= df['rate'] > -50
df = df[cond]
df = df.sort_values(by='rate', ascending=False).head(10)
df.set_index('Name', inplace=True)
df.plot(kind='bar')
'교육 후기 > 스파르타코딩클럽_개발일지' 카테고리의 다른 글
주식 데이터를 활용한 파이썬 데이터 분석_3주차 개발일지 (0) | 2023.09.20 |
---|---|
마케터, 기획자를 위한 실전 데이터 분석_2주차 개발일지 (0) | 2023.09.10 |
마케터, 기획자를 위한 실전 데이터 분석_1주차 개발일지 (0) | 2023.09.03 |
주식 데이터를 활용한 파이썬 데이터 분석_1주차 개발일지 (0) | 2023.09.03 |
댓글