# SquareQuant
**Professional-grade financial risk metrics and portfolio analysis**
[](https://pypi.org/project/squarequant/)
[](https://www.python.org/downloads/)
[](https://opensource.org/licenses/MIT)
```{toctree}
:maxdepth: 2
:caption: Contents:
introduction
installation
quickstart
api
examples
```
## What is SquareQuant?
SquareQuant is a comprehensive Python library for quantitative finance that provides institutional-grade risk metrics, performance analysis, and visualization tools. Designed for both industry professionals and quantitative researchers, it offers a powerful yet intuitive interface for portfolio analysis and risk management.
## Key Features
### 📊 Extensive Risk Metrics
- **Standard Metrics**: Sharpe ratio, Sortino ratio, volatility, maximum drawdown
- **Advanced Risk Measures**: historical and parametric Value at Risk (VaR), Conditional Value at Risk (CVaR), Entropic Risk Measure (ERM), Conditional Drawdown at Risk (CDaR)
- **Drawdown Analysis**: Maximum drawdown, average drawdown, Ulcer Index
- **Advanced Statistics**: Semi-deviation, mean absolute deviation, and more
### 📈 Data Integration & Management
- Seamless integration with financial market data sources
- Efficient handling of time series with proper alignment and validation
- Custom date range filtering and data transformation
### 🔍 Visualization Tools
- Portfolio weight allocation charts
- Risk contribution analysis
- Returns distribution visualization
- Correlation heatmaps
- Drawdown comparison tools
- Rolling metric dashboards
### ⚡ Performance Optimized
- Memory-efficient vectorized calculations
- Optimized for large datasets and extended time series
- Batch processing capabilities for resource-intensive operations
## Quick Example
```python
import pandas as pd
import squarequant as sq
# Download data
config = sq.DownloadConfig(start_date='2020-01-01', end_date='2023-01-01')
data = sq.download_tickers(['AAPL', 'MSFT', 'GOOGL', 'AMZN'], config)
# Calculate risk metrics
assets = ['AAPL', 'MSFT', 'GOOGL', 'AMZN']
sharpe_ratio = sq.sharpe(data, assets)
volatility = sq.vol(data, assets)
max_drawdown = sq.mdd(data, assets)
# Visualize risk comparison
sq.plot_risk_comparison(data, assets, risk_metrics=['vol', 'mdd', 'var', 'semidev'])
```
## Who Should Use SquareQuant?
- **Portfolio Managers**: Monitor and analyze portfolio risk across multiple dimensions
- **Quant Researchers**: Implement and validate complex risk models
- **Risk Analysts**: Generate comprehensive risk reports with detailed visualizations
- **Financial Advisors**: Provide clients with advanced risk insights and portfolio analysis
- **Students & Academics**: Learn and apply quantitative finance concepts with production-grade tools
## Getting Started
### Installation
```bash
pip install squarequant
```
### Basic Usage
```python
import pandas as pd
import matplotlib.pyplot as plt
import squarequant as sq
# Set up configuration and download data
config = sq.DownloadConfig(start_date='2022-01-01', end_date='2023-01-01')
data = sq.download_tickers(['AAPL', 'MSFT', 'GOOGL'], config)
# Calculate risk metrics
assets = ['AAPL', 'MSFT', 'GOOGL']
volatility = sq.vol(data, assets)
# Generate visualization
fig, ax = plt.subplots(figsize=(10, 6))
sq.plot_rolling_metrics(data, assets, metrics=['vol', 'mdd'])
plt.show()
```
## Roadmap
SquareQuant is actively being developed with the following modules planned for upcoming releases:
| Release | Expected Date | Features |
|---------|--------------|----------|
| v0.2.0 | Q2 2025 | **Monte Carlo Simulation Module**
• Scenario generation
• Risk factor simulation
• Portfolio stress testing |
| v0.3.0 | Q3 2025 | **Portfolio Optimization Tools**
• Mean-variance optimization
• Risk parity allocation
• Factor-based optimization |
| v0.4.0 | Q4 2025 | **Pricing Module**
• Options pricing
• Fixed income valuation
• Derivatives modeling |
Stay tuned for these exciting additions! We welcome community feedback on prioritizing these features.
## Indices and Tables
* {ref}`genindex`
* {ref}`modindex`
* {ref}`search`