MCP Hybrid Forecasting

MCP Hybrid Forecasting

Enables algorithmic stock trading analysis by combining ARIMA, ARIMA-GARCH, and XGBoost models to generate buy/sell/hold signals with risk management, portfolio comparison, and volatility analysis for various market sectors.

Category
访问服务器

README

MCP Hybrid Forecasting System

A professional-grade algorithmic trading system that combines advanced statistical models (ARIMA, ARIMA-GARCH) with machine learning (XGBoost) to generate stock trading signals with risk management and volatility analysis.

Features

Core Forecasting Models

  • ARIMA Time Series Forecasting: Professional statistical models for trend prediction with parameter optimization
  • ARIMA-GARCH Model: Volatility-aware forecasting for high-volatility and cryptocurrency stocks
  • XGBoost Hybrid Model: Machine learning residual correction with 10+ technical indicators
  • Hierarchical Ensemble Model: Advanced model combination for improved accuracy

Risk Management & Analysis

  • Volatility Classification: Automatic detection of high-volatility stocks with configurable thresholds
  • Confidence Scoring: Risk-managed buy/sell/hold decisions with confidence levels
  • Portfolio Analysis: Multi-portfolio comparison and analysis capabilities
  • Smart Caching: Intelligent result caching to avoid duplicate processing

MCP Server Integration

  • MCP Protocol Support: Full Model Context Protocol server implementation
  • Trading Tools: Analyze portfolios, compare strategies, find opportunities
  • Market Summary: Real-time market analysis and signal generation
  • Natural Language Queries: Find trading opportunities with intuitive queries

Production Features

  • Comprehensive Error Handling: Robust error handling and logging
  • Multi-Stock Support: Portfolio-level signal generation
  • Configurable Portfolios: Pre-configured portfolios (tech, defensive, emerging tech, etc.)
  • Flexible Output: CSV exports, charts, and detailed reports

Performance

  • R² Accuracy: 0.71-0.96 across major stocks
  • Feature Engineering: 10+ technical indicators including volume analysis, moving averages, momentum
  • Signal Quality: Conservative risk-managed decisions with confidence scoring
  • Cache Performance: 6-hour intelligent caching reduces redundant API calls

Quick Start

1. Installation

# Clone the repository
git clone <repository-url>
cd mcp-hybrid-forecasting

# Create virtual environment
python3 -m venv hybr_fcst_venv
source hybr_fcst_venv/bin/activate  # On Windows: hybr_fcst_venv\Scripts\activate

# Install dependencies
pip install -r requirements.txt

2. Basic Usage

Run Standard Analysis

# Analyze default portfolio
python enhanced_main.py

# Analyze specific portfolio
python enhanced_main.py --portfolio tech_focus

# Analyze custom tickers
python enhanced_main.py --tickers AAPL MSFT GOOGL

# Filter by signal type
python enhanced_main.py --portfolio large_cap --signal BUY

Run with ARIMA-GARCH for High Volatility Stocks

# Use pure volatility detection
python enhanced_main.py --portfolio lenny_golub --mode volatility

# Use config-based crypto detection
python enhanced_main.py --portfolio custom --mode config

MCP Server Mode

# Start MCP server for Claude integration
python mcp_trading_server.py

3. Configuration

Edit config/trading_config.json to customize:

{
  "tickers": {
    "default": ["AAPL", "MSFT", "GOOGL", "AMZN"],
    "tech_focus": ["AAPL", "MSFT", "GOOGL", "NVDA", "META"],
    "defensive": ["PG", "KO", "PEP", "WMT", "TGT", "CVS"]
  },
  "trading_parameters": {
    "buy_threshold": 0.02,
    "sell_threshold": -0.02,
    "confidence_threshold": 0.6
  },
  "risk_management": {
    "max_volatility": 0.05,
    "min_confidence": 0.6
  }
}

Project Structure

mcp-hybrid-forecasting/
├── models/                          # Forecasting models
│   ├── arima_model.py              # ARIMA implementation with optimization
│   ├── arima_garch_model.py        # ARIMA-GARCH for volatile stocks
│   ├── hybrid_model.py             # XGBoost residual correction
│   └── hierarchical_ensemble_model.py  # Ensemble modeling
├── config/                          # Configuration files
│   ├── trading_config.json         # Main trading configuration
│   └── extreme_volatility.json     # Volatility classification
├── src/                            # Source modules
│   ├── analysis/                   # Analysis utilities
│   ├── data/                       # Data fetching and processing
│   ├── trading/                    # Trading logic
│   └── utils/                      # Helper functions
├── cache/                          # Model and data cache
├── results/                        # Output results and reports
├── enhanced_main.py                # Main trading system with dual model support
├── main.py                         # Core trading system
├── mcp_trading_server.py           # MCP server implementation
└── requirements.txt                # Python dependencies

Available Portfolios

The system includes pre-configured portfolios in config/trading_config.json:

  • Technology: default, tech_focus, emerging_tech, large_cap
  • Market Sectors: financials, healthcare, energy, utilities, industrials
  • Investment Style: growth, defensive, cyclical
  • Market Cap: mega_cap, large_cap, mid_cap, small_cap
  • Crypto-Related: lenny_golub (COIN, MSTR, HOOD, etc.)
  • Defense: defence, defence1

