Financial MCP - PyPI Package
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
- 📊 Live Dashboard: https://tatsuru-kikuchi.github.io/MCP/
- 🐛 Issues: GitHub Issues
- 📚 Documentation: GitHub Repository
⚠️ 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.
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)
| File | Size | Uploaded | |
|---|---|---|---|
| financial_mcp-1.0.0.tar.gz | 39.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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
|