How mcyeremia/idxanalyst works
IDXAnalyst is an Indonesian equities research and trading terminal. Users explore market and stock data, screen technical signals and fundamentals, inspect strategies through backtests, and manage or compare USER, GEMINI, and CLAUDE portfolios. The FastAPI application exposes those capabilities to Next.js screens; trade and market history are persisted in SQLite. The README also documents autonomous-agent access through MCP and AI portfolio competition. Some backend route-to-service wiring and unsampled screens are not shown, so uncertain call edges are omitted.
Main entry points: app Next.js screens · api.ts API client · main.py FastAPI application · page.tsx Market dashboard
Components 26
Trading Terminal
- Next.js screens
frontend/app - Market dashboard
frontend/app/dashboard/page.tsx - Stock screener
frontend/app/screener/page.tsx - Stock analysis
frontend/app/stocks/[ticker]/page.tsx - Portfolio battle
frontend/app/portfolio/page.tsx - Strategy backtests
frontend/app/backtest/page.tsx - Broker flow
frontend/app/broker-flow/page.tsx - API client
frontend/lib/api.ts
Application API
- FastAPI application
backend/main.py - Stocks routes
backend/routers/stocks.py - Trade routes
backend/routers/trades.py - Backtest routes
backend/routers/backtest.py - Broker routes
backend/routers/broker.py
Market Intelligence
- Market data fetch
backend/services/data_fetcher.py - Technical indicators
backend/services/indicators.py - Signal scanner
backend/services/watcher.py - Backtest engine
backend/services/backtester.py - ML predictor
backend/services/ml_predictor.py - Broker scraper
backend/services/broker_scraper.py
Portfolio Data
- Database access
backend/database.py - SQLite database
backend/database.py - Market and trade models
backend/models.py
Agent Access
- MCP server
backend/mcp_server.py
Other components
- Trader
- Claude / Gemini
- Yahoo Finance
Connections 23
- Trader → Next.js screens: uses
- Next.js screens → Market dashboard: opens
- Next.js screens → Stock screener: opens
- Next.js screens → Stock analysis: opens
- Next.js screens → Portfolio battle: opens
- Next.js screens → Strategy backtests: opens
- Next.js screens → Broker flow: opens
- Market dashboard → API client: requests data
- Stock screener → API client: requests data
- Stock analysis → API client: requests data
- Portfolio battle → API client: requests data
- Strategy backtests → API client: runs tests
- Broker flow → API client: requests data
- API client → FastAPI application: HTTP requests
- FastAPI application → Stocks routes: mounts routes
- FastAPI application → Trade routes: mounts routes
- FastAPI application → Backtest routes: mounts routes
- FastAPI application → Broker routes: mounts routes
- Trade routes → Database access: opens session
- Database access → SQLite database: reads and writes
- Market and trade models → SQLite database: maps records
- Market data fetch → Yahoo Finance: fetches prices
- Claude / Gemini → MCP server: sends commands