# 필요한 라이브러리를 임포트한다
import numpy as np
import pandas as pd
from pandas_datareader import data as web
import matplotlib.pyplot as plt
import matplotlib as mpl
# 다섯 개 종목(애플, 페이스북, 아마존, 제너럴일렉트릭, 테슬라)을 갖고 비중을 무수히 바꿔 포트폴리오를 만들 것이다
tickers = [ 'AAPL', 'F', 'AMZN', 'GE', 'TSLA' ]
# 수정주가를 저장할 데이터프레임 변수(adjClose)를 미리 만들어둔다
pxclose = pd.DataFrame( )
# for 루프로 다섯 개 종목을 반복하면서 반복 중에 pandas.datareader를 이용해 야후 파이낸스에서 일간 주가 데이터를 가져온다
for t in tickers:
pxclose[t] = web.DataReader( t, data_source='yahoo', start='01-01-2019', end='31-12-2019' )[ 'Adj Close' ]
참고
for 루프를 마치면 다음과 같이 수정주가를 가져온다. pxclose.head()를 실행하면 다음과 같이 pxclose의 앞부분을 보여준다.
|
AAPL |
F |
AMZN |
GE |
TSLA |
Date |
|
|
|
|
|
2019-01-02 |
155.21 |
7.28 |
1539.13 |
7.70 |
310.11 |
2019-01-03 |
139.75 |
7.17 |
1500.28 |
7.71 |
300.35 |
2019-01-04 |
145.71 |
7.45 |
1575.39 |
7.87 |
317.69 |
2019-01-07 |
145.39 |
7.64 |
1629.51 |
8.36 |
334.95 |
2019-01-08 |
148.16 |
7.71 |
1656.57 |
8.18 |
335.35 |
반대로 데이터프레임 끝부분을 보려면 tail() 함수를 사용한다. pxclose.tail()을 실행하면 다음과 같다.
|
AAPL |
F |
AMZN |
GE |
TSLA |
Date |
|
|
|
|
|
2019-12-24 |
283.59 |
9.31 |
1789.20 |
11.178899 |
425.25 |
2019-12-26 |
289.22 |
9.29 |
1868.77 |
11.218859 |
430.94 |
2019-12-27 |
289.11 |
9.20 |
1869.80 |
11.168909 |
430.38 |
2019-12-30 |
290.82 |
9.09 |
1846.89 |
11.06 |
414.70 |
2019-12-31 |
292.95 |
9.14 |
1847.83 |
11.14 |
418.32 |