Skip to main content

MeridianAlgo - The Complete Quantitative Finance Platform for Professional Developers

Project description

MeridianAlgo v6.0.0

The Complete Quantitative Finance Platform

Python Version License PyPI Version Tests Code Quality

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


๐Ÿ—๏ธ 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


๐ŸŒŸ 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


Download files

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

Source Distribution

meridianalgo-6.0.0.tar.gz (346.4 kB view details)

Uploaded Source

Built Distribution

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

meridianalgo-6.0.0-py3-none-any.whl (353.7 kB view details)

Uploaded Python 3

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

Hashes for meridianalgo-6.0.0.tar.gz
Algorithm Hash digest
SHA256 c8980ad0e3feb03ee8b3811294a0b76ae1c43c3c1e775a51f2b839626aa7feaf
MD5 69eb47456a7e15a84f557f203a53b399
BLAKE2b-256 0f9ab6e0e99578ab9684c1c2a3d91da598e22322e94d04ba6e08c184b3740e11

See more details on using hashes here.

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

Hashes for meridianalgo-6.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 3a58acae3fdc7da75a7edfd584fa2933c203a165f9d3e03dfec475203123417e
MD5 0779b46f8ab12d9b612256afa3ffdf14
BLAKE2b-256 2d6ef583348f0ffc4ec7b491ae9dc4a5539359910640d4c0112a1568b11fea9e

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