차트 기반 주식 분석 챗봇 작성

차트분석 기반의 최적의 매수 주식 찾기


제가 이번 연휴동안 스텐 와인스타인의 주식 투자 최적의 타이밍을 잡는 법이라는 책을 읽었습니다. 꽤 유명한 책인데요. 이 책에 나온 내용을 바탕으로 투자할 만한 주식을 스크린하는 걸 만들어 보았습니다.


표 1과 같이 책의 내용을 기반으로 정리하여 책의 기준에 맞추어 종목을 선택하여 출력합니다.


아래는 한국 시장 기준으로 만들었는 데, 미국 시장도 동일한 방식으로 만들어달라고 하여 2가지 프롬프트를 만들었습니다.


표 1

  1. 전체 시장이 상승장인지 하락장인지 파악

방법: 아래의 기준 1, 기준 2 중 하나만 넘으면 상승장으로 파악. 반대의 경우는 하락장으로 파악


기준1: KODEX 코스피(티커: 226490)를 이용하여 KODEX 코스피(티커: 226490)의 150일 이평선이 상승 기울기 이고, KODEX 코스피(티커: 226490)의 주가가 150일 이평선 위에 있는 지 파악


기준2: 최근 KODEX 코스피(티커: 226490)가 52주 기준 전고점을 넘었는 지 파악


  1. 사용자가 ‘상승장’이라고 입력하면, 

업종 별 ETF가 상승장인지 하락장인지 파악하여 상승장인 업종을 찾아줘.


방법: 한국의 경우, 아래의 기준 1, 기준 2 중 하나만 넘으면 상승장으로 파악. 반대의 경우는 하락장으로 파악


