# AI생활비서 2주차 사례글: Hermes 크론 4개로 하루 종일 돌아가는 주식·뉴스 자동화 시스템 구축기

- 작성자: [시나몬](https://community.clauders.ai/member/imported-member-cA0LtAxcpm)
- 공간: [생활형 AI 비서 만들기](https://community.clauders.ai/life-assistant)
- 게시: 2026-10-13
- 연재: [생활형 AI 비서 만들기](https://community.clauders.ai/series/life-assistant) 2/2편
- 태그: #생활형AI비서
- 주소: https://community.clauders.ai/life-assistant/post/ai%EC%83%9D%ED%99%9C%EB%B9%84%EC%84%9C-2%EC%A3%BC%EC%B0%A8-%EC%82%AC%EB%A1%80%EA%B8%80-hermes-%ED%81%AC%EB%A1%A0-4%EA%B0%9C%EB%A1%9C-%ED%95%98%EB%A3%A8-%EC%A2%85%EC%9D%BC-%EB%8F%8C%EC%95%84%EA%B0%80%EB%8A%94-%EC%A3%BC%EC%8B%9D-%EB%89%B4%EC%8A%A4-%EC%9E%90%EB%8F%99%ED%99%94-%EC%8B%9C%EC%8A%A4%ED%85%9C-%EA%B5%AC%EC%B6%95%EA%B8%B0-ec7b2b09-cac9-8a41-a46b-28bd50cd8d45

---

## **소개**

  
주식 관련 뉴스를 스터디 그룹에 전달할 때마다 항상 같은 고민이 생겼습니다.  
  

> _"이 기사, 진짜 사실인가? 아니면 증권사 입맛에 맞게 쓴 전망인가?"_

  
직접 판단하려면 시간이 걸리고, 그냥 전달하면 오해를 부를 수 있었어요. 그래서 AI 비서가 기사를 받아서 사실과 주장을 구분하고, 주장마다 신뢰도 %를 붙여 그룹에 보내기 전에 먼저 검토할 수 있게 만들어보기로 했습니다.  
  
이 비서의 이름을 **박박사**라고 붙였습니다.  
  
동시에, 매일 아침 삼성전자·SK하이닉스 주가를 보면서 기술적 지표를 해석하는 데 20~30분씩 쓰고 있었는데, 이것도 자동화하고 싶었습니다. 두 가지를 묶어서 **"매일 오전 8시, 주식 분석 + 뉴스 박박사 요약을 텔레그램으로 받는 시스템"** 을 만드는 게 이번 주차 목표였습니다.  
  
---  
  
**진행 방법**  
  
**Step 1. 인터뷰로 비서 성격 정의하기**  
  
클로더즈에서 제공한 인터뷰 프롬프트 템플릿을 받아서, 질문에 직접 답변하는 방식으로 박박사의 역할을 정의했습니다. AI에게 "이렇게 만들어줘"라고 지시하는 게 아니라, 제가 먼저 비서의 성격을 인터뷰 형식으로 정의하고 나서 파일로 저장하는 방식이었습니다.  
  
인터뷰에서 제가 답한 핵심 내용입니다.  
  

```
다루는 대상  : 뉴스·글 텍스트
핵심 기능   : 사실과 주장/추정 구분 + 신뢰도 % 추정

신뢰도 판단 기준 3가지
  1. 사실성 (Factfulness) — 데이터가 실제 사실에 입각했는가
  2. 연관성 (Relevance)   — 근거가 주장과 실제로 연관 있는가
  3. 충분성 (Sufficiency) — 근거의 양·질이 주장을 납득시키기에 충분한가

말투           : 짧고 직접적, 이모지·감탄사 없음
절대 하지 않을 일 : 기사에 없는 내용 추가, 개인 해석·가치 판단
```

  
  
이 결과를

```
assistant-soul.md
```

파일로 저장했습니다.  
  
---  
  
**Step 2. 작업 폴더에 역할 파일 연결하기**  
  
Hermes는 작업 폴더 안의

```
.hermes.md
```

파일을 자동으로 읽어서 비서 설정에 반영합니다. 여기에 박박사 규칙 파일을 참조하도록 연결했습니다.  
  

```
## 참조 파일 목록
- `assistant-soul.md`    — 박박사 비서 정의 (말투·판단 기준·금지 사항)
- `privacy-boundaries.md` — 개인정보 처리 경계 규칙

## 사용 규칙
- 뉴스 요약 요청이 오면 `assistant-soul.md`의 박박사 규칙을 따른다.
```

  
  
---  
  
**Step 3. 주식 분석 스크립트 만들기**  
  
매일 자동으로 실행될 Python 스크립트를 만들었습니다. 분석 항목은 총 **17개 지표**로, 7개 섹션으로 구성했습니다.  
  
**[A] 추세 — 5개**  
- **MA(5·20·60·120일)** — 정배열/역배열 판단  
- **MACD(12,26,9)** — 상승/하락 국면 전환 포착  
- **ADX(14)** — 추세 강도 측정 (방향 무관, ≥25 추세장)  
- **Parabolic SAR** — 추세 반전 신호  
- **Ichimoku 일목균형표** — 추세·지지·저항 동시 파악  
  
**[B] 모멘텀 — 5개**  
- **RSI(14일)** — 과매수(≥70) / 과매도(≤30)  
- **Stochastic(14,3,3)** — %K·%D 골든/데드크로스  
- **Stochastic RSI** — RSI보다 민감한 신호  
- **Williams %R(14)** — 14일 고가 기준 현재가 위치  
- **CCI(20)** — 추세 강도 + 과매수·과매도 동시 측정  
  
**[C] 변동성·밴드 — 3개**  
- **볼린저밴드(20일, μ±2σ)** — 가격 위치 0~100%로 표시  
- **Keltner Channel** — BB가 KC 밖으로 나오면 Squeeze → 큰 방향성 임박  
- **ATR(14일)** — 손절선 자동 계산 (현재가 − 1.5~2×ATR)  
  
**[D] 거래량 — 4개**  
- **Volume/MA(20)** — 평소 대비 거래량 배수  
- **OBV** — 상승일 거래량 누적 − 하락일 누적, 방향 확인  
- **MFI(14)** — 거래량 가중 RSI  
- **CMF(20)** — 20일간 자금 유입·유출 방향  
  
**[E] 종합 의견**  
  
10개 항목에 각 −2~+2점을 부여해서 합산합니다.  
  

```
+6 이상  →  🟢🟢  강한 매수 관점
+3~+5   →  🟢    매수 관점
−2~+2   →  🟡    중립
−3~−5   →  🔴    매도 관점
−6 이하  →  🔴🔴  강한 매도 관점
```

  
  
**[F] 4국면 분석 — 투자의정석 헤게모니 사이클**  
  
기술적 지표와 별개로 기업 펀더멘털 국면을 판단합니다.  
  

```
1국면: 수요회복    → 실적 바닥, 저평가 매수 기회
2국면: 초과이익    → 매출·영업이익 고성장, 보유 유지
3국면: 레버리지둔화 → 성장세 꺾임, 리스크 관리
4국면: 헤게모니상실 → 구조적 하락, 비중 축소
```

  
  
매일 네이버 금융 API에서 최근 분기 실적을 가져와 국면을 자동 판단하고, Graham Formula로 안전마진도 계산합니다.  
  
**[G] 슈퍼 이동평균 전략**  
  
단기/장기 MA 조합 전체를 5년 백테스팅해서 최적 조합을 자동 선택합니다. 여기에 **MB 시장 온도 필터**를 추가해 현재 변동성이 과거 대비 몇 % 위치인지 계산하고 진입 타이밍을 조절합니다.  
  

```
🌡 시장 온도: 🟢 냉각 (하위 14%)  σ=1.49%
→ 돌파 시 진입 유리한 구간
```

  
  
**[뉴스] 박박사 요약**  
  
RSS로 수집한 당일 기사를 박박사 기준으로 분류합니다. 실제 출력 예시입니다.  
  

```
📰 삼성전자 뉴스 — 박박사 요약
※ % 수치는 추정값, 정확한 계산 아님

1. 사실(보도): 한글날 연휴 이후 첫 거래일 삼성전자·SK하이닉스 4% 넘게 급락
   → 신뢰도 약 60% — 분류 키워드 없음 — 원문 확인 권장
   [연합뉴스] 🔗 링크

2. 주장/추정: SK하이닉스 목표가 320만원 등장…"3분기 영업익 80조 간다"
   → 신뢰도 약 35% — 주장/예측 포함('목표가'), 출처 신뢰 보통
   [매일경제] 🔗 링크
```

  
  
---  
  
**Step 4. Hermes 크론으로 하루 4회 자동 파이프라인 구성**  
  
단순히 "매일 한 번 실행"이 아니라, 장 시작 전부터 마감 후까지 4개 크론을 조합했습니다.  
  
**08:00**  
• 내용: 전일 종가 기준 전체 분석 + 뉴스 박박사 요약  
• 스케줄 표현:

```
every day at 8am
```

  
  
**12:00**  
• 내용: 오전 장중 현황  
• 스케줄 표현:

```
weekdays at 12pm
```

  
  
**15:00**  
• 내용: 마감 30분 전 현황  
• 스케줄 표현:

```
weekdays at 3pm
```

  
  
**20:00**  
• 내용: 하루 마감 정리  
• 스케줄 표현:

```
weekdays at 8pm
```

  
  
08시는 주말 포함(

```
every day
```

), 장중 3개는 평일만(

```
weekdays
```

). 스케줄 표현을 자연어로 쓸 수 있는 게 편했습니다.  
  
크론 생성 시 사용한 핵심 옵션들입니다.  
  

```
cronjob_manage(
    action='create',
    name='데일리 주식 분석',
    schedule='every day at 8am',
    script='stock_daily.py',              # 파일명만 (절대경로 X)
    workdir='C:/Users/.../stock_analysis', # 절대경로 필수
    no_agent=True,                         # LLM 없이 스크립트 직접 실행
    deliver='telegram:채팅ID:스레드ID'     # 특정 토픽까지 지정
)
```

```
no_agent=True
```

를 쓰면 LLM을 거치지 않고 스크립트를 그대로 실행합니다. 박박사 요약 로직이 스크립트 안에 이미 구현되어 있어서 속도도 빠르고 토큰 비용도 없습니다.  

텔레그램 deliver 옵션에서 스레드 ID까지 붙이는 형식(telegram:채팅ID:스레드ID)을 알게 된 것도 이번이 처음이었습니다. 처음엔 origin을 썼다가 엉뚱한 채널로 전달되는 문제를 겪고 나서 명시적으로 지정하게 됐습니다.

---

막힌 지점 — 나무증권 모의투자 API

박박사 요약 결과를 바탕으로 자동매매까지 연결하려고 나무증권(NH투자증권) OpenAPI를 신청하려 했는데, Hermes가 안내한 메뉴 경로와 실제 화면 구성이 달랐습니다.

마이페이지 > OpenAPI 신청

• 실제 화면: 해당 메뉴 없음

모의투자 > API 발급

• 실제 화면: 모의투자 탭 위치가 다름

결국 고객센터 채팅으로 직접 확인해서 경로를 찾았습니다.

실제 경로: 나무 앱 > 설정 > 오픈API > 모의투자 신청

AI가 안내하는 UI 경로는 서비스 업데이트로 바뀌어 있는 경우가 있습니다. 참고하되 실제 화면을 직접 확인하는 습관이 필요하다는 걸 배웠습니다.

---

결과와 배운 점

✅ 결과

- 박박사 역할 파일 완성 및 Hermes 작업 폴더에 연결

- 17개 지표 + 4국면 + 슈퍼 이동평균 전략 + 뉴스 박박사 요약이 매일 오전 8시 텔레그램으로 자동 도착

- 장중 12시·15시·마감 후 20시 업데이트까지 하루 4회 파이프라인 가동

- 나무증권 모의투자 API 신청 완료

---

💡 배운 점과 나만의 꿀팁

AI 비서의 성격은 인터뷰 형식으로 정의하는 게 가장 빠릅니다.

처음부터 완성된 문서를 쓰려 하면 막힙니다. 질문에 답하다 보면 자연스럽게 규칙이 만들어집니다.

no_agent=True 크론은 결과가 일정합니다.

LLM에게 매번 판단을 맡기면 같은 입력에도 출력이 달라질 수 있습니다. 로직이 스크립트에 이미 있다면 no_agent 모드가 낫습니다.

last_error를 주기적으로 확인하세요.

크론이 조용히 실패하고 있어도 모르고 지나칠 수 있습니다. 변수명 오류 하나로 하루치 분석이 빠진 걸 다음날에야 발견한 경험이 있습니다.

박박사의 신뢰도 %는 추정값이라고 매번 밝히는 게 오히려 효과적입니다.

한계를 먼저 드러내는 것 자체가 그룹 내 신뢰를 높이는 데 도움이 됐습니다.

---

🔧 시행착오

- pandas_ta 설치 실패 (numba 충돌) → pandas로 지표 직접 계산으로 대체

- 크론 deliver='origin' 설정 → 엉뚱한 채널로 전달 → 명시적 채팅ID+스레드ID로 수정

- 나무증권 API 메뉴 경로 불일치 → 고객센터 직접 확인으로 해결

---

🗓 앞으로의 계획

나무증권 모의투자 API 토큰 발급 후, 박박사 요약 점수가 기준 이하로 떨어질 때 자동 매도 주문 1건을 테스트할 계획입니다. 실제 체결까지 연결되면 "뉴스 읽기 → 판단 → 주문" 이 완전 자동화됩니다.

---

도움 받은 글

- 클로더즈 AI 비서 인터뷰 프롬프트 템플릿

- 동부증권 스몰캡팀 『투자의정석』(2011) — 4국면 헤게모니 사이클 분석 기준
