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

    # '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
    신간 소식 구독하기
    뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.