ta4j gives you the building blocks for technical-analysis-driven systems in Java: bar series, indicators, rules, strategies, reports, and a unified trading-record model that now spans backtests, paper trading, and live execution.
The current wiki reflects ta4j's newer unified trading stack:
BaseTradingRecordis the default trading-record implementation for both backtests and live or paper-trading flows.BarSeriesManageris the default single-strategy backtest driver and now accepts either its own default record factory or a record you provide.BacktestExecutorbuilds onBarSeriesManagerwhen you want to rank or tune many strategies at once, including weighted normalized leaderboards.- Manual loops are still the right tool when orders and fills are decoupled, partial fills matter, or your broker confirms executions asynchronously.
LiveTradingRecordandExecutionFillremain available only as 0.22.x compatibility facades. New code should useBaseTradingRecordandTradeFill.
- Production users and integrators should start in Start Here, then follow Canonical User Journey.
- Maintainers and design contributors should use architecture and delivery artifacts under
architecture/andcompleted-features/README.md, which are not part of the primary user onboarding path.
- Configurable backtest execution models:
BarSeriesManagerandBacktestExecutorcan now stay on the default next-open model or switch to current-close, slippage, or stop-limit execution. - Weighted strategy ranking:
BacktestExecutionResult#getTopStrategiesWeighted(...)andWeightedCriterionlet you rank strategies by a normalized composite score instead of a single raw metric. - One trade-record story for partial fills: New code can stream
TradeFillvalues directly withTradingRecord.operate(fill)or group an order withTrade.fromFills(...), then inspectgetCurrentPosition()andgetOpenPositions()on the same record. - Broader analysis surface: Recent current-master additions include
SharpeRatioCriterion,SortinoRatioCriterion,CalmarRatioCriterion,OmegaRatioCriterion, and volume pressure indicators such asForceIndexIndicator,EaseOfMovementIndicator, andKlingerVolumeOscillatorIndicator.
- Primary onboarding lane: Getting Started -> Usage Examples -> Backtesting -> Live Trading -> Live Trading Runbook -> Troubleshooting Hub
- Getting Started - Install ta4j, build a strategy, and pick the right driver
- Canonical User Journey - Follow the end-to-end production path from data ingestion to live operations
- Backtesting -
BarSeriesManager,BacktestExecutor, supplied records, and manual simulation loops - Live Trading - Event-driven live or paper flows with
BaseTradingRecord - Usage Examples - Runnable examples, including parity and bot loops
- Execution Decision Matrix - Choose execution and simulation path by workload
- Migration and Version Compatibility - Preferred APIs and incremental migration guidance
- Release Notes - Version-by-version changelog and migration notes
- Bar Series & Bars - OHLCV data, aggregation, moving windows, and streaming updates
- Data Sources - Loading bars or trades from files and HTTP providers
- Num - Precision-aware numeric types such as
DoubleNumandDecimalNum - Technical Indicators - Indicator composition and caching
- Forecast Indicators - Forward-looking return and price distributions, point projections, and strategy filters
- Trading Strategies - Rules, strategies, unstable bars, and serialization
- Charting - Visual overlays, trading-record rendering, and analysis charts
Use the canonical matrix for execution choices:
- Execution Decision Matrix for driver and simulation-path selection
- Backtesting for implementation patterns once you choose a backtest path
- Live Trading for fill-driven and event-driven live loops
- Analysis Criteria and Risk Metrics - Rolling criteria, risk-adjusted return, open exposure, and risk-unit scoring
- Walk-Forward Research - Strategy walk-forward runs and generic prediction research workflows
- Chat on the ta4j Discord
- Explore the ta4j repository and its
ta4j-examplesmodule - How to Contribute - Development setup and contribution workflow
- Roadmap & Tasks - Planned work and known gaps
- Related Projects - Ecosystem projects built around ta4j
- Architecture proposals - Active design drafts and TODO PRDs
- Architecture archive - Historical decisions and implementation records
- Completed feature dossiers - Delivered PRD/checklist records
