inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

(AI 퀀트) 코드 한 줄 안 쓰고 주식 자동 분석 시스템 만들기 feat. Claude CLI

📈 1-1: 오늘 급등한 종목 가져오기

테마맵 만들기 위해.

20

홍성우

작성한 질문수 8

0

그날 장마감 후 주식테마맵을 만드려고 합니다. 조언좀 주시면 감사하겠습니다.


1. 현재 키움증권 open api를 통해 10% 이상 상승종목을 수집합니다.

 

  1. 네이버 뉴스 검색 api를 통해 상승종목을 검색해 상승이유를 찾습니다.

  2. 테마맵을 만듭니다.

     

  3. 이렇게 실행했더니 문제가 생겼습니다. 아래를 참고해 상승종목이 테마별로 잘 묶이는 방법을 조언해주시면 감사하겠습니다.



    1. 종목과 테마맵 불일치.(EX 화장품 종목인데 반도체 테마에 묶인 경우)

    2. 반도체 테마가 반도체 테마로 묶이지 않고 개별상승 종목으로 분류 되는 경우.

     

     

python flask next.js 인공지능(ai)

답변 2

0

호두감자

안녕하세요!


간략하게 요약하여 드립니다.


뉴스는 소속 판정에 쓰면 안 되고, 상승 사유 설명에만 써야 합니다. 저도 초기에 같은 시행착오를 겪고 역할을 분리했습니다.

- 문제 1 (화장품이 반도체로): 네이버 뉴스에서 종목명으로 검색하면 "오늘 반도체·화장품·방산 강세" 같은 시황 나열 기사가 걸립니다. 기사 전문에서 키워드 매칭을 하면 그 기사에 같이 언급된 다른 테마 키워드("반도체")가 화장품 종목에 붙습니다.

- 문제 2 (반도체가 개별주로 흩어짐): 종목별로 독립적으로 뉴스를 읽으면, A반도체는 "수주" 기사, B반도체는 "실적" 기사가 잡혀서 공통 키워드가 없으니 각자 개별 상승으로 분류됩니다. 테마는 종목 단위가 아니라 집합 단위 현상이라 종목별 판정으로는 원리적으로 못 잡습니다.

권장 구조: 3층 분리 (실운영 구조)

1층 — 정적 마스터 매핑 (소속의 1차 근거)

종목→테마 매핑 테이블을 사전에 확정해 두고, 소속 판정은 여기서 시작합니다. 저희는 stock_classifier/ 모듈이 이 역할입니다: 수동 큐레이션 매핑(THEME_MAPPINGS) + 자동 생성 매핑(auto_mappings.json)을 union 병합하고, KRX 업종 분류(kr_sector_map.json)와 정렬(taxonomy_aligner)합니다. 핵심 테마(반도체·로봇 등)는 사람이 검수한 밸류체인 상수로 관리합니다 — 자동만으로는 품질이 안 나와서 수동 코어 + 자동 확장 + 주기적 검수가 현실적인 균형이었습니다.

2층 — 집합 신호로 테마 성립 판정 (문제 2의 해법)

당일 상승 종목 리스트를 마스터 매핑에 통과시켜서, 같은 테마 소속이 N개 이상(예: 3개+) 동반 상승하면 테마 성립 → 소속 종목들을 그 테마로 흡수합니다. 이러면 각 종목의 뉴스 사유가 제각각이어도 반도체 5종목이 같이 오른 날엔 자동으로 "반도체 테마"로 묶입니다. 테마 강도는 소속 상승 종목 수 + 등락률 중앙값 + 거래대금으로 점수화하면 됩니다. (저희 theme_linkage/analyzer는 여기에 방향×거래량 결합 점수를 씁니다 — 거래량만 보면 패닉 매도 테마가 만점 받는 결함이 있어서 상승 거래량만 가산하도록 고쳤습니다. 같은 함정 주의.)

3층 — 뉴스는 사유 라벨링 전용 (문제 1의 해법)

뉴스에서 테마를 "발견"하지 말고, 이미 묶인 테마/종목에 "이유"만 붙입니다. 이때 필터가 중요합니다:

- 제목에 종목명이 있는 기사만 사용 (본문 언급만 높음). "특징주" 제목 기사가 가장 신뢰도 높고,"마감시황"·"오늘의 증시" 류 나열 기사는 제외

- 당일 발행분만 (저희도 발행일 필터를 안 걸었다가 구 기사가 사유로 붙는 사고를 겪었습니다)