Command Line Options

python enhanced_main.py --help

Options:
  --portfolio PORTFOLIO    Portfolio name from config (default: 'default')
  --tickers TICKER [...]   Custom list of tickers (overrides portfolio)
  --signal SIGNAL          Filter by signal: BUY, SELL, HOLD
  --min-confidence FLOAT   Minimum confidence threshold (0.0-1.0)
  --mode MODE              Volatility detection mode: 'config' or 'volatility'
  --cache-hours HOURS      Cache validity in hours (default: 6)
  --output-dir DIR         Output directory for results

MCP Server Tools

When running as an MCP server, the following tools are available:

  1. analyze_portfolio: Analyze specific portfolio with optional filtering
  2. compare_portfolios: Compare multiple portfolios with analysis
  3. find_opportunities: Natural language queries for trading opportunities
  4. get_market_summary: Overall market analysis and signal distribution
  5. refresh_data: Clear cache and refresh market data

Example queries:

  • "Find high confidence buy opportunities"
  • "Show defensive stocks with positive signals"
  • "Compare tech_focus vs defensive portfolios"

Dependencies

Core Requirements

  • Python 3.8+
  • pandas >= 2.0.0
  • numpy >= 1.24.0
  • yfinance >= 0.2.18

Modeling

  • scikit-learn >= 1.3.0
  • xgboost >= 1.7.0
  • statsmodels >= 0.14.0
  • arch >= 5.0.0 (for GARCH models)
  • pmdarima >= 2.0.4 (optional, for auto-ARIMA)

Visualization

  • matplotlib >= 3.7.0
  • seaborn >= 0.12.0
  • plotly >= 5.17.0

Development

  • pytest >= 7.4.0
  • jupyter >= 1.0.0
  • black >= 23.0.0

See requirements.txt for complete list.

Usage Examples

Example 1: Analyze Technology Stocks

python enhanced_main.py --portfolio tech_focus --signal BUY --min-confidence 0.7

Example 2: Compare Investment Strategies

python enhanced_main.py --portfolio growth
python enhanced_main.py --portfolio defensive
# Then compare results in results/ directory

Example 3: High Volatility / Crypto Stocks

# Analyze crypto-related stocks with ARIMA-GARCH
python enhanced_main.py --portfolio lenny_golub --mode volatility

Example 4: Custom Stock List

python enhanced_main.py --tickers AAPL MSFT GOOGL NVDA AMD --signal BUY

Output Files

Results are saved in the results/ directory:

  • CSV files: trading_signals_YYYYMMDD_HHMMSS.csv
  • Charts: Portfolio comparison charts (if enabled)
  • Logs: Detailed execution logs with timestamps

Model Details

ARIMA Model

  • Auto-optimization of (p,d,q) parameters
  • Configurable order search space
  • AIC-based model selection
  • Handles non-stationary data with differencing

ARIMA-GARCH Model

  • Volatility modeling for high-risk stocks
  • Conditional heteroskedasticity handling
  • Automatic fallback to ARIMA if GARCH fails
  • Optimized for cryptocurrency and volatile tech stocks

XGBoost Hybrid

  • Residual-based correction
  • Technical indicators: RSI, MACD, Bollinger Bands
  • Volume-weighted features
  • Lag features and momentum indicators

Risk Management

The system implements multiple risk controls:

  • Volatility filtering: Excludes extremely volatile stocks
  • Confidence scoring: Only recommends high-confidence signals
  • Threshold-based signals: Configurable buy/sell thresholds
  • Position limits: Maximum position size constraints

Development

Running Tests

pytest tests/

Code Formatting

black .
flake8 .

Adding New Portfolios

Edit config/trading_config.json:

{
  "tickers": {
    "my_portfolio": ["TICK1", "TICK2", "TICK3"]
  }
}

Troubleshooting

Common Issues

Import Errors

# Ensure virtual environment is activated
source hybr_fcst_venv/bin/activate
pip install -r requirements.txt

Data Fetch Failures

  • Check internet connection
  • Verify ticker symbols are valid
  • yfinance API may have rate limits

ARIMA-GARCH Not Available

# Install arch library
pip install arch

Cache Issues

# Clear cache directory
rm -rf cache/*

Performance Tips

  1. Use caching: Default 6-hour cache reduces API calls
  2. Smaller portfolios: Analyze fewer stocks for faster results
  3. Adjust cache duration: --cache-hours parameter for your needs
  4. Pre-optimize ARIMA: Use preprocess_arima_params.py for parameter tuning

Contributing

Contributions are welcome! Please:

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Add tests
  5. Submit a pull request

License

This project is for educational and research purposes. See LICENSE file for details.

Disclaimer

This software is for educational purposes only. It is not financial advice. Always do your own research and consult with a qualified financial advisor before making investment decisions. Past performance does not guarantee future results.

Acknowledgments

  • Built with statsmodels, XGBoost, and yfinance
  • MCP protocol by Anthropic
  • Inspired by quantitative finance research and modern ML techniques

Contact

For questions, issues, or contributions, please open an issue on GitHub.


Version: 1.0.0 Last Updated: June 2025

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选