Skip to content
/ RAIN Public

🌧️ RAIN β€” Real-time AI-powered Insight for News

Notifications You must be signed in to change notification settings

yashlad27/RAIN

Repository files navigation

🌧️ RAIN - Real-time AI News Intelligence

AI-powered macroeconomic news analysis with industry-specific sentiment models and automated trading simulation.

πŸš€ Quick Start

# Install dependencies
pip install -r requirements.txt

# Run terminal application
python terminal_app.py
# or
./rain.sh

πŸ“š Documentation

All documentation is in the docs/ folder:

⚑ Key Features

Bloomberg-Style Terminal

  • Interactive menu system
  • Real-time news analysis
  • Trade simulation & PnL tracking
  • Performance metrics dashboard

Industry-Specific Analysis (6 Sectors)

  • Tech: Bullish/Bearish/Neutral
  • Finance: Hawkish/Dovish/Neutral
  • Medicine: Breakthrough/Setback/Neutral
  • Real Estate: Expansionary/Contractionary/Neutral
  • Defense: Escalation/De-escalation/Neutral
  • Politics: Progressive/Conservative/Neutral

Custom FinBERT Training

  • Fine-tune models on your data
  • Sector-specific sentiment labels
  • Interactive labeling tool
  • 600+ stocks tracked (top 100 per sector)

Advanced Trading System

  • Multiple strategies (Sentiment Fusion, Composite)
  • Risk management (position limits, drawdown protection)
  • Technical indicators (RSI, MACD, Bollinger Bands)
  • Performance metrics (Sharpe, Sortino, Max Drawdown)

🎯 Make Commands

make run              # Run terminal application
make train-prepare    # Prepare training data
make train-tech       # Train Tech sector model
make build            # Build Docker image
make up               # Start with Docker
make test-strategy    # Test trading strategies
make test-risk        # Test risk management

πŸ—οΈ Project Structure

RAIN/
β”œβ”€β”€ terminal_app.py          # Main application
β”œβ”€β”€ train_tech_model.py      # Model training
β”œβ”€β”€ config/                  # Sector configurations
β”œβ”€β”€ training/                # FinBERT training system
β”œβ”€β”€ scripts/                 # Data pipeline scripts
β”œβ”€β”€ trading/                 # Trading simulation
β”œβ”€β”€ strategies/              # Trading strategies
β”œβ”€β”€ risk/                    # Risk management
β”œβ”€β”€ indicators/              # Technical indicators
β”œβ”€β”€ models/                  # ML models
β”œβ”€β”€ utils/                   # Utilities (cache, retry, metrics)
└── docs/                    # πŸ“š All documentation

πŸ”§ Setup

  1. Clone & Install

    pip install -r requirements.txt
    python -m spacy download en_core_web_sm
  2. Configure API Keys

    cp .env.example .env
    # Add your API keys to .env
  3. Run

    python terminal_app.py

πŸ“Š Tech Stack

  • NLP: FinBERT, Transformers, spaCy
  • Trading: Custom strategies, risk management
  • Data: NewsAPI, Alpha Vantage
  • Cache: Redis
  • UI: Rich (terminal)
  • Container: Docker

πŸŽ“ Training Custom Models

See docs/START_HERE.md for complete training guide.

# 1. Prepare data
python scripts/prepare_training_data.py

# 2. Label interactively
python start_labeling.py

# 3. Train model
python train_tech_model.py

πŸ“ˆ Performance

  • Redis Caching: 70-80% API call reduction
  • Sentiment Accuracy: 80%+ with custom training
  • Trading Strategies: Multiple signal types with ensemble voting
  • Risk Management: Automated position sizing & stop loss

🐳 Docker

make build && make up
# or
docker-compose up -d

πŸ“ License

MIT

🀝 Contributing

  1. Fork the repository
  2. Create feature branch
  3. Make changes
  4. Submit pull request

Documentation: See docs/ folder
Issues: Report on GitHub
Status: βœ… Production ready

About

🌧️ RAIN β€” Real-time AI-powered Insight for News

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published