Skip to main content

A comprehensive financial data analysis and visualization package

Project description

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

financial_mcp-1.0.0.tar.gz (39.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

financial_mcp-1.0.0-py3-none-any.whl (18.9 kB view details)

Uploaded Python 3

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

Hashes for financial_mcp-1.0.0.tar.gz
Algorithm Hash digest
SHA256 b3fa217446449d6fedbea5e027868e0446b553be91e7775b0720b42fa6b67b07
MD5 3f235c82b644108e79f6ba157d79b042
BLAKE2b-256 c50378601f5f39d0941e13caeb76a0e98a2bf2f7bcf1222e562fcdca50642067

See more details on using hashes here.

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

Hashes for financial_mcp-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 282777d2a6487d79188cadaa3c9fb96e6e5a6cda8c09c633146cc3a02e3d1d8e
MD5 f0c086253fecc714db48f8d6a4601f65
BLAKE2b-256 4cf734216da7aaa30c98fc85a8a4cef7ad56a31852ed3730ca3fa1159086a0d0

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page