VYNN AI Financial Analyst
Turn company and market questions into sourced valuations, models, and research reports.
- Source repo
- Agentic-Analyst/stock-analyst
- Stars
- ★ 129
- Last updated
- 5d ago
- License
- NOASSERTION
- Primary language
- Python
- FA score
- 44/100 · Major gaps
At a glance
- How it runs
- Works with
- Universal · cross-platformOpenAI API · Claude API
- Cost
- Needs a paid subscription or licence
- Setup effort
- Medium · a few setup steps
- You'll need
- Typical use
- An individual investor considering whether to research a company further can run a full financial analysis and inspect its valuation model and cited report.
- Not a fit if
- Teams needing software they can use without written permission
- Investors requiring accuracy validated by a 12-month backtest
- Traders relying on intraday news signals
- Source review
- 44/100 · Major gaps 2 safety controls not found
What does this agent do, and when should you use it?
This is the personal financial analysis agent behind VYNN AI, with a Python 3.11 command-line entry point at main.py. src/agents/generalist_agent.py runs a reasoning loop that selects tools for the question; when full research is needed, it gathers financials, builds a ten-tab Excel model while screening news in parallel, then writes a cited report. Code computes the model figures, a deterministic calculator sets the rating and target, and a validator checks numbers and requires at least 95% of material sentences to cite evidence from the run. Outputs include a chat answer, research report, workbook, and run data; Docker is also documented. The README documents OpenAI and Anthropic model interfaces, but written permission from VYNN AI is required to use, copy, modify, or distribute the source.
Accepts natural-language questions through --pipeline chat, with generalist_agent.py selecting tools. Quick questions can query prices, technicals, options, portfolio risk, macro data, funds, crypto, or prediction markets. Full research calls get_financials, build_model, analyze_news, and write_report to produce a ten-tab Excel model and cited report; the deterministic calculator and validator in src/recommendation_* set the rating and target and check figures, while src/confidence_alert.py flags large gaps between the model value and analyst targets. Runs write models, reports, answers, and logs under data/<email>/<TICKER>/<timestamp>/. An OpenAI API key is required by default, with Anthropic available as an alternative provider.
- An individual investor considering whether to research a company further can run a full financial analysis and inspect its valuation model and cited report.
- A user seeking company research in Chinese can ask in Chinese and receive a report in Chinese.
- An investor assessing how interest-rate changes may affect US banks can ask about macro data for a quick answer.
- A technical trader seeking levels for NVDA or AAPL can request technical analysis.
- An options or portfolio researcher can request Black-Scholes pricing, risk metrics, or max-Sharpe portfolio weights.
- A user tracking market-implied Fed-cut odds or Bitcoin can query prediction markets or a crypto snapshot.
How do you install or deploy this agent?
Requires Python 3.11 and an OpenAI API key. Docker deployment is also documented. Written permission from VYNN AI is required to use, copy, modify, or distribute the source.
git clone https://github.com/Agentic-Analyst/stock-analyst.git
cd stock-analyst
python3.11 -m venv .venv && source .venv/bin/activate
pip install -r requirements.lock
cp .env.example .env # set OPENAI_API_KEYDocker deployment:
docker build --target production -t stock-analyst .
docker run --rm --env-file .env -v "$(pwd)/data:/data" stock-analyst \
--pipeline chat --email [email protected] --timestamp 20260101_120000 --user-prompt "Analyze NVDA"How do you use this agent?
Set OPENAI_API_KEY in .env, then submit a question through the chat pipeline:
python main.py --pipeline chat --email [email protected] --timestamp 20260101_120000 \
--user-prompt "Analyze NVDA. Should I buy?"Continue a conversation with --session-id. For scripted runs, use --ticker with a pipeline such as comprehensive, financial-model, or search-news. Set ANTHROPIC_API_KEY to use Claude models; FRED_API_KEY enables get_macro, while SERPAPI_API_KEY can improve news discovery.
What are this agent's strengths and limitations?
- The reasoning loop selects tools for each question, so quick answers can skip the full analysis pipeline.
- Full analysis builds a ten-tab Excel model while screening news in parallel, then produces a sourced report.
- A deterministic calculator sets ratings and targets, while a validator checks figures and citation coverage.
- Supports configurable OpenAI or Anthropic models and documents both CLI and Docker execution.
- Written permission from VYNN AI is required to use, copy, modify, or distribute the source.
- Requires Python 3.11 and an OpenAI API key by default; using Anthropic also requires its API key.
- Macro data, richer news discovery, and analyst consensus depend on additional services or API keys.
- The README says calibration has not yet been validated with a versioned cohort and real 12-month outcome backtest.
- Google News results can lag by 15 to 30 minutes, and Yahoo Finance may throttle bursts.
How does this agent compare with similar options?
The README reconciles Perpetual Growth and Exit Multiple as two valuation methods, and keeps analyst targets as a benchmark outside the valuation. It does not name direct competitor products for adoption comparison.
Key facts side by side with the most closely related agents.
| Agent | Source review | Form / cost | Stars | Updated | Language | Full support on |
|---|---|---|---|---|---|---|
| VYNN AI Financial Analyst This agent | 44 · Major gaps | CLIPaid | ★ 129 | 5d ago | Python | OpenAI API · Claude API |
| TradingAgents Financial Research Framework | 76 · Good | CLIFree + model costs | ★ 113k | 7d ago | Python | OpenAI API · Claude API |
| FinRobot | 51 · Major gaps | CLIFree + model costs | ★ 8.3k | 25d ago | Python | OpenAI API |
| Alpaca Multi-Agent Trading Workbench | 48 · Major gaps | CLIFree + model costs | ★ 278 | 15d ago | Python | OpenAI API |
How does FollowAgents rate this agent?
Why each dimension lost points
Evidence shows: news/search/history are marked as data not instructions, SECURITY.md documents a VEX decision for an NLTK CVE guarded by a test, CI has an anti-fabrication grep gate, and README claims every input prints its source. Deductions: no user confirmation or approval mechanism appears in the files (README mentions 'approval waits' but no code shows it), no rollback or undo path, external effects (file writes, paid API calls, report publication) are unconstrained, and permission boundaries are undocumented; dependencies include a private git-hosted vynn-core and an unpinned requirements.txt, limiting supply-chain transparency.
Evidence shows: CI runs 745 tests, a compileall check, and conftest forces offline fixtures; tests cover execution-level tool contracts and manifest fingerprint stability, supporting self-consistency. Deductions: requirements.txt uses loose lower bounds and a private git dependency, so dependency availability cannot be statically confirmed; failure messaging is only visible in test assertions, with no product-level error or degradation path shown in the files.
Evidence shows: README lists multilingual, quick-answer and full-analysis scenarios, and states capability boundaries (no DCF for crypto, funds, pre-revenue firms) with concrete limitations. Deductions: trigger precision (when the heavy path runs) is described only in prose with no thresholds or decision rules; environment fit covers only Python 3.11 and Docker with no other runtime guidance.
Evidence shows: README is well structured with quickstart, configuration table, project layout, test commands and a limitations section, plus rich examples. Deductions: the license is proprietary 'view only' and conflicts with the 'source-available' badge and NOASSERTION metadata, and forbids executing the software, which tensions with the Quickstart install/run instructions; no version number or changelog; maintenance responsibility points only to a personal email and the publisher is unverified.
Evidence shows: outputs include an Excel model, a cited report and a chat answer, giving high usability, with real research-record samples. Deductions: marginal value depends on paid external APIs and proprietary data, and the license forbids actual use, so ordinary users cannot realize value; cost-benefit rests on a single promotional comparison against a competitor with no verifiable cost data.
Evidence shows: README stresses every number is code-computed, at least 95% of material sentences must cite evidence, and a validator corrects mismatched figures; tests include an anti-fabrication gate and manifest fingerprint tests, separating fact from inference well. Deductions: cross-source corroboration relies on a single vendor's data and self-report with no independent third-party check; sample reports are PDF links whose content cannot be confirmed against the code in a static review.
- Not found in source: confirmation before actingTurn on (or add) a confirmation step before it acts, and try it in a sandbox or test environment before real data.
- Not found in source: rollback or recovery pathBack up first, or work on a git branch or snapshot, so its changes can be undone.
- The license is proprietary 'view only' and explicitly forbids using or executing the software, conflicting with the README quickstart and the source-available badge; written permission is required before use.
- Dependencies include a private git-hosted vynn-core and an unpinned requirements.txt, creating supply-chain and reproducibility risk.
- No user confirmation, approval or rollback mechanism appears in the files, and external effects (file writes, paid API calls, report publication) are unconstrained.
- Publisher identity is unverified and maintenance responsibility points only to a personal email, leaving the long-term update path unclear.
- Performance comparisons and real-output claims in the README are self-reported marketing that a static review cannot independently verify.