TUI is a real-time vibes-based fincial analysis terminal combining technical analysis, sentiment tracking, and AI-powered market insights. Powered by the MarketAgents framework.
This project creates a vibes-based Terminal User Interface (TUI) for market analysis:
- Real-time stock price data
- Currency exchange rates
- News aggregation
- Technical analysis charts
- AI-powered market analysis
- Sentiment tracking
graph TD
A[TUI Layer] --> B[Data Management]
A --> C[Visualization]
A --> D[AI Analysis]
B --> E[Stock Data]
B --> F[Currency Data]
B --> G[News Feed]
C --> H[Charts]
C --> I[Tables]
C --> J[Panels]
D --> K[Market Analysis]
D --> L[Sentiment Tracking]
-
FinancialDashboard (tui.py)
- Main interface controller
- Handles user input and display updates
- Manages real-time data streams
- Coordinates AI analysis requests
- The Tūī is a native bird of New Zealand, and inspired the name of the project
-
FinancialSigns (tohu.py)
- Data acquisition and processing
- Technical analysis generation
- Chart rendering
- News aggregation
- 'tohu' can mean observing 'signs', 'to instruct', 'guide' etc
-
Analysis System
- AI-powered market analysis
- Sentiment tracking
- Historical context integration
- Risk assessment
-
Real-time Data Display
- Stock prices and changes
- Currency exchange rates
- Volume analysis
- Market capitalization
-
Technical Analysis
- Price charts
- Volume profiles
- RSI indicators
- MACD analysis
-
News Integration
- Multi-source news aggregation
- Relevance filtering
- Auto-scrolling display
- Search functionality
-
AI Analysis
- Market sentiment analysis
- Technical indicator interpretation
- Risk factor identification
- Trading recommendations
-
Sentiment Tracking
- Historical sentiment storage
- Weighted averaging
- Confidence scoring
- Time-decay analysis
-
Configure your market preferences in
config.yaml
:- Stock tickers
- Currency pairs
- News sources
- Update frequencies
-
Run the terminal:
python tui.py
-
Interface Controls:
F
: Cycle focus between stocksP
: Change time periodC
: Switch chart typesM
: Change scroll mode (spacebar
,j
andk
for navigation)A
: Toggle news awareness modeS
: Search functionalityQ
: Quit application
The system is highly configurable through config.yaml
:
- Market data sources
- Technical analysis parameters
- AI analysis settings
- Display preferences
- Update frequencies
- Sentiment tracking parameters
- Real-time data collection from multiple sources
- Technical analysis computation
- News aggregation and filtering
- AI analysis generation
- Sentiment tracking and updates
- Display rendering and updates
- Rich: Terminal UI framework
- yfinance: Market data
- Pandas: Data processing
- ollama: Local inference for structured outputs
- NumPy: Numerical computations
- CCXT: Cryptocurrency data (optional)
- Pydantic: Data validation
- Real-time market monitoring
- Technical analysis visualization
- News impact assessment
- AI-powered market insights
- Sentiment trend tracking
- Trading decision support
- Designed for terminal-based environments
- Focuses on real-time analysis and visualization
- Combines traditional technical analysis with AI insights
- Integrates multiple data sources for comprehensive analysis
- Provides configurable display and analysis options
# Create new environment with Python 3.11
conda create -n financial-terminal python=3.11
conda activate financial-terminal
# Install dependencies
pip install -r requirements.txt