- 키워드 추출은 기사 전문이 아니라 종목명이 포

LLM을 쓴다면 (권장): 기사 요약→테마 분류를 LLM에 맡기되, ① 자유 생성이 아니라 사전에 정의된 테마 목록 중에서만 고르게 하고(structured output + enum), ② "해당 없음" 선택지를 반드시 주고, ③ 근거 문장을 인용하게 해서 인용문에 해당 종목명이 없으면 기각하는 3중 가드를 걸면 오분류가 급감합니다.

0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴입니다. 홍성우님.

주식 테마맵을 만들 때 발생할 수 있는 문제에 대해 도움을 드리겠습니다. 주식 테마맵을 생성하면서 발생하는 대표적인 문제는 테마와 종목 간의 불일치 문제와 테마로 분류되지 않는 경우입니다. 이를 해결하기 위한 몇 가지 조언을 드리겠습니다.

  1. 정확한 테마 분류: 주식 테마를 분류할 때는 적절한 알고리즘 선택과 데이터 전처리가 중요합니다. 종목이 적절한 테마에 속하려면 뉴스 데이터의 키워드를 정확히 추출하고 비교할 수 있어야 합니다. 여기서는 자연어 처리(NLP) 기술을 응용하여 뉴스의 핵심 키워드를 추출하고, 각 테마의 특징과 매칭시켜야 합니다.

  2. 데이터 전처리: 뉴스 데이터를 수집할 때, 한글 자연어 처리를 통해 중요한 키워드를 추출하고 불필요한 정보를 제거하여 테마와의 연관성을 높여야 합니다. 형태소 분석기를 사용하여 단어의 형태소 단위로 나누고, 명사 중심의 키워드를 수집하는 것도 좋은 방법입니다.

  3. 학습 데이터를 통한 모델 개선: 다양한 뉴스 기사와 실제 종목 정보를 바탕으로 학습 데이터를 구축하고 모델을 학습시킴으로써, 테마와 종목이 더 정확하게 일치할 수 있도록 개선할 수 있습니다. 기계 학습 모델의 경우, 초기 설정에 따라 성능이 크게 달라질 수 있으므로 적절하게 설정하고, 평가 지표를 통해 성능을 지속적으로 모니터링하세요.

  4. 유사한 커뮤니티 게시물 참고: 다른 수강생이 비슷한 문제를 겪고 이를 어떻게 해결했는지 참고하는 것도 큰 도움이 될 수 있습니다. 아래 링크를 통해 다른 분들이 했던 질문과 답변을 참고하시길 바랍니다:

테마맵이 잘 구성되기를 바라며, 추가적으로 궁금한 점이 있으시면 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏

네이버 API KIS API 강의

0

18

2

호두 AI님 강의 차이점에 대해 문의 드립니다.

0

37

3

네이버증권 데이터 크롤링 불법?

0

67

2

62강 노션 링크 사용권한 승인 부탁드립니다.

0

34

2

62강 노션 링크 사용권한 승인 부탁드립니다.

0

30

1

PROJECT_STRUCTURE.md 파일 공유좀 해주세요

0

39

2

노션 사용권한 불편합니다.

0

38

2

노션 사용 권한 없음

0

41

2

Notion에서 이 페이지에 대한 사용 권한 없음

0

43

2

VCP 시그널 상태 추가 스크립트 에서 return_pct 조건

0

35

2

캐쉬가 업데이트 안됩니다.

0

37

2

노션 사용권한 요청

0

44

2

시각화_가이드 자료는?

0

45

2

거래대금에 대한 필터링 문제

0

42

1

41강에 vcp 결과가 다르게 나옵니다.

0

36

2

뉴스 검색에서 날짜 필터링

0

47

2

scorer.py 에 뉴스/재료 점수 부분이 없어요.

0

38

2

제가 만든 파일로 강의 수강을 이어가도 되나요?

0

43

2

14강은 언제 올라올까요??

0

51

2

Part03 프롬프트 14 기간 조정(횡보 후 돌파) 입력 시 claude에서 수정안 발생

0

51

1

best of best 점수 합산

0

57

1

질문이 있습니다.

0

67

2

안녕하세요? 섹션14는 강의가 언제부터 올라오나요? 너무나 궁금하고 기대가 됩니다~ ^^

0

66

2

antigravity 2.0은 화면이 많이 다르네요.

0

111

2