alpha4j 是面向 JDK 8+ 的 Java Alpha 因子库,不是交易平台、不是技术分析引擎、也不是现成的选股软件。
它只做一件事:把 K 线算成固定维度的因子向量,给你的模型或打分逻辑当选股特征。纯 Java,无 Python 依赖。
- 版本:
1.0.0 - 坐标:
com.whaleal.quant:alpha4j - GitHub:whaleal-dev/alpha4j
- 维护者:恒哥
| 能力 | 说明 |
|---|---|
| Alpha101 | WorldQuant 因子;当前 80 / 101(缺行业中性化 / 未公开公式项) |
| Alpha158 | Qlib 标准 159 维(含 VOLUME0);排除算子占位,维度固定 |
| Alpha360 | Qlib 360 维(60 日 × 6 字段;窗口目前硬编码) |
| 特征输出 | AlphaFactorResult / AlphaDataset,训练与推理同序 |
| 增量计算 | Alpha158 calculateIncremental |
| K 线模型 | 自带 Candlestick(double 价格字段) |
- 行情接入、券商下单、持仓与对账
- 组合回测、调仓、风控(那是 quant-platform
sdk// ta4j 的事) - 选股模型训练、排序阈值、实盘信号
- Python Qlib 运行时、行业中性化(IndNeutralize)横截面数据
一句话:库把 K 线变成因子向量;不负责拉行情,也不负责决定买哪只。
尚未发布 Maven Central。本地安装:
git clone git@github.com:whaleal-dev/alpha4j.git
cd alpha4j
mvn -DskipTests install- Gradle:
implementation 'com.whaleal.quant:alpha4j:1.0.0' - Maven:
<dependency><groupId>com.whaleal.quant</groupId><artifactId>alpha4j</artifactId><version>1.0.0</version></dependency>
K 线按时间升序。Alpha158 至少 60 根;Alpha101 建议 250 根(少于 60 根会失败)。
import com.whaleal.quant.alpha4j.Alpha158Config;
import com.whaleal.quant.alpha4j.AlphaFactorResult;
import com.whaleal.quant.alpha4j.calculator.Alpha101Calculator;
import com.whaleal.quant.alpha4j.calculator.Alpha158Calculator;
import com.whaleal.quant.alpha4j.calculator.Alpha360Calculator;
import com.whaleal.quant.alpha4j.model.Candlestick;
import java.util.List;
public class Alpha4jFirstRun {
public static void main(String[] args) {
List<Candlestick> bars = loadKLineData();
AlphaFactorResult a158 = Alpha158Calculator.calculate(bars);
System.out.println(a158.getFactorCount()); // 159
System.out.println(a158.getFactors().get("ROC5"));
AlphaFactorResult a360 = Alpha360Calculator.calculate(bars);
AlphaFactorResult a101 = new Alpha101Calculator().calculate(bars);
}
}扩展 179 维(前 159 个与标准配置同序):
AlphaFactorResult extra = Alpha158Calculator.calculate(bars, Alpha158Config.createExtended());Alpha158 默认:K 线形态 9 + 价格 4 + VOLUME0 + 滚动统计 145 = 159。
| 集合 | 来源 | 维数 |
|---|---|---|
| Alpha101 | WorldQuant | 实现 80 / 101 |
| Alpha158 | Qlib | 159(createExtended() → 179) |
| Alpha360 | Qlib | 360 |
- Alpha101 未覆盖需要横截面行业中性化的因子。
Alpha360Config的窗口 / 字段开关目前未生效。- 不含行情与组合回测。
组织:whaleal-dev · 官网:whaleal.com