Skip to main content

Financial MCP - PyPI Package

PyPI version Python versions License

A comprehensive Python package for financial data analysis and visualization. Fetch, analyze, and visualize financial data for stocks, cryptocurrencies, and currency pairs from Yahoo Finance.

🚀 Quick Start

Installation

pip install financial-mcp

Basic Usage

from financial_mcp import fetch_financial_data, analyze_returns, create_visualizations

# Fetch financial data
all_data, daily_returns = fetch_financial_data()

# Analyze the data
analysis_results = analyze_returns(daily_returns_df)

# Create visualizations
create_visualizations(daily_returns_df)

Command Line Interface

# Fetch data
financial-mcp-fetch

# Analyze data
financial-mcp-analyze

# Create visualizations
financial-mcp-visualize

📊 Features

Supported Assets

  • Traditional Assets: S&P 500, Gold
  • Cryptocurrencies: Bitcoin, Ethereum, XRP
  • Currency Pairs: JPY/USD, EUR/USD, USD Index

Analysis Capabilities

  • ✅ Daily Returns Calculation: Percentage changes in asset prices
  • ✅ Statistical Analysis: Mean, volatility, Sharpe ratio, skewness, kurtosis
  • ✅ Risk Metrics: Value at Risk (VaR), Conditional VaR, Maximum Drawdown
  • ✅ Correlation Analysis: Asset correlation matrices and insights
  • ✅ Performance Metrics: Annualized returns and volatility

Visualization Tools

  • 📈 Cumulative Returns Charts: Track performance over time
  • 📊 Volatility Analysis: Rolling volatility tracking
  • 🎯 Risk-Return Profiles: Scatter plot analysis
  • 🔗 Correlation Heatmaps: Asset correlation visualization
  • 📊 Distribution Analysis: Returns distribution plots

📁 Package Structure

financial_mcp/
├── __init__.py          # Package initialization
├── fetch_data.py        # Data fetching from Yahoo Finance
├── analyze.py           # Financial analysis functions
├── visualize.py         # Visualization creation
└── utils.py            # Utility functions

🔧 API Reference

Data Fetching

from financial_mcp import fetch_financial_data, save_data_to_csv

# Fetch data for default assets
all_data, daily_returns = fetch_financial_data(
    start_date='2020-01-01',
    end_date='2024-12-31'
)

# Save to CSV files
combined_df = save_data_to_csv(all_data, daily_returns)

Analysis

from financial_mcp import analyze_returns, calculate_correlation_matrix, calculate_risk_metrics

# Comprehensive returns analysis
analysis_results = analyze_returns(daily_returns_df)

# Correlation analysis
correlation_matrix = calculate_correlation_matrix(daily_returns_df)

# Risk metrics calculation
risk_metrics = calculate_risk_metrics(daily_returns_df)

Visualization

from financial_mcp import create_visualizations
from financial_mcp.visualize import (
    create_returns_plot,
    create_correlation_heatmap,
    create_volatility_plot,
    create_risk_return_scatter,
    create_distribution_plots
)

# Create all visualizations
create_visualizations(daily_returns_df, correlation_matrix)

# Or create individual plots
create_returns_plot(daily_returns_df)
create_correlation_heatmap(correlation_matrix)

🎯 Example: Complete Workflow

import pandas as pd
from financial_mcp import (
    fetch_financial_data,
    save_data_to_csv,
    analyze_returns,
    calculate_correlation_matrix,
    create_visualizations
)

# 1. Fetch data
print("Fetching financial data...")
all_data, daily_returns = fetch_financial_data(
    start_date='2020-01-01',
    end_date='2024-12-31'
)

# 2. Save to CSV
print("Saving data...")
combined_returns = save_data_to_csv(all_data, daily_returns)

# 3. Analyze data
print("Analyzing returns...")
analysis_results = analyze_returns(combined_returns)
correlation_matrix = calculate_correlation_matrix(combined_returns)

# 4. Create visualizations
print("Creating visualizations...")
create_visualizations(combined_returns, correlation_matrix)

# 5. Print summary
print(f"\nAnalysis complete!")
print(f"Assets analyzed: {list(combined_returns.columns)}")
print(f"Date range: {combined_returns.index.min()} to {combined_returns.index.max()}")
print(f"Total observations: {len(combined_returns)}")

📦 Requirements

  • Python 3.7+
  • pandas >= 2.0.0
  • numpy >= 1.24.0
  • yfinance >= 0.2.28
  • matplotlib >= 3.5.0
  • seaborn >= 0.12.0
  • scipy >= 1.10.0

📄 License

This project is licensed under the Apache License 2.0 - see the LICENSE file for details.

🤝 Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

📞 Support

⚠️ Disclaimer

This package is provided for research and educational purposes only. It should not be used as the sole basis for investment decisions. Always consult with financial professionals before making investment choices.


📈 Try the Live Dashboard | 🔧 View Source Code

Metadata

Release files for financial-mcp 1.0.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for financial-mcp 1.0.0
File Size Uploaded
financial_mcp-1.0.0.tar.gz 39.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for financial-mcp 1.0.0
File Interpreter ABI Platform
financial_mcp-1.0.0-py3-none-any.whl Python 3 none any Details

Total release size: 58.2 kB

Release files / financial_mcp-1.0.0.tar.gz

Download URL financial_mcp-1.0.0.tar.gz
Size 39.4 kB
Tags Source
SHA-256 checksum
How to use checksums
b3fa217446449d6fedbea5e027868e0446b553be91e7775b0720b42fa6b67b07
BLAKE2b-256 checksum
How to use checksums
c50378601f5f39d0941e13caeb76a0e98a2bf2f7bcf1222e562fcdca50642067
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.5

Release files / financial_mcp-1.0.0-py3-none-any.whl

Download URL financial_mcp-1.0.0-py3-none-any.whl
Size 18.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
282777d2a6487d79188cadaa3c9fb96e6e5a6cda8c09c633146cc3a02e3d1d8e
BLAKE2b-256 checksum
How to use checksums
4cf734216da7aaa30c98fc85a8a4cef7ad56a31852ed3730ca3fa1159086a0d0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.5

Release history Release notifications | RSS feed

This release

1.0.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page