MeridianAlgo - The Complete Quantitative Finance Platform for Professional Developers
Project description
MeridianAlgo v6.0.0
The Complete Quantitative Finance Platform
The All-in-One Python Library for Quantitative Finance
MeridianAlgo is the most comprehensive Python platform for institutional quantitative finance. From trading research to portfolio analytics, from liquidity analysis to options pricing โ everything you need in one professional-grade package.
๐ฏ Why MeridianAlgo?
| Feature | MeridianAlgo | QuantLib | Zipline | Pyfolio |
|---|---|---|---|---|
| Portfolio Analytics | โ | โ | โ ๏ธ | โ |
| Options Pricing | โ | โ | โ | โ |
| Market Microstructure | โ | โ | โ | โ |
| Backtesting | โ | โ | โ | โ |
| Execution Algorithms | โ | โ | โ ๏ธ | โ |
| Risk Management | โ | โ | โ | โ ๏ธ |
| Factor Models | โ | โ | โ ๏ธ | โ |
| Machine Learning | โ | โ | โ | โ |
| Liquidity Analysis | โ | โ | โ | โ |
| Tear Sheets | โ | โ | โ | โ |
๐ Quick Start
Installation
# Standard installation
pip install meridianalgo
# With machine learning support
pip install meridianalgo[ml]
# Full installation (recommended)
pip install meridianalgo[full]
# Everything including distributed computing
pip install meridianalgo[all]
Basic Usage
import meridianalgo as ma
# Quick analysis of any asset
data = ma.get_market_data_quick(['AAPL', 'MSFT', 'GOOGL'], start='2023-01-01')
analysis = ma.quick_analysis(data['AAPL']['Close'])
print(f"Sharpe Ratio: {analysis['sharpe_ratio']:.2f}")
print(f"Max Drawdown: {analysis['max_drawdown']:.1%}")
print(f"Win Rate: {analysis['win_rate']:.1%}")
๐ฆ Core Modules
๐ Analytics (Pyfolio-Style)
Generate comprehensive performance tear sheets:
from meridianalgo.analytics import TearSheet, create_full_tear_sheet
# Create full performance tear sheet
ts = TearSheet(returns, benchmark=spy_returns)
ts.create_full_tear_sheet(filename='report.pdf')
# Print summary statistics
ts.print_summary()
# Get all metrics as DataFrame
metrics = ts.get_metrics_summary()
Features:
- Cumulative returns visualization
- Rolling Sharpe ratio analysis
- Monthly returns heatmap
- Drawdown analysis & underwater chart
- Distribution analysis with VaR
- Benchmark comparison
๐ผ Portfolio Optimization
Multiple optimization methods:
from meridianalgo.portfolio import (
PortfolioOptimizer, RiskParity,
BlackLitterman, EfficientFrontier
)
# Mean-variance optimization
optimizer = PortfolioOptimizer(returns)
weights = optimizer.optimize(method='sharpe')
# Risk parity portfolio
rp = RiskParity(returns)
rp_weights = rp.optimize()
# Black-Litterman with views
bl = BlackLitterman(returns, market_caps)
bl_weights = bl.optimize_with_views({'AAPL': 0.15, 'MSFT': 0.12})
# Efficient frontier
ef = EfficientFrontier(returns)
frontier = ef.calculate_frontier(n_portfolios=100)
๐ Liquidity Analysis
Comprehensive market microstructure:
from meridianalgo.liquidity import (
OrderBookAnalyzer, MarketMicrostructure,
VPIN, MarketImpact, VolumeProfile
)
# Order book analysis
analyzer = OrderBookAnalyzer()
analyzer.update(order_book)
imbalance = analyzer.order_imbalance()
toxicity = analyzer.flow_toxicity()
kyle_lambda = analyzer.kyle_lambda()
# VPIN (Volume-Synchronized PIN)
vpin = VPIN(trades)
current_toxicity = vpin.current_vpin()
regime = vpin.toxicity_regime()
# Market impact estimation
impact = MarketImpact(daily_volume=1e6, volatility=0.02)
cost = impact.estimate_total_cost(order_size=10000, price=150)
# Volume profile analysis
vp = VolumeProfile(trades)
poc = vp.point_of_control() # Price with highest volume
va_low, va_high = vp.value_area(0.70) # Value area
๐ Risk Management
Enterprise-grade risk analytics:
from meridianalgo.risk import (
VaRCalculator, CVaRCalculator,
StressTest, DrawdownAnalyzer
)
from meridianalgo.analytics import RiskAnalyzer
# Risk analyzer
risk = RiskAnalyzer(returns)
# VaR & CVaR (multiple methods)
var_95 = risk.value_at_risk(0.95, method='historical')
var_99 = risk.value_at_risk(0.99, method='cornish_fisher')
cvar = risk.conditional_var(0.95)
# GARCH volatility
garch_vol = risk.garch_volatility()
# Stress testing
stress = risk.stress_test({
'Market Crash': -0.20,
'Flash Crash': -0.10,
'Black Swan': -0.40
})
# Comprehensive summary
risk_summary = risk.summary()
๐ฐ Derivatives & Options
Full options pricing suite:
from meridianalgo.derivatives import (
OptionsPricer, VolatilitySurface,
BlackScholes, GreeksCalculator
)
# Options pricing
pricer = OptionsPricer()
# Black-Scholes
price = pricer.black_scholes(S=100, K=105, T=0.5, r=0.05, sigma=0.2)
# Binomial tree (American options)
price = pricer.binomial_tree(S=100, K=105, T=0.5, r=0.05, sigma=0.2,
american=True, n_steps=100)
# Monte Carlo
price, std = pricer.monte_carlo_pricing(S=100, K=105, T=0.5, r=0.05,
sigma=0.2, n_simulations=10000)
# Greeks calculation
greeks = pricer.calculate_greeks(S=100, K=105, T=0.5, r=0.05, sigma=0.2)
print(f"Delta: {greeks['delta']:.4f}")
print(f"Gamma: {greeks['gamma']:.4f}")
print(f"Vega: {greeks['vega']:.4f}")
print(f"Theta: {greeks['theta']:.4f}")
# Implied volatility
iv = pricer.calculate_implied_volatility(S=100, K=105, T=0.5, r=0.05,
market_price=8.50)
โก Execution Algorithms
Institutional-grade execution:
from meridianalgo.execution import (
VWAP, TWAP, ImplementationShortfall, POV
)
# VWAP execution
vwap = VWAP(total_quantity=10000, start_time='09:30', end_time='16:00')
schedule = vwap.calculate_schedule(historical_volume)
# Implementation Shortfall (Almgren-Chriss)
is_algo = ImplementationShortfall(
total_quantity=50000,
total_time=1.0,
volatility=0.02,
risk_aversion=1e-6
)
trajectory = is_algo.calculate_optimal_trajectory()
costs = is_algo.calculate_expected_cost()
๐ Factor Models
Multi-factor analysis:
from meridianalgo.factors import (
FamaFrench, FactorModel, FactorRiskDecomposition
)
# Fama-French analysis
ff = FamaFrench(model_type='five_factor')
results = ff.fit(returns, factor_data)
print(f"Alpha: {results['alpha']:.4f} (t={results['alpha_t_stat']:.2f})")
print(f"Market Beta: {results['coefficients']['MKT']:.2f}")
print(f"SMB Beta: {results['coefficients']['SMB']:.2f}")
# Factor risk decomposition
decomp = FactorRiskDecomposition.decompose_variance(
weights, factor_exposures, factor_covariance, specific_variances
)
๐ Statistical Arbitrage
Pairs trading and mean reversion:
from meridianalgo.quant import (
PairsTrading, CointegrationAnalyzer,
OrnsteinUhlenbeck, HiddenMarkovModel
)
# Cointegration test
coint = CointegrationAnalyzer()
result = coint.engle_granger_test(stock1, stock2)
# Pairs trading strategy
pt = PairsTrading(entry_threshold=2.0, exit_threshold=0.5)
hedge_ratio = pt.calculate_hedge_ratio(stock1, stock2)
signals = pt.generate_signals(stock1, stock2)
# Mean reversion dynamics (OU process)
ou = OrnsteinUhlenbeck()
params = ou.fit(spread)
print(f"Half-life: {params['half_life']:.1f} days")
# Regime detection
hmm = HiddenMarkovModel(n_states=2)
results = hmm.fit(returns)
current_regime = hmm.predict_state(returns).iloc[-1]
๐ Use Cases
Hedge Funds & Prop Trading
- Statistical arbitrage strategies
- High-frequency signal generation
- Multi-factor alpha models
- Risk-adjusted portfolio construction
Asset Managers
- Factor-based investing
- Portfolio optimization (MVO, Black-Litterman, Risk Parity)
- Transaction cost analysis
- Performance attribution
Quantitative Researchers
- Market microstructure analysis
- Regime detection and forecasting
- Cointegration and mean reversion testing
- VPIN and flow toxicity analysis
Risk Managers
- VaR and CVaR calculation
- Stress testing and scenario analysis
- Drawdown risk monitoring
- Tail risk analysis
โ๏ธ Configuration
import meridianalgo as ma
# Configure the library
ma.set_config(
data_provider='yahoo', # Data source
cache_enabled=True, # Enable caching
parallel_processing=True, # Use multiprocessing
risk_free_rate=0.05, # Default risk-free rate
trading_days_per_year=252, # Trading days
)
# Enable GPU acceleration (if available)
ma.enable_gpu_acceleration()
# Enable distributed computing
ma.enable_distributed_computing(backend='ray')
# Get system info
info = ma.get_system_info()
๐งช Testing
# Run all tests
pytest tests/ -v
# Run specific module tests
pytest tests/test_analytics.py -v
pytest tests/test_liquidity.py -v
# Run with coverage
pytest tests/ --cov=meridianalgo --cov-report=html
# Run performance benchmarks
pytest tests/benchmarks/ -v
๐ Documentation
- API Reference: docs.meridianalgo.com
- Tutorials: tutorials/
- Examples: examples/
- Cookbook: cookbook/
๐๏ธ Architecture
meridianalgo/
โโโ analytics/ # Pyfolio-style analytics & tear sheets
โ โโโ performance.py # Performance metrics (50+ measures)
โ โโโ risk_analytics.py # Risk analysis (VaR, CVaR, GARCH)
โ โโโ tear_sheets.py # Visual tear sheet generation
โ โโโ attribution.py # Performance attribution (Brinson, Factor)
โ โโโ drawdown.py # Drawdown analysis
โ
โโโ liquidity/ # Market microstructure & liquidity
โ โโโ order_book.py # Order book analysis, microprice
โ โโโ microstructure.py # PIN, VPIN, spread decomposition
โ โโโ spread.py # Effective & realized spread
โ โโโ volume.py # Volume profile, institutional flow
โ โโโ impact.py # Market impact models (Almgren-Chriss)
โ โโโ metrics.py # Amihud, turnover, liquidity ratios
โ
โโโ portfolio/ # Portfolio optimization
โ โโโ optimization.py # MVO, Black-Litterman, HRP
โ โโโ risk_parity.py # Risk parity strategies
โ โโโ rebalancing.py # Rebalancing algorithms
โ
โโโ risk/ # Risk management
โ โโโ var.py # VaR calculations
โ โโโ stress_test.py # Stress testing
โ โโโ scenario.py # Scenario analysis
โ
โโโ derivatives/ # Options & derivatives
โ โโโ pricing.py # Black-Scholes, Binomial, Monte Carlo
โ โโโ greeks.py # Greeks calculation
โ โโโ volatility.py # Vol surface, local vol
โ
โโโ execution/ # Execution algorithms
โ โโโ vwap.py # VWAP execution
โ โโโ twap.py # TWAP execution
โ โโโ impact.py # Implementation shortfall
โ
โโโ quant/ # Quantitative strategies
โ โโโ pairs_trading.py # Pairs trading, cointegration
โ โโโ regime.py # Regime detection (HMM)
โ โโโ arbitrage.py # Statistical arbitrage
โ
โโโ factors/ # Factor models
โ โโโ fama_french.py # Fama-French models
โ โโโ factor_risk.py # Factor risk decomposition
โ
โโโ ml/ # Machine learning
โโโ signals/ # Technical indicators
โโโ backtesting/ # Backtesting engine
โโโ data/ # Data management
โโโ fixed_income/ # Fixed income analytics
๐ What's New in v6.0.0
Major Features
- Pyfolio-Style Analytics: Complete tear sheet generation with 50+ metrics
- Comprehensive Liquidity Module: Order book, VPIN, market impact, spread decomposition
- Modern Architecture: Lazy loading, configuration management, GPU support
- Type Hints Throughout: Full typing for better IDE support
Improvements
- Modular design for better code organization
- Enhanced error handling and validation
- Performance optimizations across all modules
- Extended documentation and examples
๐ License
MIT License - see LICENSE for details.
๐ฌ Support
- Issues: GitHub Issues
- Discussions: GitHub Discussions
- Email: support@meridianalgo.com
๐ Citation
@software{meridianalgo2025,
title = {MeridianAlgo: The Complete Quantitative Finance Platform},
author = {Meridian Algorithmic Research Team},
year = {2025},
version = {6.0.0},
url = {https://github.com/MeridianAlgo/Python-Packages}
}
MeridianAlgo v6.0.0 โ The Complete Quantitative Finance Platform
Built by students for quantitative finance.
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 meridianalgo-6.0.0.tar.gz.
File metadata
- Download URL: meridianalgo-6.0.0.tar.gz
- Upload date:
- Size: 346.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c8980ad0e3feb03ee8b3811294a0b76ae1c43c3c1e775a51f2b839626aa7feaf
|
|
| MD5 |
69eb47456a7e15a84f557f203a53b399
|
|
| BLAKE2b-256 |
0f9ab6e0e99578ab9684c1c2a3d91da598e22322e94d04ba6e08c184b3740e11
|
File details
Details for the file meridianalgo-6.0.0-py3-none-any.whl.
File metadata
- Download URL: meridianalgo-6.0.0-py3-none-any.whl
- Upload date:
- Size: 353.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3a58acae3fdc7da75a7edfd584fa2933c203a165f9d3e03dfec475203123417e
|
|
| MD5 |
0779b46f8ab12d9b612256afa3ffdf14
|
|
| BLAKE2b-256 |
2d6ef583348f0ffc4ec7b491ae9dc4a5539359910640d4c0112a1568b11fea9e
|