What It Does
#A portfolio reporting tool using dual calculation methodology, combining custom performance calculations with FFN library analytics. FastAPI endpoints, Model Context Protocol (MCP) integration, and a clean web interface:
- Dual methodology: custom calculations for core metrics + FFN library for comprehensive analytics
- Core performance metrics (Total Return, CAGR, Sharpe, Sortino) use custom implementations based on QuantStats methodology
- Additional analytics (drawdowns, monthly returns, statistical analysis) powered by FFN
- Selective validation against QuantStats for key performance metrics
- Professional HTML reports with TIGZIG AI branding and matplotlib visualizations
- Exports multiple CSV files with detailed data for further analysis
Methodology Detail
Full methodology, validation results and calculation details: SPR vs QuantStats Comparison.
How to Use
#Endpoints
Base URL: https://ffn.tigzig.com/
MCP Endpoint: https://ffn.tigzig.com/mcp
API Endpoint: https://ffn.tigzig.com/analyze
Feel free to try out these endpoints, subject to rate limits and server load.
Access Methods
- Web Interface: visit
/for the clean web form - Direct API: make HTTP POST requests to
/analyzewith required parameters:symbols- comma-separated Yahoo Finance symbols (e.g.AAPL,MSFT,GOOG)start_date- analysis start date (YYYY-MM-DD)end_date- analysis end date (YYYY-MM-DD)risk_free_rate- optional risk-free rate percentage (default: 0.0)
- MCP/LLM: connect to
/mcpusing any MCP-compatible client
How It Works
#Dual Calculation Methodology
Core Performance Metrics: custom implementations based on QuantStats methodology for Total Return, CAGR, Sharpe, and Sortino ratios. Additional Analytics: FFN library for drawdown analysis, monthly returns, and statistical metrics. Historical price data sourced from Yahoo Finance with preprocessing applied including removal of zero/NaN values and date alignment.
Validation & Accuracy
Selective validation against QuantStats library shows: perfect matches for Total Return (100%) and CAGR (100%), near-perfect matches for Sharpe (97%+) and Sortino (97%+) ratios. The 3% variance is attributed to data quality filters and precision differences.
Integration & Output
- FastAPI backend with efficient dual-methodology processing
- Professional HTML reports with matplotlib charts and TIGZIG AI branding
- 6 different CSV files: price data, returns, correlations, and statistics
- MCP protocol integration for AI/LLM interactions
How to Replicate
#- Clone the repository:
shared-fastapi-mcp-ffn(now SPR - Security Performance Report) - Create virtual environment and install dependencies
- Configure environment variables for development/production
- Run the FastAPI server with uvicorn
Key Dependencies
- Custom calculation engine - core performance metrics
- FFN library - additional analytics and drawdown analysis
- FastAPI - high-performance web framework
- yfinance - Yahoo Finance data integration
- fastapi-mcp - Model Context Protocol integration
Detailed methodology, calculations, and validation results are documented in the GitHub repository README and the SPR vs QuantStats methodology comparison.
Resources
FastAPI + MCP with dual methodology (custom calculations + FFN)
Detailed comparison, validation results, methodology documentation
Interactive Swagger UI for the SPR FastAPI server
Open-source Python library used for additional analytics (drawdowns, monthly returns)
Tadata's package to convert any FastAPI into an MCP server