더북(TheBook)

다음은 다섯 개 종목의 주가를 한 번에 가져오는 예다.

# 'amzn', 'ba', 'msft', 'aapl', 'goog' ticket
sp = [ 'amzn', 'ba', 'msft', 'aapl', 'goog' ]

# 2020년 4월의 각 종목 주가를 가져온다
# 다음 코드는 { } 사이에서 루프를 반복하므로
# 루프의 결과인 {키:값}과 같은 딕셔너리 데이터형을 받는다
price_data = { ticker : si.get_data( ticker, start_date = "04/01/2020", end_date = "04/30/2020" ) for ticker in sp }

# 앞의 코드는 딕셔너리 데이터형인데, 분석상의 편의를 위해
# 다음과 같이 reduce( ) 함수와 lambda 함수를 조합해
# 데이터프레임으로 변환한다
from functools import reduce

combined = reduce( lambda x,y: x.append(y), price_data.values( ) )
combined.head( )

 

결과

                open      high       low     close  adjclose    volume  ticker
2020-04-01   1932.96   1944.95   1893.00   1907.69   1907.69   4121900   AMZN
2020-04-02   1901.64   1927.53   1890.00   1918.82   1918.82   4336000   AMZN
2020-04-03   1911.15   1926.32   1889.15   1906.58   1906.58   3609900   AMZN
2020-04-06   1936.00   1998.52   1930.02   1997.58   1997.58   5773200   AMZN
2020-04-07   2017.10   2035.71   1997.61   2011.59   2011.59   5114000   AMZN
combined.tail( )

 

결과

                open      high       low     close  adjclose   volume   ticker
2020-04-23   1271.55   1293.31   1265.67   1276.31   1276.31   1566200   GOOG
2020-04-24   1261.17   1280.40   1249.44   1279.31   1279.31   1640400   GOOG
2020-04-27   1296.00   1296.15   1269.00   1275.88   1275.88   1600600   GOOG
2020-04-28   1287.93   1288.05   1232.19   1233.67   1233.67   2951300   GOOG
2020-04-29   1341.45   1359.98   1325.33   1341.47   1341.47   3793600   GOOG
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.