Oracle3
Open-source trading engine and MCP server for prediction markets. Fee-aware no-arbitrage trading across related contracts, live on Kalshi, Polymarket and Solana or on paper.
암호화폐, 주식 시장 뉴스 자동 수집 및 AI 기반 시장 분석 플랫폼
Translation pending
FinancePython · SCSSGitHub @Twodragon0OnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
Crypto & Stock Monitoring, News, and Trading Journal
Translation pending
Taken from the repository README
Loading the full README. The saved excerpt is shown below.
Investing Dragon - Market Data Intelligence Layer DragonQuant 플랫폼의 데이터 인텔리전스 계층입니다. 20+ 소스에서 시장 데이터를 자동 수집하고, 구조화하여 퀀트 트레이딩 엔진(crypto)에 시그널 원천 데이터를 공급합니다. [README 설치·사용 부분 발췌] Quick StartRead the full README ↗
DragonQuant 플랫폼의 데이터 인텔리전스 계층입니다. 20+ 소스에서 시장 데이터를 자동 수집하고, 구조화하여 퀀트 트레이딩 엔진(crypto)에 시그널 원천 데이터를 공급합니다.
DragonQuant Platform
┌─────────────────────────────────────────────────────────────────────┐
│ │
│ ┌─────────────────────────┐ ┌─────────────────────────────┐ │
│ │ investing (이 저장소) │ │ crypto │ │
│ │ Data Intelligence │─────▶│ Quant Trading Engine │ │
│ │ │ │ │ │
│ │ 20+ 소스 자동 수집 │ │ 14-Component MI Signal │ │
│ │ Collectors │ │ 6 Technical Indicators │ │
│ │ 중복 제거 + 감성 분석 │ │ Kelly + CVaR 리스크 제어 │ │
│ │ Jekyll 사이트 발행 │ │ Upbit/Bithumb 자동매매 │ │
│ └─────────────────────────┘ └─────────────────────────────┘ │
│ │
│ 연동: _posts/*.md → StructuredPostParser → Market Intelligence │
└─────────────────────────────────────────────────────────────────────┘
전체 플랫폼 아키텍처: docs/platform-architecture.md
| 수집기 | 주기 | 주요 소스 | 카테고리 |
|---|---|---|---|
collect_crypto_news | 6h | CryptoPanic, Google News, 거래소 공지, Rekt News | crypto-news |
collect_stock_news | 6h | Google News, Yahoo Finance, yfinance, KRX, Alpha Vantage | stock-news |
collect_coinmarketcap | 6h | CoinMarketCap API, CoinGecko API (fallback) | crypto-news |
collect_defi_llama | 6h | DeFi Llama API (프로토콜/체인 TVL) | crypto-news |
collect_social_media | 12h | Telegram 채널, Twitter/X API v2 | social-media |
collect_regulatory | 12h | SEC, CFTC, Fed, FSC, FSA, MAS, ESMA, FCA (RSS) | regulation |
collect_political_trades | 일간 | 의회 거래공시, SEC EDGAR, 한국 정치인 자산 | political-trades |
collect_worldmonitor_news | 일간 | WorldMonitor RSS (지정학, 에너지) | world-monitor |
collect_fmp_calendar | 12h | FMP 경제 캘린더/실적 일정, 섹터 퍼포먼스 | market-analysis |
collect_market_indicators | 평일 2회 | CNN Fear & Greed, VIX/DXY/원자재, 시장 폭/마진 뉴스 | market-analysis |
collect_geopolitical | 12h | Polymarket 지정학 리스크 시장 데이터 | geopolitical-risk |
| 생성기 | 스케줄 | 출력 |
|---|---|---|
generate_market_summary | 매일 | 시장 분석 + 시각화 이미지 (히트맵, 게이지, 카드) |
generate_daily_summary | 매일 | 우선순위별 종합 뉴스 요약 (P0/P1/P2) |
generate_weekly_digest | 매주 일 | 주간 다이제스트 (카테고리별 분석) |
generate_weekly_report | 매주 월 09:00 KST | 주간 운영·수집 지표 리포트 |
generate_ops_10am_digest | 매일 10:00 KST | 오전 운영 다이제스트 (Slack) |
generate_og_images | push 트리거 | 포스트 OG/소셜 카드 이미지 |
이 저장소의 _posts/*.md는 crypto 저장소의 StructuredPostParser가 파싱하여 매매 시그널에 반영합니다:
| 추출 데이터 | 시그널 가중치 | 파싱 소스 |
|---|---|---|
| Fear & Greed Index | 0.17 | market-analysis 포스트 |
| 소셜 감성 | 0.12 | social-media 포스트 (VADER + 한국어 키워드) |
| 정치 리스크 | 0.08 | political-trades 포스트 |
| VIX 변동성 | 0.08 | stock-news 포스트 |
| 보안 이벤트 | 0.07 | crypto-news (해킹 금액 추출) |
| 한국 시장 | 0.07 | stock-news (KOSPI/KOSDAQ/USD-KRW) |
| BTC 도미넌스 | 0.06 | crypto-news 포스트 |
| 규제 시그널 | 0.04 | regulatory 포스트 |
┌─────────────────────────────────────────────────────────────────┐
│ GitHub Actions (Cron + Push) │
│ Concurrency Group: collect-data │ Cron Schedule │ Deploy │
└────────┬────────────────────┬──────────────────────┬────────────┘
│ │ │
▼ ▼ ▼
┌─────────────────┐ ┌─────────────────┐ ┌──────────────────┐
│ Collection │ │ Processing │ │ Presentation │
│ │ │ │ │ │
│ Collectors │─▶│ Generators │─▶│ Jekyll Site │
│ 20+ Sources │ │ Image Gen │ │ GitHub Pages │
│ Dedup Engine │ │ Summarizer │ │ OG/SNS 최적화 │
│ Enrichment │ │ OG Image Gen │ │ Categories │
└────────┬────────┘ └────────┬────────┘ └──────────────────┘
│ │
▼ ▼
┌─────────────────────────────────────────┐
│ _state/*.json │ _posts/*.md │
│ SHA256 + Fuzzy │ → crypto repo 소비 │
└─────────────────────────────────────────┘
git clone https://github.com/Twodragon0/investing.git
cd investing
bundle install
bundle exec jekyll serve # http://localhost:4000
pip install -r scripts/requirements.txt
# 수집기 (API 키 없어도 동작, Graceful degradation)
python scripts/collect_crypto_news.py
python scripts/collect_stock_news.py
# 생성기
python scripts/generate_market_summary.py
python scripts/generate_daily_summary.py
저장소는 gitleaks(시크릿 탐지)와 scripts/common/ 상대 임포트 강제(#773 회귀 방지) 훅을 .pre-commit-config.yaml 에 등록해 두었습니다. 로컬에서 실제 동작하려면 최초 1회 설치가 필요합니다.
pip install pre-commit # 또는 brew install pre-commit
pre-commit install # .git/hooks/pre-commit 에 자동 연결
# (선택) 전체 파일에 한 번 돌려 상태 확인
pre-commit run --all-files
설치하지 않으면 CI에서만 검증되고 로컬 커밋 시에는 차단되지 않으므로, 클론 직후 바로 실행해 두는 것을 권장합니다.
GitHub Actions는 분산 수집/검증을 유지하고, 상시 켜진 서버는 오전 9시 10분(KST) 자동 포스팅/품질 보정을 담당하도록 구성할 수 있습니다.
# 09:10 KST 자동 포스팅 + 내용/이미지 품질 보정 크론 설치
bash scripts/install_server_morning_cron.sh
# 수동 1회 실행 테스트
bash scripts/server_morning_autopost.sh
scripts/server_morning_autopost.sh_state/server-morning-autopost.logscripts/install_server_morning_cron.shgenerate_daily_summary, generate_market_summary, 포스트/이미지 품질 보정workflow_dispatch)| 환경변수 | 서비스 | 용도 |
|---|---|---|
CRYPTOPANIC_API_KEY | CryptoPanic | 암호화폐 뉴스 핫 피드 |
ALPHA_VANTAGE_API_KEY | Alpha Vantage | 미국 시장 데이터 |
FRED_API_KEY | FRED | 매크로 경제 지표 |
TWITTER_BEARER_TOKEN | Twitter API v2 | 암호화폐 트윗 검색 |
COINGECKO_API_KEY | CoinGecko | 코인 가격/트렌딩 |
CMC_API_KEY | CoinMarketCap | 시가총액 순위 |
키가 없으면 해당 소스를 건너뛰고 나머지로 수집합니다.
포스트 중복 방지 3단계:
normalize(title) + source + date[:10] 해싱difflib.SequenceMatcher 유사도 80% 초과 시 중복 판정_state/*.json에 해시 저장 (30일 보관)전체 개수는 docs/component-counts.md 가 단일 소스다
(scripts/tools/component_counts.py 파생). 아래 표는 주요 워크플로우만 고른
부분 목록이며 전수가 아니다 — 이전에는 이 제목이 "25개" 라고 적혀 있어 저장소에
워크플로우가 25개뿐인 것처럼 읽혔다(실측 54).
각 소절의 숫자는 그 표의 행 수와 일치시킨다. 어긋나면 그 소절이 낡은 것이다.
| 워크플로우 | 스케줄 (UTC) | 설명 |
|---|---|---|
collect-crypto-news | 매 6h :00 | 암호화폐 뉴스 |
collect-coinmarketcap | 매 6h :15 | CoinMarketCap/CoinGecko |
collect-stock-news | 매 6h :30 | 주식 뉴스 |
collect-defi-llama | 매 6h :45 | DeFi TVL |
collect-social-media | 매 12h | 소셜 미디어 |
collect-regulatory | 매 12h | 글로벌 규제 |
collect-political-trades | 매일 | 정치인 거래 |
collect-worldmonitor-news | 매일 | 글로벌 뉴스 |
collect-fmp-calendar | 매 12h :00 | FMP 경제 캘린더/실적 |
collect-market-indicators | 평일 14:00/22:00 UTC | 시장 심리·리스크 지표 |
collect-defi-yields | 매 6h :35 | DeFi 이자율(Yields) |
collect-blockchain | 매일 00:20 | 온체인 지표(BTC 해시레이트, ETH gas) |
collect-geopolitical | 21:52, 09:52 | 지정학 리스크(Polymarket, GDELT) |
| 워크플로우 | 스케줄 | 설명 |
|---|---|---|
generate-market-summary | 매일 | 시장 분석 + 시각화 |
generate-daily-summary | 매일 | 일일 종합 요약 |
backfill-post-summaries | 매일 | 포스트 요약 보강 |
weekly-digest | 매주 일 | 주간 다이제스트 |
| 워크플로우 | 트리거 | 설명 |
|---|---|---|
deploy-pages | Push to main | Jekyll 빌드, GitHub Pages 배포 |
code-quality | Push, PR, 주간 | ruff, basedpyright, actionlint |
dependency-check | 매주 월 | pip-audit 보안 의존성 |
site-health-check | 매일 | 사이트 가용성 확인 |
cleanup-old-images | 매주 일 | 30일 이상 이미지 정리 |
respond-ai-mentions | 매시간 | Slack AI 봇 응답 |
push-folder-info-to-slack | 매일 | 레포 상태 Slack 알림 |
ops-10am-digest | 매일 | 운영 다이제스트 |
classify-workflow-failures | 실패 시 | CI 실패 자동 분류 |
continuous-improvement-loop | 매시간 | OpenClaw 개선 루프 + 리포트 생성 |
investing/
├── _config.yml # Jekyll 설정
├── _layouts/ # HTML 레이아웃 (OG/Twitter meta 포함)
├── _includes/ # 재사용 컴포넌트
├── _sass/ # SCSS 스타일 (다크 파이낸스 테마)
├── _data/ # Jekyll 데이터 파일
├── _posts/ # 자동 생성 포스트 → crypto repo가 소비
├── _state/ # 중복 방지 상태 파일 (수동 수정 금지)
├── assets/images/generated/ # OG 이미지 + 시각화 (30일 보관)
├── pages/ # 카테고리 페이지 (개수: docs/component-counts.md)
├── scripts/
│ ├── common/ # 공통 모듈 (개수: docs/component-counts.md)
│ │ ├── config.py # 환경변수, 로깅
│ │ ├── dedup.py # SHA256 + fuzzy 중복 방지
│ │ ├── enrichment.py # URL 해석, 설명 생성
│ │ ├── summarizer.py # 키워드 기반 요약
│ │ ├── image_generator.py # matplotlib/Pillow 시각화
│ │ └── ... # utils, rss_fetcher, crypto_api 등
│ ├── collect_*.py # 수집기 (개수: docs/component-counts.md)
│ └── generate_*.py # 생성기 (개수: docs/component-counts.md)
├── docs/
│ ├── platform-architecture.md # DragonQuant 통합 아키텍처
│ ├── architecture.md # 이 저장소 상세 아키텍처
│ └── data-sources.md # 데이터 소스 카탈로그
├── .github/
│ ├── workflows/ # 자동화 워크플로우 (개수: docs/component-counts.md)
│ └── actions/ # 재사용 액션 (python-collect, resolve-slack-config)
├── Gemfile # Ruby 의존성
└── README.md
| 문서 | 내용 |
|---|---|
| Platform Architecture | DragonQuant 전체 플랫폼 설계, PSST 매핑, 백테스트 결과 |
| Architecture | 이 저장소 상세 아키텍처, 데이터 흐름, 모듈 의존성 |
| Data Sources | 전체 데이터 소스 카탈로그, API 키 설정 가이드 |
| 저장소 | 역할 | 링크 |
|---|---|---|
| crypto | 퀀트 트레이딩 엔진 (ATS 3.0) | Twodragon0/crypto |
| 14-Component 시그널 합성, Upbit/Bithumb 자동매매 | ||
| 보안 모니터링, FastAPI 대시보드 |
MIT
collect_defi_yields| 6h |
| DeFi Llama Yields API (이자율) |
| crypto-news |
collect_blockchain | 일간 | Blockchain.com(BTC 해시레이트/난이도), Etherscan V2(ETH gas/supply) | crypto-news |