DeepSeek Finance Agent is an AI-powered financial research assistant built with the Agno framework. It combines a Nebius-hosted language model, Yahoo Finance market data, and DuckDuckGo web search so you can ask natural-language questions about stocks, fundamentals, analyst recommendations, and current market news.
The project is designed to be easy to run locally, simple to deploy to a Python web host, and attractive to explore from the public project website.
- Website: https://tirth1263.github.io/finance-agent/
- Repository: https://github.com/tirth1263/finance-agent
- Fetch live and historical stock prices through YFinance.
- Pull company fundamentals such as market cap, revenue, earnings, and P/E ratios.
- Surface analyst recommendations and sentiment context.
- Search the web for recent financial news and market-moving events.
- Format financial data in clean markdown tables.
- Answer comparison questions across tickers, sectors, or time windows.
- Run inside the Agno Playground for an interactive browser-based chat experience.
| Layer | Technology |
|---|---|
| Agent framework | Agno 1.x Playground |
| Model provider | Nebius Token Factory |
| Default model | deepseek-ai/DeepSeek-V3-0324 |
| Finance data | YFinance |
| Web search | DuckDuckGo via ddgs |
| App server | Agno Playground on FastAPI/Uvicorn |
| Public website | GitHub Pages |
The app pins Agno to the 1.x line because this project intentionally uses the
Playground API shown in the reference implementation. The model can be changed
with NEBIUS_MODEL_ID. For example, you can set it to
meta-llama/Llama-3.3-70B-Instruct if you want to mirror the Llama configuration
often used in Agno finance-agent examples.
finance-agent/
+-- finance_agent/
| +-- __init__.py
| +-- agent.py
+-- docs/
| +-- index.html
| +-- styles.css
| +-- app.js
+-- main.py
+-- requirements.txt
+-- pyproject.toml
+-- Dockerfile
+-- Procfile
+-- render.yaml
+-- README.md
git clone https://github.com/tirth1263/finance-agent.git
cd finance-agentpython -m venv .venv
# Windows PowerShell
.\.venv\Scripts\Activate.ps1
# macOS/Linux
source .venv/bin/activatepip install -r requirements.txtIf you use uv, this project is also compatible with:
uv syncCopy the example file:
cp .env.example .envOn Windows PowerShell:
Copy-Item .env.example .envThen edit .env:
NEBIUS_API_KEY=your_nebius_api_key_here
NEBIUS_MODEL_ID=deepseek-ai/DeepSeek-V3-0324
AGNO_DEBUG=falseGet a Nebius API key from Nebius Token Factory.
python main.pyThe Playground API starts on:
http://localhost:8000
If your hosting provider sets a PORT environment variable, the app automatically uses it.
Try questions like:
"What's the current price of AAPL stock?"
"Show me analyst recommendations for TSLA"
"Get the latest financial news about Bitcoin"
"What are the fundamentals of MSFT?"
"Compare GOOGL and AMZN performance over the last month"
"What's the market cap of NVIDIA?"
"Show me the P/E ratio of Amazon"
"Get the latest earnings report for Apple"
This repository includes deployment files for common Python hosts:
Procfilefor Heroku-style platforms.render.yamlfor Render.Dockerfilefor container platforms.
Required production environment variable:
NEBIUS_API_KEY=your_production_nebius_api_keyOptional production variables:
NEBIUS_MODEL_ID=deepseek-ai/DeepSeek-V3-0324
AGNO_DEBUG=false
PORT=8000The docs/ folder is a static website ready for GitHub Pages. In this repository it is
configured to publish from the main branch and /docs folder.
- API keys are loaded from environment variables and are never committed to the repo.
.envis ignored by Git.- DuckDuckGo is used for privacy-focused web search.
- The agent does not intentionally store personal data or user prompts in this codebase.
- Financial responses should be treated as research support, not personalized investment advice.
| Issue | Fix |
|---|---|
NEBIUS_API_KEY error |
Confirm .env exists and the key is valid. |
| Port already in use | Set PORT=8001 or another available port before running. |
| No finance data returned | Check internet connectivity and the ticker symbol. |
| Search results fail | Reinstall dependencies with pip install -r requirements.txt. |
| Model errors | Confirm the selected NEBIUS_MODEL_ID is available to your Nebius account. |
Contributions are welcome. A good pull request should:
- Keep the agent behavior focused on financial research.
- Avoid committing secrets or generated local files.
- Add clear docs when adding a new tool or deployment path.
- Test the app with at least one stock-price query and one news query.
This project is for educational and research purposes. Market data can be delayed, incomplete, or unavailable, and AI-generated analysis can be wrong. Always verify important financial information before making decisions.