Skip to content

Releases: MeridianAlgo/Javascript-Packages

v2.5.9

26 Jan 00:15

Choose a tag to compare

See CHANGELOG.md for details.

Full Changelog: v2.5.3...v2.5.9

v2.5.3

25 Jan 23:41

Choose a tag to compare

See CHANGELOG.md for details.

Full Changelog: v2.5.2...v2.5.3

v2.5.2

25 Jan 23:30

Choose a tag to compare

See CHANGELOG.md for details.

Full Changelog: v2.5.1...v2.5.2

v2.5.0 - Beta

25 Jan 23:25

Choose a tag to compare

Full Changelog: v2.0.1...v2.5.0

v2.0.0-Public

30 Nov 23:31

Choose a tag to compare

MeridianAlgo.js

NPM Version
License: MIT
TypeScript
Build Status

A professional-grade quantitative finance framework for JavaScript and TypeScript, designed specifically for quantitative developers, researchers, and algorithmic traders.

Overview

MeridianAlgo is a comprehensive, modular quantitative finance framework that provides institutional-quality tools for algorithmic trading, quantitative research, and financial analysis. Built with TypeScript, it offers a complete suite of packages covering data ingestion, technical analysis, backtesting, risk management, portfolio optimization, machine learning, and execution.

IMPORTANT: Please read the DISCLAIMER before using this software. This framework is provided for educational and research purposes only.

Table of Contents

Quick Start

# Install dependencies
npm install -g pnpm
pnpm install

# Build all packages
pnpm build

# Run examples
pnpm example:basic      # Basic backtest
pnpm example:advanced   # Advanced features
pnpm example:utils      # Utilities demo

Installation

For End Users

Install individual packages as needed:

# Core packages
npm install @meridianalgo/core @meridianalgo/indicators @meridianalgo/data

# Strategy and backtesting
npm install @meridianalgo/strategies @meridianalgo/backtest

# Risk and portfolio management
npm install @meridianalgo/risk @meridianalgo/portfolio

# Machine learning
npm install @meridianalgo/models

# Live execution
npm install @meridianalgo/execution

# Utilities
npm install @meridianalgo/utils @meridianalgo/cli

For Contributors

# Clone the repository
git clone https://github.com/MeridianAlgo/Javascript-Packages.git
cd Javascript-Packages

# Install dependencies
pnpm install

# Build all packages
pnpm build

# Run tests
pnpm test

Key Features

Technical Indicators (100+)

Classic Indicators

  • Moving Averages: SMA, EMA, WMA, DEMA, TEMA, HMA
  • Momentum: RSI, MACD, Stochastic, Williams %R, CCI, ROC
  • Volatility: Bollinger Bands, ATR, Keltner Channels, Donchian Channels
  • Volume: OBV, MFI, VWAP, Volume Profile
  • Trend: ADX, Aroon, Parabolic SAR, Supertrend

Advanced Indicators

  • Volatility Models: GARCH, EWMA, Realized Volatility, Parkinson, Garman-Klass
  • Regime Detection: Hidden Markov Models (HMM), Change Point Detection
  • Market Microstructure: VPIN, Order Imbalance, Kyle's Lambda, Bid-Ask Spread Analysis
  • Feature Engineering: PCA, Lagged Features, Rolling Statistics, Cross-sectional Ranks
  • Seasonality: Day-of-week Effects, Month-end Effects, Holiday Analysis

Data Management

Supported Data Sources

  • Yahoo Finance (fully implemented with caching)
  • Polygon.io (with rate limiting and WebSocket support)
  • Binance (REST and WebSocket streaming)
  • Alpaca (paper and live trading integration)
  • Extensible adapter pattern for custom data sources

Data Quality

  • Automated quality validation and gap detection
  • Corporate action handling (splits, dividends)
  • Missing data interpolation and normalization
  • Multi-timeframe resampling
  • Efficient caching mechanisms

Trading Strategies

Pre-built Strategy Templates

  • Trend Following (moving average crossovers, breakouts)
  • Mean Reversion (Bollinger Band, RSI-based)
  • Pairs Trading (cointegration-based statistical arbitrage)
  • Momentum (relative strength, time-series momentum)

Strategy Composition

  • Blend multiple strategies with custom weights
  • Voting mechanisms for signal aggregation
  • Regime-based strategy gating
  • Dynamic position sizing (Kelly Criterion, Volatility Targeting, Drawdown-aware)

Backtesting Engine

Engine Types

  • Time-based backtesting for bar-by-bar simulation
  • Event-driven architecture for tick-level precision
  • Walk-forward analysis for out-of-sample validation
  • Multi-scenario testing for robustness checks

Realistic Simulation

  • Configurable commission models (fixed, percentage, tiered)
  • Slippage modeling (fixed, volume-based, volatility-based)
  • Borrow fees for short positions
  • Corporate action adjustments
  • Margin and leverage constraints

Risk Management