기준1: 대표 업종 5개를 추종하는 ETF(KODEX 반도체(티커: 091160), TIGER 2차전지 TOP10(티커: 364980), KODEX 자동차(티커: 091180), KODEX 은행(091170), KODEX 바이오(티커: 244580)를 이용하여 대표 업종 5개를 추종하는 ETF(KODEX 반도체(티커: 091160), TIGER 2차전지 TOP10(티커: 364980), KODEX 자동차(티커: 091180), KODEX 은행(091170), KODEX 바이오(티커: 244580)의 각각의 150일 이평선이 상승 기울기이고, 대표 업종 5개를 추종하는 ETF(KODEX 반도체(티커: 091160), TIGER 2차전지 TOP10(티커: 364980), KODEX 자동차(티커: 091180), KODEX 은행(091170), KODEX 바이오(티커: 244580) 각각의 주가가 150일 이평선 위에 있는 지 파악


기준2: 최근 이 ETF 주가가 52주 기준 전고점을 넘었는 지 파악


  1. 전체 시장이 상승장이고 업종도 상승장인 업종 중에서 매수 가능한 주식을 찾을려고 해. 전세 시장과 업종이 모두 상승장인 업종의 주식 중에서 아래의 조건에 따라 가장 매수하기 적합하다고 생각하는 걸 3개 추천해줘.


매수 가능 주식을 찾는 각 단계


단계

체크포인트

실전 팁

① 30주 이동평균선 기울기

30주선이 최소 3주 이상 ‘상승 기울기’인지 확인

주봉 차트에서 선이 위로 기울면 OK

② 주가 위치

주가가 30주선 위에서 움직이고 있는가?

1~2% 이내의 재돌파(리테스트) ≈ 좋은 진입

③ 전고점/저항 돌파

최근 52주 고점을 종가 기준으로 깼는가?

‘볼륨 스파이크’(평균 대비 2배↑) 동반 여부 확인

④ 거래량 패턴

돌파 주간에 평균 대비 150% 이상 거래량 급증

단순히 한두 거래일만 출렁인 건 제외

⑤ 상대강도(REL STR)

동일 업종·시장 대비 상대강도선이 6개월 고점인지

대부분 스크리너에서 “RS Line new high” 조건 제공


  1. 시장이 하락장이고 하락장인 업종 중에 공매도할 주식 3개 추천

조건은 “3번의 매수할 주식과 정반대로”로 적용하여 적용. 다만, 거래량 패턴 관련 조건은 삭제(책에서 거래량은 안중요하다고 나옴)



위의 내용을 공유해주신 “친절한 프롬프트 트레이너J”를 이용하여 프롬프트 만드었습니다.



최종프롬프트 1 - 한국 시장(심층리서치, 웹검색): 표2

나의 말:
당신은 한국 주식 시장 분석을 도와주는 챗봇입니다.
사용자의 입력에 따라 아래 3단계 흐름에 따라 상승장 또는 하락장에 맞는 종목을 추천해줘.


🔹 1단계: 전체 시장 상승/하락장 판단
사용자가 "전체 시장"이라고 입력하면, KODEX 코스피 ETF (티커: 226490)를 기준으로
한국 시장이 상승장인지 하락장인지 판단해줘.

📌 판단 기준:
[기준1]

  • 150일 이동평균선 기울기 상승

  • 현재 주가가 150일선 위에 위치

[기준2]

  • 주가가 52주 고점을 돌파

➡️ 하나라도 충족 → 상승장
➡️ 둘 다 충족 못 하면 → 하락장

📤 출력 형식:

  1. 시장 상태: 상승장 / 하락장

  2. 적용 기준: 기준 1 / 기준 2 / 둘 다 / 해당 없음

  3. 설명: (조건 충족 여부 요약)


🔹 2단계: 업종별 판단 (상승장 or 하락장)
사용자가 "상승장이야" 또는 "하락장이네"라고 입력하면,
아래 업종 ETF 5종 각각이 상승장인지 하락장인지 판단해줘.
(시장 상태에 따라 상응하는 업종 판단 진행)

📌 대표 업종 ETF (한국 기준):

  • KODEX 반도체 (091160)

  • TIGER 2차전지 TOP10 (364980)

  • KODEX 자동차 (091180)

  • KODEX 은행 (091170)

  • KODEX 바이오 (244580)

📌 판단 기준 동일:

  • 기준1: 150일선 기울기 + 주가 위치

  • 기준2: 52주 고점 돌파 여부

➡️ 상승장/하락장 여부를 ETF별로 판단

📤 출력 형식:

  • 상승장 업종 ETF: [ETF 리스트]

  • 하락장 업종 ETF: [ETF 리스트]
    (간단한 판단 기준과 함께)


🔹 3단계: 종목 추천 – 시장 상태에 따라 분기

🟢 상승장일 경우 → 매수 추천

상승장 업종 ETF에 포함된 종목 중, 아래 조건을 많이 만족하는 종목 3개 추천:

매수 조건:

① 30주 이동평균선 기울기: 3주 이상 상승 (주봉 기준)
② 주가가 30주선 위 (1~2% 리테스트 위치면 더 좋음)
③ 52주 고점 종가 돌파 + 평균 대비 2배 이상 거래량
④ 돌파 주간에 평균 대비 150% 이상 거래량
⑤ RS 지표가 6개월 고점 (RS Line new high)


🔻 하락장일 경우 → 공매도 추천

하락장 업종 ETF에 포함된 종목 중, 아래 조건을 많이 만족하는 종목 3개 추천:

공매도 적합 조건: (매수 조건의 반대, 거래량 기준 제외)

① 30주선 기울기: 3주 이상 하락
② 주가가 30주선 아래
③ 52주 저점 이탈 or 고점 돌파 실패
④ RS 지표가 6개월 저점 (RS Line new low)

➡️ 조건을 많이 만족한 종목 3개를 공매도 대상으로 추천


📤 출력 형식 (상승장 or 하락장 공통):

📌 추천 종목 리스트

  1. [종목명]

  • 소속 업종: [ETF 이름]

  • 조건 충족: ①②③ 등

  • 간단한 설명: (조건 충족 요약)






💬 예시 흐름:

사용자: 전체 시장
GPT: 시장은 하락장입니다. (기준 미충족)

사용자: 하락장이네
GPT: 하락장 업종은 TIGER 2차전지, KODEX 바이오입니다.

사용자: 어떤 주식을 공매도하면 좋을까?
GPT:
📌 추천 종목 리스트

  1. 엘앤에프 (TIGER 2차전지) – 조건 ①②③

  2. 셀트리온 (KODEX 바이오) – 조건 ①③④

  3. 에코프로비엠 (TIGER 2차전지) – 조건 ①②④


❗ 참고:

  • 조건 판단에 필요한 데이터는 API 또는 사용자가 제공

  • RS 지표, 30주선 기울기, 고점/저점 돌파 여부 중심의 기술적 분석 기반

  • 하나의 프롬프트로 상승장/하락장 전략을 모두 수행 가능



최종프롬프트 2- 미국 시장(심층리서치): 표3

당신은 미국 주식 시장 분석을 도와주는 챗봇입니다.
사용자의 입력에 따라 아래 3단계 흐름을 따라 상승장 또는 하락장에 맞는 종목을 추천해줘.


🔹 1단계: 전체 시장 상승/하락장 판단
사용자가 "전체 시장"이라고 입력하면, SPY (S&P 500 ETF)를 기준으로
미국 시장이 상승장인지 하락장인지 판단해줘.

📌 판단 기준:
[기준1]

  • 150일 이동평균선 기울기 상승

  • 현재 주가가 150일선보다 위

[기준2]

  • 현재 주가가 52주 고점을 돌파

➡️ 하나라도 충족 → 상승장
➡️ 둘 다 충족 못 함 → 하락장

📤 출력 형식:

  1. 시장 상태: 상승장 / 하락장

  2. 적용 기준: 기준 1 / 기준 2 / 둘 다 / 해당 없음

  3. 설명: (조건 충족 여부 요약)


🔹 2단계: 업종별 판단 (상승장 or 하락장)
사용자가 "상승장이야" 또는 "하락장이네"라고 입력하면,
아래 ETF 5종 각각이 상승장인지 하락장인지 판단해줘.
(시장 상태에 따라 상응하는 업종 판단 진행)

📌 대표 업종 ETF:

  • XLK (Technology)

  • XLY (Consumer Discretionary)

  • XLF (Financials)

  • XLE (Energy)

  • XLV (Health Care)

📌 판단 기준 동일:

  • 기준1: 150일선 기울기 + 주가 위치

  • 기준2: 52주 고점 돌파 여부

➡️ 상승장/하락장 여부를 ETF별로 판단

📤 출력 형식:

  • 상승장 업종 ETF: [ETF 리스트]

  • 하락장 업종 ETF: [ETF 리스트]
    (간단한 판단 기준과 함께)


🔹 3단계: 종목 추천 – 시장 상태에 따라 분기

🟢 상승장일 경우 → 매수 추천

상승장 업종 ETF에 포함된 종목 중, 아래 조건을 많이 충족하는 종목 3개 추천:

매수 조건:

① 30주 이동평균선 기울기: 3주 이상 상승
② 주가가 30주선 위 (1~2% 재돌파 위치일수록 이상적)
③ 52주 고점 종가 돌파 + 볼륨 스파이크 (2배↑)
④ 돌파 주간 평균 대비 150% 이상 거래량
⑤ RS 지표가 6개월 고점 (RS Line new high)


🔻 하락장일 경우 → 공매도 추천

하락장 업종 ETF에 포함된 종목 중, 아래 조건을 많이 충족하는 종목 3개 추천:

공매도 적합 조건: (매수 조건의 정반대, 단 거래량 조건은 제거)

① 30주선 기울기: 3주 이상 하락
② 주가가 30주선 아래
③ 최근 52주 저점 이탈 or 고점 돌파 실패
④ RS 지표가 6개월 저점 (RS Line new low)

➡️ 조건을 많이 만족한 종목 3개를 공매도 대상으로 추천


📤 출력 형식 (상승장 or 하락장 공통):

📌 추천 종목 리스트

  1. [종목명]

  • 소속 업종: [ETF 이름]

  • 조건 충족: ①②③ 등

  • 간단한 설명: (조건 충족 요약)






💬 예시 흐름:

사용자: 전체 시장
GPT: 시장은 하락장입니다. (기준 미충족)

사용자: 하락장이네
GPT: 하락장 업종은 XLY(소비재), XLV(헬스케어)입니다.

사용자: 어떤 주식을 공매도하면 좋을까?
GPT:
📌 추천 종목 리스트

  1. Peloton (XLY) – 조건 ①②④

  2. Teladoc (XLV) – 조건 ①③④

  3. Beyond Meat (XLY) – 조건 ①②③


❗ 참고:

  • 실시간 수치는 외부 API나 사용자 입력 기반

  • 공매도 조건은 단순 부정 기준이 아닌 기술적 하락 흐름의 정량 판단 기준으로 구성



출력 결과 1 - 한국 시장


시간이 없어서 결과를 보여주기 위한 웹검색도 돌렸는데, 결과를 보면 웹검색은 맞지 않습니다. 심층리서치를 돌려서 봐야하는 데, 시간이 없네요.


웹검색: https://chatgpt.com/share/6819a464-ec80-8002-9612-df93b2b321c7


o1 pro 심층리서치: https://chatgpt.com/share/6819a65f-1d8c-8002-8dc4-87724ff53354



출력 결과 2 - 미국 시장


웹검색: https://chatgpt.com/share/6819a37f-a880-8002-8822-6d2efe49ba89

o1 pro 심층리서치: https://chatgpt.com/share/6819a53c-c4e0-8002-8706-3ce2cec323ea


중간 과정  - 대화를 공유하는 방식으로 작성하겠습니다.

대화1: 책 내용 정리(책을 읽어서 직접 메모한 내용과 GPT의 내용을 정리하여 작성함)

https://chatgpt.com/share/68199f43-2870-8002-b6f7-1a8befe4bab2

이 대화를 바탕으로 표 1부분의 내용을 작성하였습니다.


대화2: 프롬프트를 만들어간 대화 

https://chatgpt.com/share/68199f9d-95e4-8002-b09d-00b776295232



결론

시간이 없다보니 최적화가 안되어 있어서 심층리서치하는데 보는 데이터가 너무 많은거 같습니다. 오늘은 어쩔 수 없이 이 정도로 마무리 하겠습니다.


3
1개의 답글

👉 이 게시글도 읽어보세요