Disclaimer: This is a vibe coding experiment built for fun and learning. It is not financial advice. Do not make investment decisions based on this tool. Always do your own research.
GRQ is an AI-powered market analysis tool that aggregates financial news and market data, then uses Claude to identify trading opportunities across stocks, ETFs, crypto, and commodities.
-
Collects Data - Pulls news from RSS feeds (Yahoo Finance, Reuters, MarketWatch, CNBC) and fetches market data (prices, technicals, fundamentals, crypto)
-
Applies Market Knowledge - Uses a built-in knowledge base of macroeconomic correlations, supply chain dependencies, and geopolitical impacts to identify non-obvious connections
-
Generates Signals - Produces actionable trading recommendations in four categories:
- Short-term (days to 2 weeks) - Quick trades with specific price targets
- Mid-term (2 weeks to 3 months) - Swing trades with catalyst triggers
- Long-term (3+ months) - Strategic positions with time horizons
- Sell/Avoid - Exit signals with risk levels
- Docker and Docker Compose
- Anthropic API key (required)
- Optional API keys for enhanced data:
- Finnhub (stock prices)
- Alpha Vantage (technical indicators)
- NewsData.io (additional news)
- Financial Modeling Prep (fundamentals)
- Commodities API (commodity prices)
-
Copy the example environment file:
cp .env.example .env -
Edit
.envand add your API keys:ANTHROPIC_API_KEY=your-key-here FINNHUB_API_KEY=your-key-here # ... other optional keys
Build and run with Docker Compose:
docker-compose up --build
The analysis will print to stdout when complete.
grq/
├── main.py # Entry point
├── src/
│ ├── agents/
│ │ ├── analyzer.py # Analysis agent (generates signals)
│ │ └── data_collector.py # Data collection agent
│ ├── knowledge/
│ │ ├── __init__.py # Knowledge base loader
│ │ └── market_correlations.yaml # Market knowledge base
│ ├── tools/
│ │ ├── news_tools.py # RSS and news API tools
│ │ ├── market_tools.py # Stock, crypto, commodity tools
│ │ ├── tool_definitions.py
│ │ └── tool_executor.py
│ ├── utils/
│ │ ├── api_client.py # HTTP client with retries
│ │ └── rss_parser.py # RSS feed parser
│ └── config.py # Configuration loader
├── Dockerfile
├── docker-compose.yml
└── requirements.txt
The market knowledge base (src/knowledge/market_correlations.yaml) contains:
- Sector ETF mappings (all 11 SPDR sectors)
- Interest rate correlations (Fed policy impacts)
- Geopolitical event impacts (Taiwan, Middle East, Russia/Ukraine, China trade)
- Commodity supply chains (oil, lithium, rare earths, semiconductors)
- Country production data (who produces what)
- Correlation rules (if X happens, Y tickers are affected)
This enables the analyzer to "read between the lines" - for example, understanding that Taiwan tensions affect semiconductor stocks even if specific tickers aren't mentioned in the news.
The tool outputs four markdown tables:
- Short-Term Wins - Asset, price, catalyst, target price, reasoning
- Mid-Term Plays - Asset, price, thesis, hold-until trigger, reasoning
- Long-Term Positions - Asset, price, theme, time horizon, reasoning
- Sell/Avoid - Asset, price, risk level, why sell, what's wrong
- The tool runs once and exits (not a continuous service)
- Analysis quality depends on available API keys
- The knowledge base can be extended by editing the YAML file
- All data collection and analysis is done via Claude API calls