Data & Analysis financial-newssentiment-analysisquant-financefastapimilvusceleryaksharereact

FinnewsHunter Financial Intelligence

A self-hosted system that turns financial news into searchable sentiment analysis and investment research signals.

FollowAgents review · FARS-2.1
Not recommended
29/ 100 5-point scale 1.5 / 5
1 2 3 4 5 6
Per-dimension scores and reasoning
1Trust0 / 29 · 0.0/5

Evidence shows: the repository provides no permission model, user confirmation mechanism, data flow transparency, sensitive data handling policy, dependency security audit, external impact assessment, rollback mechanism, or source attribution. All trust criteria lack evidence, hence all 0.

2Reliability5 / 14 · 1.8/5

Evidence shows: README describes system architecture and features, but no verifiable test results or runtime evidence. Self-consistency: features described align with code structure, but test coverage is missing. Dependency availability: dependencies listed but no version pinning or mirrors. Failure messages: log viewing commands provided, but no error handling documentation. Hence each scored 1.

3Adaptability8 / 18 · 2.2/5

Evidence shows: README identifies target users (quantitative traders) and use cases (financial news analysis), but capability boundaries are not explicit. Trigger precision: API and frontend operations described, but precise trigger conditions not defined. Environment fit: Docker Compose deployment provided, but configuration differences across environments not explained. Hence each scored 1-2.

4Convention8 / 18 · 2.2/5

Evidence shows: README provides detailed project structure, installation steps, usage guide, but lacks known limitations and version changelog. License is Apache-2.0, but maintenance responsibility not stated. Hence each scored 0-2.

5Effectiveness7 / 13 · 2.7/5

Evidence shows: README describes outputs as analysis reports and K-line charts, but no actual output examples or user feedback. Marginal value: emphasizes multi-agent collaboration and real-time analysis, but no comparison with existing solutions. Cost-benefit: no performance or cost data. Hence each scored 1-2.

6Verifiability1 / 8 · 0.6/5

Evidence shows: feature claims in README lack verifiable test results or independent validation. Cross-source corroboration: no external references. Fact-inference separation: no distinction between facts and inferences. Hence each scored 0-1.

Evidence confidence: Low Reviewed Aug 09, 2026 Reviewed revision eb13a7fdf36a
Safety controls not found in source: least-privilege scoping, confirmation before acting, data-flow disclosure, sensitive-data handling, dependency security, disclosed external effects, rollback or recovery path, verifiable attribution
Before you use it
  • The repository provides no security audit or permission control documentation; assess risks before deployment.
  • Feature claims in README lack test evidence; verify actual behavior yourself.
  • Dependencies are not version-pinned, posing supply chain risks.
  • No known limitations or changelog provided, raising maintenance concerns.
Review evidence [1][2][3][4][5]
See the full review method →

What does this agent do, and when should you use it?

FinnewsHunter is a self-hosted financial-news analysis platform built on AgenticX for Chinese market research workflows. Its FastAPI backend exposes news, analysis, model-configuration, and stock-data APIs, while a React and TypeScript frontend provides news browsing, search, batch actions, and K-line charts. Celery Beat schedules crawling and Celery workers process the jobs; PostgreSQL stores application records, Redis supports caching, and Milvus stores embeddings. The NewsAnalyst agent analyzes news with a configured model provider and sends embedding work to the background. The repository also documents a bull-bear investment debate workflow involving BullResearcher, BearResearcher, SearchAnalyst, and InvestmentManager.

The application crawls financial news from 10 configured sources, deduplicates by URL, retains news within 24 hours, and applies stock-keyword filtering. It stores news in PostgreSQL and exposes it through endpoints including /api/v1/news/latest and /api/v1/news/sources; the UI searches titles, content, stock codes, and sources and supports batch deletion and analysis. POST /api/v1/analysis/news/{id} invokes NewsAnalyst to produce sentiment, sentiment score, confidence, and an analysis result. EmbeddingService uses BailianEmbeddingProvider to embed text, while VectorStorage uses MilvusStorage for vector persistence and similarity search. Stock views retrieve AkShare data for daily and 60m, 30m, 15m, 5m, and 1m K-lines, and the debate workflow can request data from AkShare, BochaAI, browser search, or the knowledge base before InvestmentManager produces an investment-rating report.

  1. A quantitative research team needs to ingest recent finance news from sources such as Sina Finance, Tencent Finance, and East Money into one searchable database.
  2. An equity analyst wants to run a chosen configured model on one article or a selected batch and review sentiment, confidence, and market-impact analysis.
  3. An A-share researcher needs fuzzy stock lookup across more than 5,000 preloaded records and wants to inspect multi-period K-line data.
  4. An investment team wants a structured bull-versus-bear discussion for a stock, with on-demand requests for financial metrics, fund flows, or current news.
  5. A self-hosting team needs a Docker Compose-operated stack for PostgreSQL, Redis, Milvus, and Celery while running the API and frontend as development services.

