설정
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와 관련된 변화에 한해서만 트리거됩니다:
- STRONG BUY로 격상 — 다른 등급 → STRONG BUY
- STRONG BUY에서 강등 — STRONG BUY → 다른 등급
- 신뢰도 변화 — STRONG BUY를 유지한 채 신뢰도가 임계값 이상 변화
| 필드 | 기본값 | 설명 |
|---|---|---|
enabled | true | 마스터 토글. false로 설정하면 장중 알림을 완전히 비활성화. |
confidenceIncreaseThreshold | 10 | STRONG BUY 종목에 대해 알림을 트리거하기 위한 최소 신뢰도 변화량 (절대값, 퍼센티지 포인트). |
분석 새로 고침
단일 종목을 최신 가격(애프터 아워/프리 마켓 포함)으로 다시 분석합니다. 새 분석 URL이 포함된 이메일 + Telegram이 전송됩니다.
Actions → Portfolio Monitor → Run workflow → mode: refresh, ticker: SMH.
가능한 경우 Yahoo Finance의 postMarketPrice와 preMarketPrice가 사용됩니다. 시간 외 데이터가 없으면 정규장 가격으로 폴백합니다.
티커 형식
| 유형 | 형식 | 예시 |
|---|---|---|
| 미국 주식/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 탭).