A comprehensive financial data analysis and visualization package
Project description
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.
๐ Try the Live Dashboard | ๐ง View Source Code
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file financial_mcp-1.0.0.tar.gz.
File metadata
- Download URL: financial_mcp-1.0.0.tar.gz
- Upload date:
- Size: 39.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b3fa217446449d6fedbea5e027868e0446b553be91e7775b0720b42fa6b67b07
|
|
| MD5 |
3f235c82b644108e79f6ba157d79b042
|
|
| BLAKE2b-256 |
c50378601f5f39d0941e13caeb76a0e98a2bf2f7bcf1222e562fcdca50642067
|
File details
Details for the file financial_mcp-1.0.0-py3-none-any.whl.
File metadata
- Download URL: financial_mcp-1.0.0-py3-none-any.whl
- Upload date:
- Size: 18.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
282777d2a6487d79188cadaa3c9fb96e6e5a6cda8c09c633146cc3a02e3d1d8e
|
|
| MD5 |
f0c086253fecc714db48f8d6a4601f65
|
|
| BLAKE2b-256 |
4cf734216da7aaa30c98fc85a8a4cef7ad56a31852ed3730ca3fa1159086a0d0
|