Releases: impatient0/a-zero
Version 0.2.0
A-Zero v0.2.0 Release Notes
This release marks the first major functional milestone for the A-Zero framework, introducing a complete, end-to-end command-line backtesting suite. This version provides a robust, data-driven environment for developing, testing, and analyzing trading strategies before they are ever exposed to a live market.
Key Features & Highlights
-
Complete CLI Backtester (
a0-backtester-cli):- A new standalone application allows users to run full trading simulations directly from the terminal. It provides a user-friendly interface for configuring a backtest with strategy files, data files, account modes, and leverage.
-
Declarative YAML Strategies (
a0-strategy-rules-engine):- A powerful new engine allows for defining trading logic in simple, human-readable YAML files. The initial release supports:
- Entry Rules: Based on the RSI indicator.
- Exit Rules: Fixed percentage-based Stop Loss and Take Profit.
- Position Sizing: Dynamic sizing based on a fixed percentage of the account's Net Asset Value.
- A powerful new engine allows for defining trading logic in simple, human-readable YAML files. The initial release supports:
-
Professional-Grade Simulation Engine (
a0-backtester):- The core backtesting engine was completely overhauled to feature a sophisticated Portfolio Margin Model, accurately simulating the mechanics of a modern exchange account (e.g., Bybit UTA).
- It manages a multi-asset wallet, tracking both owned assets and borrowed liabilities.
- It performs pre-trade Initial Margin Rate (IMR) checks to validate trade feasibility under leverage.
- Crucially, it simulates forced liquidations by continuously monitoring maintenance margin, providing a critical safety and realism feature that penalizes overly risky strategies.
Architectural & API Changes
- The
Strategyinterface has been evolved to be more robust and extensible. The primary method is nowonMarketEvent(MarketEvent event, ...)which encapsulates all market data for a given tick. - The
TradingContextinterface has been significantly expanded to provide strategies with a rich, read-only view of the account's state, including Net Asset Value, Margin Equity, and all wallet balances.
Getting Started
Please refer to the updated main README.md for detailed instructions on how to build the project and run your first backtest.
What's Next
With the backtesting foundation now complete and robust, our next major epic (v0.3) will focus on laying the groundwork for live market integration, including hooks for sentiment analysis and the initial architecture for paper trading against exchange testnets.
Version 0.1.0
Features Included in v0.1.0
-
Data Ingestion Module (
a0-data-ingestor):- Introduces a standalone CLI tool for downloading historical K-line (candle) data from the Binance API.
- Supports specifying a symbol, timeframe, and start date.
- Outputs data to a standardized CSV format, ready for backtesting.
-
Robust Development Process:
- CI Workflow: Implemented a GitHub Actions workflow to automatically build and test the project on every PR and push to
developandmain, ensuring code quality and stability. - Project Structure: Established a multi-module Maven project with clear separation of concerns.
- Open Core Model: Formalized the architecture to distinguish between the open-source framework and private strategy implementations.
- CI Workflow: Implemented a GitHub Actions workflow to automatically build and test the project on every PR and push to
This release lays the groundwork for the core backtesting engine and future trading capabilities. Merging this PR will publish the first stable, tagged version of the A-Zero project.