Risk Metrics

  • Value at Risk (VaR): Historical, Parametric, Monte Carlo
  • Conditional Value at Risk (CVaR/Expected Shortfall)
  • Maximum Drawdown and Drawdown Duration
  • Volatility (realized, implied, conditional)
  • Beta, Correlation, and Tracking Error

Performance Metrics

  • Sharpe Ratio, Sortino Ratio, Calmar Ratio
  • Information Ratio, Treynor Ratio
  • Win Rate, Profit Factor, Payoff Ratio
  • Risk-adjusted returns and attribution analysis

Risk Monitoring

  • Real-time position monitoring
  • Automated alert system
  • Stress testing (scenario-based, historical, Monte Carlo)
  • Performance attribution (Brinson model, factor exposure)
  • Comprehensive reporting (PDF/HTML tear sheets)

Portfolio Optimization

Optimization Methods

  • Mean-Variance Optimization (Markowitz)
  • Black-Litterman Model (incorporating views)
  • Risk Parity (equal risk contribution)
  • Hierarchical Risk Parity (HRP)
  • Minimum Variance, Maximum Sharpe, Maximum Diversification

Constraint Handling

  • Weight constraints (min/max per asset)
  • Long-only or long-short portfolios
  • Leverage limits
  • Sector and factor exposure limits
  • Turnover constraints

Robustness Techniques

  • Covariance shrinkage (Ledoit-Wolf)
  • Resampled efficient frontier
  • Robust optimization
  • Multi-objective optimization

Machine Learning

Supported Models

  • Tree-based: Random Forest, Gradient Boosting (XGBoost-style)
  • Neural Networks: Feedforward, LSTM, GRU
  • Time Series: ARIMA, VAR, State-Space Models, Kalman Filter
  • Ensemble methods and model stacking

ML Infrastructure

  • Hyperparameter tuning (Grid Search, Random Search, Bayesian Optimization)
  • Cross-validation with time-series splits
  • Feature selection and importance analysis
  • Online learning with concept drift detection
  • AutoML for automated model selection
  • Labeling methods (Triple-Barrier, Meta-labeling)

Execution

Trading Modes

  • Paper trading with realistic simulation
  • Live trading via Alpaca API
  • Backtesting mode for historical analysis

Order Management

  • Market, Limit, Stop, Stop-Limit orders
  • Bracket orders (with take-profit and stop-loss)
  • Time-in-force options (DAY, GTC, IOC, FOK)
  • Pre-trade risk checks
  • Smart order routing
  • Position and order tracking

Compliance

  • Comprehensive audit logging
  • Trade compliance checks
  • Risk limit enforcement
  • Regulatory reporting support

Developer Tools

Command-Line Interface

  • Project initialization and scaffolding
  • Automated backtesting workflows
  • Parameter optimization utilities
  • Live trading deployment
  • Report generation

Utilities

  • Mathematical functions (statistics, linear algebra)
  • Time-series utilities (resampling, alignment)
  • Market calendar (trading days, holidays)
  • Logging and monitoring infrastructure

Architecture

MeridianAlgo is built as a monorepo with independent, composable packages:

meridianalgo-js/
├── packages/
│   ├── core/           # Core types, interfaces, and plugin system
│   ├── indicators/     # 100+ technical indicators
│   ├── data/           # Data adapters and management
│   ├── strategies/     # Trading strategy templates
│   ├── backtest/       # Backtesting engines
│   ├── risk/           # Risk metrics and monitoring
│   ├── portfolio/      # Portfolio optimization
│   ├── models/         # Machine learning models
│   ├── execution/      # Order execution and management
│   ├── optimize/       # Parameter optimization
│   ├── visualize/      # Charting and visualization
│   ├── pipeline/       # Workflow orchestration
│   ├── compliance/     # Audit and compliance
│   ├── cli/            # Command-line tools
│   └── utils/          # Shared utilities
├── examples/           # Example scripts and tutorials
├── docs/               # Comprehensive documentation
└── tests/              # Integration tests

Design Principles

  • Modularity: Each package is independently usable
  • Type Safety: Full TypeScript support with strict typing
  • Extensibility: Plugin architecture for custom components
  • Performance: Optimized for large-scale data processing
  • Testing: Comprehensive test coverage
  • Documentation: Extensive API documentation and examples

Usage Examples

Basic Backtest

import { YahooAdapter } from '@meridianalgo/data';
import { trendFollowing } from '@meridianalgo/strategies';
import { TimeBasedEngine } from '@meridianalgo/backtest';

async function runBacktest() {
  // Fetch historical data
  const yahoo = new YahooAdapter();
  const bars = await yahoo.ohlcv('AAPL', {
    start: '2023-01-01',
    end: '2023-12-31',
    interval: '1d'
  });

  // Create a trend-following strategy
  const strategy = trendFollowing({
    fastPeriod: 10,
    slowPeriod: 30,
    maType: 'ema'
  });

  // Run backtest
  const engine = new Time...
Read more