Automated Equity Research & Financial Intelligence Platform
Overview · Features · Tech Stack · Pipeline · Getting Started · Structure · Limitations
MIDAS Terminal is a full-stack financial research platform designed to streamline fundamental equity analysis by integrating market data, SEC filings, financial statements, comparable-company analysis, and automated research report generation.
Built with Python, FastAPI, and JavaScript, the system automates repetitive research workflows while preserving analyst control over investment theses, valuation assumptions, and final recommendations.
| Feature | Description |
|---|---|
| 📊 Financial Market Terminal | Ticker-based stock analysis · market capitalization, beta, price changes and valuation-related metrics · analyst price targets and market statistics |
| 🔎 Automated Fundamental Research | SEC EDGAR filing integration · automated company background research · income statement and balance sheet analysis · comparable-company selection · evidence-based investment highlights |
| 🧠 Research Intelligence | Rule-based catalyst identification · financial and business risk-factor screening · source-linked research evidence · U.S. and Korean financial news monitoring |
| 📝 Automated Research Reports | Structured equity research reports in Word format · English and Korean report generation · automated financial statement and research-section population · analyst-controlled DCF, investment thesis and recommendation sections |
| Component | Technologies |
|---|---|
| Backend | Python, FastAPI, Starlette, Pydantic, Uvicorn |
| Frontend | JavaScript, HTML5, CSS3 |
| Charts & Visualization | Plotly.js (bundled locally) |
| Financial Data | Yahoo Finance, yfinance |
| Regulatory Data | SEC EDGAR |
| Data Processing | Pandas, NumPy |
| Persistence | SQLite (WAL mode) |
| Market Calendar | exchange-calendars (NYSE sessions, holidays, early closes) |
| Web Extraction | BeautifulSoup4, Requests, aiohttp |
| Document Generation | python-docx |
| Translation | googletrans |
| Configuration | python-dotenv |
| Performance | asyncio, TTL Caching, Semaphores, ThreadPoolExecutor |
| Deployment | Render, ngrok |
Ticker → Market Data → SEC Filings → Financial Analysis → Peer Comparison → Research Signals → DOCX Export
MIDAS implements asynchronous data retrieval, single-flight TTL caching, concurrency controls, API rate limiting, and automated report-file cleanup.
These mechanisms reduce redundant upstream requests and support more reliable report generation in a single-instance deployment.
python -m pip install -r requirements.txt
copy .env.example .env # set SEC_USER_AGENT to your contact email
python main.pyOpen http://127.0.0.1:8000. For development auto-reload:
python -m uvicorn main:app --host 127.0.0.1 --port 8000 --reloadExternal access from a second terminal: ngrok http 8000. render.yaml is included for Render deployment.
main.py FastAPI app, API routes, caching, rate limiting, DOCX export
services/
research_engine.py SEC EDGAR enrichment, financials, peers, catalysts, risks
stock_screener.py Stock screener
alpha_factors.py Quarterly alpha-factor calculations
portfolio.py SQLite-backed virtual portfolio
news_us.py / news_kr.py U.S. and Korean news collection
translation.py Korean report translation (googletrans)
static/ Terminal UI (index.html, app.js, styles.css, plotly.min.js)
templates/ Word research-report template
data/schema.sql Portfolio database schema
CHANGES_v*.md Release notes per version
To make institutional-style equity research workflows more accessible, structured, and efficient through financial data engineering and research automation.
MIDAS is designed to assist fundamental analysts, not replace human investment judgment.
Research outputs depend on the availability and accuracy of public financial data. Automated catalysts and risk indicators are heuristic research aids rather than validated forecasts. The v5.1 implementation does not autonomously generate DCF valuations or investment recommendations.