What are this agent's strengths and limitations?

Pros
  • It documents an end-to-end self-hosted workflow spanning crawling, scheduling, analysis, vector storage, APIs, and a React interface.
  • It supports five listed model-provider families—Bailian, OpenAI, DeepSeek, Kimi, and Zhipu—with frontend model switching.
  • Celery Beat and Celery workers automate crawling across 10 finance-news sources, with documented URL deduplication, time filtering, and operational checks.
  • The product combines news sentiment analysis, Milvus-backed embeddings, stock K-lines, and a data-seeking bull-bear debate flow.
  • Both the user interface and API document batch selection, deletion, and analysis of news items.
Limitations
  • It depends on AgenticX; the installation instructions require an editable install from a specific local path and do not provide a standalone AgenticX versioning procedure.
  • A full deployment carries a substantial operational footprint: PostgreSQL, Redis, Milvus, Docker Compose, Celery, Python, and Node.js.
  • News ingestion depends on third-party websites; the documentation notes that changed site URLs can cause 404 failures and require crawler configuration edits.
  • At least one external model-provider API key is required, and model availability and access conditions remain provider-dependent.
  • WebSocket live updates and agent execution-trace visualization are still marked in progress; knowledge graphs, agent memory, and self-evolution features are planned rather than delivered.

How do you install or deploy this agent?

Prerequisites are Python 3.11+, Docker, and Docker Compose; frontend development also requires Node.js 18+. Install AgenticX first:

cd /Users/damon/myWork/AgenticX

pip install -e .

Install backend dependencies and prepare configuration:

cd FinnewsHunter/backend
pip install -r requirements.txt
cp env.example .env

Configure at least one model-provider key. For example, Bailian:

DASHSCOPE_API_KEY=sk-your-dashscope-key
DASHSCOPE_BASE_URL=https://dashscope.aliyuncs.com/compatible-mode/v1
BAILIAN_MODELS=qwen-plus,qwen-max,qwen-turbo

Start infrastructure and initialize the database:

cd FinnewsHunter
docker compose -f deploy/docker-compose.dev.yml up -d postgres redis milvus-etcd milvus-minio milvus-standalone
cd backend
python init_db.py

Optionally load stock data:

python -m app.scripts.init_stocks

Start the API:

uvicorn app.main:app --reload --host 0.0.0.0 --port 8000

In separate terminals, start the scheduler and frontend:

cd FinnewsHunter
docker compose -f deploy/docker-compose.dev.yml up -d celery-worker celery-beat
cd frontend
npm install
npm run dev

How do you use this agent?

After startup, the frontend is at http://localhost:3000 and API documentation is at http://localhost:8000/docs. A first crawl invocation for Sina Finance is:

curl -X POST http://localhost:8000/api/v1/news/crawl -H "Content-Type: application/json" -d '{"source": "sina", "start_page": 1, "end_page": 1}'

Retrieve news:

curl "http://localhost:8000/api/v1/news/latest?limit=200"

Analyze news record 1:

curl -X POST http://localhost:8000/api/v1/analysis/news/1

Run batch analysis with a selected model:

curl -X POST "http://localhost:8000/api/v1/analysis/batch" -H "Content-Type: application/json" -d '{"news_ids": [1, 2, 3], "provider": "bailian", "model": "qwen-plus"}'

Request stock K-line data:

curl "http://localhost:8000/api/v1/stocks/SH600519/kline?period=daily&limit=180"

FAQ

Do I have to use a particular model provider?
No. The repository lists Bailian, OpenAI, DeepSeek, Kimi, and Zhipu. At least one API key must be configured, and the frontend can switch among configured providers and models.
Does it collect news automatically?
Yes. The documentation says Celery Beat schedules crawl tasks for 10 sources every minute and Celery workers execute them. You can also trigger crawling through /api/v1/news/refresh or /api/v1/news/crawl.
Where is the data stored?
News, task, and analysis records are stored in PostgreSQL. Redis is used for caching, and text vectors are stored in Milvus through AgenticX MilvusStorage.
What should I check if no news arrives or analysis fails?
Check celery-beat and celery-worker logs, Redis connectivity, and crawl_tasks records. For analysis failures, verify that .env has at least one provider API key and, when using Bailian, a DASHSCOPE_BASE_URL value.

Related agents