ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Code Interpreter를 이용한 주가 차트 분석 - 2
    코인 2023. 7. 21. 00:13

    안녕하세요. 지난 시간에 이어 Code Interpreter를 이용한 주가 차트 분석에 대해 좀 더 진행해 보겠습니다.

     

    이번에도 Appl 주가 차트를 이용하여 여러 Indicator 추가 요청을 할 예정이며, 마지막으로는 주가의 상승 시작을 판단할 수 있는 조건들을 주고 해당되는 날짜가 있는지 확인해 보겠습니다.

     

    Code Interpreter를 이용한 Indicator 추가하기

    이동 평균선

    먼저 지난 시간에는 50일 이동평균선만 추가했으나 이번에는 20일, 60일, 120일 이동평균선을 추가해 보았습니다.

    Apple - 이동평균선

    위와 같이 이번에도 잘 그려주고 있네요. 위에서 보이는 차트는 아래와 같은 Python Code로 생성이 되었으며, Code Interpreter에서는 어떤 Code를 사용했는지도 보여주고 있습니다.

    Apple - 이동평균선(Python Code)

     Code Interpreter에서 보여지는 Code를 우리 노트북에서는 바로 실행시킬 수는 없을 것 같네요. 다음에는 Code Interpreter로 결과를 먼저 보고 내 노트북에서도 동일한 결과를 볼 수 있는 Code도 함께 요청해 보려고 합니다.

     

    Bollinger Bands

    Bollinger Bands는 통계적 분석을 기반으로 주가의 상대적인 높이나 낮음을 판단하는 기술적 지표입니다. 그것은 총 세 가지 선으로 구성되어 있습니다:

    1. 중심선: 이는 주가의 이동 평균선입니다. 일반적으로 20일 이동 평균선을 사용합니다.
    2. 상단 밴드: 중심선 위에 있는 이 선은 표준 편차를 더함으로써 계산됩니다. 표준 편차는 주가의 변동성을 측정하는 통계적 방법으로, 일반적으로 표준 편차를 두 배하여 계산합니다.
    3. 하단 밴드: 중심선 아래에 있는 이 선은 표준 편차를 뺌으로써 계산됩니다.

    이 세 가지 선은 주가의 '정상적인 범위'를 정의하며, 주가가 이 범위를 벗어나면 상대적으로 높거나 낮다고 판단할 수 있습니다.

    Bollinger Bands를 사용한 투자 전략은 다양하지만, 일반적으로 다음과 같이 사용됩니다:

    • 주가가 상단 밴드를 넘어서면 주가가 과열되었다고 판단하고 매도하는 'Sell' 영역으로 간주할 수 있습니다.
    • 주가가 하단 밴드를 넘어서면 주가가 과도하게 낮아졌다고 판단하고 매수하는 'Buy' 영역으로 간주할 수 있습니다.
    • 주가가 두 밴드 사이에 있으면 주가가 '정상 범위'에 있으므로 'Hold' 영역으로 간주할 수 있습니다.

    Apple - Bollinger Band

    어떻게 이렇게 과매도/과매수 구간이 없을 수 있나해서 Yahoo Finance에서 확인해 보니 제대로 그려진게 맞네요. 한마디로 Bollinger Band는 Apple에서는 적용할 수 없는 지표라고 볼 수 있겠네요.

    MACD(Moving Average Convergence Divergence)

    MACD(Moving Average Convergence Divergence)는 장기 이동평균과 단기 이동평균 간의 차이를 측정하여 주가의 상승 추세 또는 하락 추세를 식별하는데 사용되는 기술적 지표입니다. MACD는 세 가지 구성 요소로 이루어져 있습니다:

    1. MACD line: 이는 단기 이동평균(일반적으로 12일)에서 장기 이동평균(일반적으로 26일)을 뺀 값입니다.
    2. Signal line: 이는 MACD line의 이동평균(일반적으로 9일)입니다.
    3. MACD Histogram: 이는 MACD line과 Signal line의 차이를 나타냅니다.

    MACD를 사용하여 투자 결정을 내릴 때는 다음과 같은 방법을 사용할 수 있습니다:

    • MACD line이 Signal line을 상향 돌파하면 매수 신호로 해석할 수 있습니다.
    • 반대로, MACD line이 Signal line을 하향 돌파하면 매도 신호로 해석할 수 있습니다.

    Apple - MACD

    OBV(On Balance Volume)

    On Balance Volume (OBV)는 거래량을 사용하여 주가의 상승 또는 하락 추세를 측정하는 기술적 지표입니다. OBV는 거래일마다 거래량을 누적하는데, 종가가 전일보다 높으면 거래량을 더하고, 종가가 전일보다 낮으면 거래량을 뺍니다.

     

    이 지표는 거래량과 가격 변동 사이의 관계를 보여주며, 주가 변동에 앞서 거래량 변화가 발생하는 경우가 많기 때문에 중요합니다.

     

    예를 들어, OBV가 상승하는 동안 주가가 수평으로 움직이거나 떨어지는 경우, 이는 상승 추세가 시작될 수 있는 강한 신호로 볼 수 있습니다. 이는 많은 투자자들이 주식을 사고 있지만, 아직 가격에는 반영되지 않았을 수 있기 때문입니다.

     

    반대로, OBV가 하락하는 동안 주가가 수평으로 움직이거나 상승하는 경우, 이는 하락 추세가 시작될 수 있는 약한 신호로 볼 수 있습니다. 이는 많은 투자자들이 주식을 팔고 있지만, 아직 가격에는 반영되지 않았을 수 있기 때문입니다.

     

    Apple - OBV

    그래프에 OBV에 따른 'Buy', 'Hold', 'Sell' 신호를 추가하였습니다.

    • 맨 아래 그래프에 초록색 상승 화살표는 'Buy' 신호를 나타내고,
    • 빨간색 하향 화살표는 'Sell' 신호를 나타냅니다.

    이러한 신호는 OBV 지표를 바탕으로 생성되었습니다. OBV가 상승하면 'Buy' 신호로, 하락하면 'Sell' 신호로 해석됩니다.

    다만, 이 지표를 사용할 때는 신중해야 합니다. 이 지표는 주식을 사거나 팔아야 한다는 절대적인 명령이 아니라, 시장의 일반적인 추세와 결합하여 사용되어야 하는 가이드라인일 뿐입니다.

     

    Stochastic Oscillator

    Stochastic Oscillator는 주가의 상대적 위치를 이용하여 과매수 또는 과매도 상태를 판단하는 모멘텀 지표입니다. Stochastic Oscillator는 다음의 식으로 계산됩니다.

     

    이 식에서 %K는 빠른 선, %D는 느린 선을 의미하며, 일반적으로 %K는 14일, %D는 3일을 기준으로 합니다.

     

    Stochastic Oscillator 값이 80 이상이면 주식이 과매수 상태에 있어 가격이 하락할 가능성이 높다는 것을, 20 이하이면 과매도 상태에 있어 가격이 상승할 가능성이 높다는 것을 의미합니다. 또한, %K 선이 %D 선을 상향 돌파하는 것은 'Buy' 신호로, %K 선이 %D 선을 하향 돌파하는 것은 'Sell' 신호로 해석됩니다.

     

    Apple - Stochastic Osillator

    그래프에 Stochastic Oscillator를 추가하였습니다. 맨 아래 그래프에서 파란색 선은 %K를, 주황색 선은 %D를 나타냅니다. 또한, 빨간색 점선은 과매수(80) 및 과매도(20) 지점을 나타냅니다.

    Stochastic Oscillator는 주가의 상대적 위치를 이용하여 과매수 또는 과매도 상태를 판단하는 모멘텀 지표입니다.

    • Stochastic Oscillator 값이 80 이상이면 주식이 과매수 상태에 있어 가격이 하락할 가능성이 높다는 것을,
    • 반대로 20 이하이면 과매도 상태에 있어 가격이 상승할 가능성이 높다는 것을 의미합니다.
    • 또한, %K 선이 %D 선을 상향 돌파하는 것은 'Buy' 신호로, %K 선이 %D 선을 하향 돌파하는 것은 'Sell' 신호로 해석됩니다.

     

    Code Interpreter를 이용하여 매수 시점 알아내기

    사실 Indicator는 쉽게 찾아 볼 수 있습니다. Yahoo Finance에서는 수많은 Indicator를 지원하고 있으며 자기가 원하는데로 Customize할 수도 있습니다. 하지만 Code Interpreter를 통해 우리는 다음과 같이 프롬프트를 작성하여 매수해야할 타이밍인지를 쉽게 알아볼 수 있습니다.

     

    Prompt

    위 그래프를 참조해서 아래 조건을 모두 만족하는 종가를 기록한 날짜를 알려줘.

    • 20일, 60일, 120일 이동평균선이 모두 상승 곡선이다.
    • 주가가 Bollinger Band의 20일 이동평균선 아래에 있다.
    • MACD가 Sell에서 Buy로 바뀐지 5일 이내이다.
    • OBV Buy 신호로 바뀐지 5일 이내이다.
    • Stochastic 의 20이하에서 20이상으로 전환한지 5일 이내이다.  

    Code Interpreter Response

     

    주어진 조건을 모두 만족하는 날짜가 없습니다. 이는 조건이 매우 엄격하기 때문일 수 있습니다. 다른 조건으로 검색하거나 기간을 조정해 보는 것도 고려해 보시기 바랍니다.

     

    Prompt

    위 조건 중 네가지를 만족하는 종가를 기록한 날짜를 알려줘.

    Code Interpreter Response

     

    주어진 조건 중 네 가지를 만족하는 날짜는 다음과 같습니다:

    • 2023년 1월 9일
    • 2023년 1월 10일

    이는 과거 120일 동안의 이동 평균선이 상승하는 경향을 보이고, 주가가 20일 이동 평균선 아래에 있으며, MACD가 'Sell'에서 'Buy'로 바뀌거나, OBV가 'Buy' 신호로 바뀌거나, stochastic 지표가 20 이하에서 20 이상으로 전환하는 조건 중 네 가지를 만족하였음을 의미합니다.

     

    Prompt

     

    위 날짜에 주가의 시작가와 종가를 알려줘.

     

    Code Interpreter Response

     

    선택된 날짜에 대한 주가의 시작가와 종가는 다음과 같습니다:

    • 2023년 1월 9일: 시작가는 $130.47, 종가는 $130.15
    • 2023년 1월 10일: 시작가는 $130.26, 종가는 $130.73

    우연인지는 모르겠으나 상승을 시작하는 1월 초가 매수시점으로 정확히 분석되었습니다. Code Interpreter를 이용하면 이렇게 자신만의 상승조건을 수립한 후 객관적으로 입증된 여러 Indicator를 이용하여 자신만의 매수시점을 아주 손쉽게 알아낼 수 있을 것 같습니다.

     

    마치며...

    우연이겠지만 이렇게 1월 초가 매수시점으로 분석되었다는 것은 매우 흥미로운 일입니다. 다음에는 Code Interpreter에 사용된 코드를 내 노트북에서 돌릴 수 있도록 요청하여 여러 종목들을 한번에 분석할 수 있는 Python Code를 만들어 보고자 합니다. 

     

     

     

Designed by Tistory.