설정

Richfolio는 모든 포트폴리오 데이터를 하나의 JSON 설정으로 관리합니다 — 포트폴리오 정보는 비공개로 유지됩니다.


설정 방법

Fork한 저장소의 Settings → Secrets and variables → Actions → Variables 탭으로 이동 → 아래 JSON 내용을 담은 CONFIG_JSON 이라는 변수를 생성하세요.

예시

{
  "targetPortfolio": {
    "VOO": 20,
    "QQQ": 15,
    "GLD": 10,
    "BSV": 20,
    "SMH": 5,
    "BTC": 1.5
  },
  "currentHoldings": {
    "AAPL": 30,
    "VOO": 1,
    "BTC": 0.0002
  },
  "totalPortfolioValueUSD": 50000,
  "intradayAlerts": {
    "enabled": true,
    "confidenceIncreaseThreshold": 10
  }
}

필드 참고

필드 필수 설명
targetPortfolio 목표 배분 비율(%). 키는 티커 심볼이고, 값은 합계가 약 100%가 되어야 하는 비율입니다.
currentHoldings 현재 보유한 주식 수. 목표 포트폴리오에 없는 종목도 포함할 수 있습니다 (예: ETF 중첩 감지를 위한 AAPL).
totalPortfolioValueUSD USD로 표시한 추정 포트폴리오 총 가치. 실제 보유 자산이 목표보다 작을 때 배분 계산에 사용됩니다.
intradayAlerts 아니오 장중 알림 설정 (아래 참고). 생략 시 기본값이 적용됩니다.

장중 알림

intradayAlerts 섹션은 장중 체크가 알림을 보낼 시점을 제어합니다. 모든 필드는 선택 사항이며 — 합리적인 기본값이 적용됩니다.

알림은 STRONG BUY와 관련된 변화에 한해서만 트리거됩니다:

  1. STRONG BUY로 격상 — 다른 등급 → STRONG BUY
  2. STRONG BUY에서 강등 — STRONG BUY → 다른 등급
  3. 신뢰도 변화 — STRONG BUY를 유지한 채 신뢰도가 임계값 이상 변화
필드 기본값 설명
enabled true 마스터 토글. false로 설정하면 장중 알림을 완전히 비활성화.
confidenceIncreaseThreshold 10 STRONG BUY 종목에 대해 알림을 트리거하기 위한 최소 신뢰도 변화량 (절대값, 퍼센티지 포인트).

분석 새로 고침

단일 종목을 최신 가격(애프터 아워/프리 마켓 포함)으로 다시 분석합니다. 새 분석 URL이 포함된 이메일 + Telegram이 전송됩니다.

Actions → Portfolio Monitor → Run workflow → mode: refresh, ticker: SMH.

가능한 경우 Yahoo Finance의 postMarketPricepreMarketPrice가 사용됩니다. 시간 외 데이터가 없으면 정규장 가격으로 폴백합니다.


티커 형식

유형 형식 예시
미국 주식/ETF 표준 심볼 AAPL, VOO, QQQ, SMH
암호화폐 단축 이름 BTC, ETH (BTC-USD, ETH-USD로 자동 변환)
해외 시장 Yahoo Finance 심볼 0700.HK (텐센트), TM (도요타)

  • 목표 비율의 합은 100%가 되어야 합니다. 그렇지 않더라도 격차 계산은 동작하지만 추천 매수 금액이 더 크거나 작게 나올 수 있습니다.

  • 목표 외 보유 종목도 ETF 중첩 감지를 위해 추적됩니다. 예를 들어 AAPL을 보유하면 AAPL을 포함하는 ETF(VOO나 QQQ 등)의 매수 우선순위가 낮아집니다.

  • 소수점 주식도 지원됩니다 — 암호화폐("BTC": 0.000188)나 소수점 주식 매수를 지원하는 증권사에 유용합니다.

  • 포트폴리오 가치는 실제 보유 자산 가치와 설정된 추정치 중 더 큰 값을 사용합니다. 현재 보유 자산이 아직 목표 배분을 향해 쌓이고 있는 중일 때도 격차 계산이 의미 있게 유지됩니다.

티커는 몇 개까지 추가할 수 있나요?
Richfolio는 집중된 포트폴리오에서 가장 잘 동작합니다. 하드코딩된 제한은 없지만, 무료 플랜 API 할당량과 다이제스트의 가독성이 실질적인 경계를 만듭니다. **권장 범위:** | 범위 | 평가 | |------|------| | **10–20** | 스위트 스폿 — 집중적이고 실행 가능하며 모든 무료 플랜이 여유로움 | | **20–30** | 여전히 좋음 — 관리 가능한 다이제스트, 제한 안에서 충분 | | **30–50** | 기술적으로는 동작하지만 일일 다이제스트가 시끄러워짐 | | **50+** | 권장하지 않음 (아래 참고) | **왜 50개 이상은 권장하지 않는가:** - **NewsAPI (1일 100건)** — 뉴스는 5개 티커 단위 배치로 가져옵니다. 50개 티커로 일일 + 장중을 실행하면 약 22건 사용; 100개 티커면 약 42건으로, refresh를 위한 여유가 거의 없습니다. - **AI 분석 품질** — Gemini는 한 번에 너무 많은 선택지를 평가할 때 추천이 희석됩니다. - **다이제스트 가독성** — 이메일이 길어지고 Telegram은 4,096자에서 잘립니다. 신호 대 잡음 비율이 급격히 떨어집니다. - **실행 시간** — 각 티커는 가격, 기술적 지표, 펀더멘털을 위한 Yahoo Finance 호출이 필요하므로 GitHub Actions 실행이 느려집니다. Gemini 무료 플랜(1일 250건 요청, 분당 25만 토큰)은 넉넉하며 병목이 될 가능성이 거의 없습니다 — 100개 티커도 실행당 약 5.3만 토큰만 사용합니다. 실제 제약은 NewsAPI 할당량과 정보 과부하입니다. **TL;DR — 모든 무료 플랜에서 최고의 경험을 위해 ≤30개 티커를 목표로 하세요.**

업데이트

보유 종목이 변경될 때는 새로운 JSON 내용으로 CONFIG_JSON 변수를 업데이트하세요 (Settings → Secrets and variables → Actions → Variables 탭).


Richfolio — free, open-source portfolio monitoring.

This site uses Just the Docs, a documentation theme for Jekyll.