애플 주식 전망과 매월 100만원씩 투자했다면?!

목차

    2020. 9. 2. 06:00

    코로나 이후 애플 주식은 급속도로 상승했다. 최근에 액면분할 후 얼마 되지 않았지만, 주가는 상승세를 지속하고 있다. 이렇게 상승한 덕에 애플의 시가총액은 2조 달러를 돌파해 이는 코스피와 코스닥 시가총액을 합친 것에 1.2배가 넘는 액수라고 한다. 우리나라보다 큰 기업은 애플은 앞으로도 승승장구할 수 있을까. 요즘 애플 관련 이슈와 매월 100만원씩 투자했다면 그 수익률은 얼마나 될지 가늠해보았다.


    애플



    애플 글래스?

    애플은 하드웨어와 소프트웨어를 둘 다 다루는 특이한 기업이다. 이에 대해서는 장단점이 있지만, 아이폰은 그 장점이 빛을 발한 제품이었다. 하지만, 지금은 아이폰을 비롯한 하드웨어의 판매속도가 떨어지고, 그 빈자리를 앱스토어라는 소프트웨어가 메꾸고 있다. 이런 상황에서 애플의 차세대 기기가 '스마트 글래스'가 될 것이라는 소문이 무성하다. 이름은 애플 글래스가 될 것이라고 한다. 글래스하면 이미 실패(?)한 구글 글래스가 생각난다. 애플이 출시하는 새제품이 얼마만큼의 파급력이 있느냐에 따라서 향후 애플의 주가에 큰 영향을 받을 것이다.

    애플 글래스에 대해서는 아래 유투브 영상에 잘 설명돼 있으니 참고하기 바란다.




    앱스토어 봉기?

    앱스토어는 애플의 캐시카우 중 하나이다. 하지만, 최근 애플 주가 상승의 영향인지 이에 대한 반대조짐이 일어나고 있다. 가장 대표적인 것은 '포트 나이트'로 유명한 에픽 게임즈이다. 에픽게임즈는 '포트 나이트'의 업데이트에 별도의 결제수단을 포함시켰다. 애플과 구글에 수수료를 내지 않기 위해서였다. 하지만, 이를 안 애플과 구글은 포트나이트를 즉각 차단하면서 맞불이 일어나고 있다. 두 기업의 힘겨루기가 어떻게 결말이 날지는 귀추가 주목된다. 애플은 인앱 결제금액의 30%를 수수료로 받고 있다.

    최근에는 페이스북에서 인앱 결제에 수수료 30%를 부과한다는 내용을 메시지에 포함시켰다가, 앱등록이 거절되었다.


    포트나이트



    여러가지 이슈가 있지만, 애플 제품을 사용하는 사람의 충성도는 상상 이상이다. 필자도 우연히 맥북을 접하고, 어느새 아이폰과 아이패드가 소유한 앱등이가 되었다. 최근에 '스티브 잡스' 전기도 사서 읽었는데, 예전에 읽었다면 더 심한 앱등이가 될 뻔했다.


    그럼, 이런 애플 주식을 2015년부터 매월 100만원씩 사왔다면 그 수익률은 얼마나 될까? 파이썬과 zipline패키지를 이용해서 계산해보았다. zipline패키지에 대한 자세한 내용이 궁금하다면, 아래 포스팅을 참조해보자.
    ( 참조: 파이썬 퀀트투자, 알고리즘 개발부터 백테스트까지 zipline )


    zipline을 이용하기 위해서는 data bundle 수집해야 한다. 가장 많이 사용하는 quandl을 이용하였더니, 2018년3월27일 이후 데이터가 없다. 확인해보니 해당 시점 이후로 업데이트가 중단되었다고 한다. 별 수 없이 tiingo에서 데이터를 수집하여, bundle에 등록하고 작업을 했다. 환율 등의 조건은 고려하기 어려워, 1200원 환율로 매월 840달러씩 애플 주식을 샀다고 가정해보았다.


    애플주식투자결과

    ( 애플 주식 투자 시뮬레이션 결과 )


    총 매수수량: 1079

    총매수금액: 42,490 달러

    평가금액: 139,233 달러

    수익률: 227.68%


    수익률은 무려 227.68%가 나왔다. 매월 100만원씩 투자한다고 가정했지만, 2016년도에 투자했다면 500%가 넘는 수익률이 나올 것이다. 특히 계속 상승하던 주식이 최근에 배가 넘게 올라서 더 인상적인 듯 하다.


    애플은 분기별로 배당도 지급하고 있다. 그 동안의 배당 추이와 일정에 대해서 알아보았다. 자세한 내용은 아래 포스팅을 참조해보자.
    (참조: 애플 주식 배당 추세와 일정은?! )



    작업한 코드는 참고로 올려두었다. 아래는 zipline 백테스트 코드이다. 환경은 주피터 노트북을 이용하였다.

    %load_ext zipline

    %%zipline --start 2016-1-1 --end 2020-8-31 -b usa_stocks

    from zipline.api import order, record, symbol


    def initialize(context):

        context.i = 0

        pass


    def handle_data(context, data):

        context.i += 1

        record(nth=context.i)


        if int(context.i) % 23 == 0:

            buy_cnt = int(840 / int(data.current(symbol('AAPL'), 'price')))

            order(symbol('AAPL'), buy_cnt)

            record(buy_cnt=buy_cnt)

            record(etf=data.current(symbol('AAPL'), 'price'))

        else:

            record(buy_cnt=0)

            record(etf=data.current(symbol('AAPL'), 'price'))

            pass



    아래는 위의 그래프를 그린 코드이다.

    perf=_


    cnt_sum=perf["buy_cnt"].sum()

    print("총 매수수량: {}".format(cnt_sum))


    perf["buy_amt"]=perf["buy_cnt"]*perf["etf"]

    buy_sum=perf["buy_amt"].sum()

    print("총매수금액: {}".format(buy_sum))


    last_price=perf.loc[perf["nth"]==perf["nth"].max(),"etf"][0]

    cur_sum=cnt_sum*last_price

    print("평가금액: {}".format(cur_sum))


    print("수익률: {:.2f}%".format(cur_sum/buy_sum*100-100))


    perf["etf"].plot()