📅  最后修改于: 2023-12-03 15:35:14.351000             🧑  作者: Mango
Ta4j 是一个在 Java 中完全编写的轻量级、开放源代码和高效的技术分析库。它专为金融市场设计,支持股票、期货、指数和股票交易等金融市场的技术分析。它的目标是为金融界的开发人员和交易员提供一个友好的、通用的、可扩展的、灵活的和强大的技术分析工具。
要开始使用 Ta4j,需要将以下依赖项添加到您的项目中:
<dependency>
<groupId>org.ta4j</groupId>
<artifactId>ta4j-core</artifactId>
<version>0.12</version>
</dependency>
Ta4j 在设计时,使用了一组核心概念。以下是这些概念的简要概述,以帮助您开始使用 Ta4j:
TimeSeries
- 时间序列是一个包含时间周期的数据集,例如股票价格、交易量和股票成交量。这个数据集可以取决于您的频率和需求。Bar
- 时间序列的 Bar
表示它的一般信息,例如开盘、高点、低点和关闭的价格。Indicator
- 指标是一个映射函数,将一个 TimeSeries
转换为一个数字数组。指标可以用于技术分析或市场研究。TradingRecord
- 交易记录是一个记录您的交易历史、交易规则和盈利/亏损的对象。Rule
- 规则是一个计算逻辑,基于 Indicator
判断成交信号。以下是使用 Ta4j 的示例程序:
// 记录时间序列
TimeSeries series = new BaseTimeSeries();
for (int i = 0; i < prices.length; i++) {
bar = new BaseBar(Period.TICK, now.plusSeconds(i), prices[i].getOpen(), prices[i].getHigh(), prices[i].getLow(), prices[i].getClose(), prices[i].getVolume());
series.addBar(bar);
}
// 定义技术指标
ClosePriceIndicator closePrice = new ClosePriceIndicator(series);
SMAIndicator sma = new SMAIndicator(closePrice, 12);
// 定义交易规则
Rule buyingRule = new CrossedUpIndicatorRule(closePrice, sma);
Rule sellingRule = new CrossedDownIndicatorRule(closePrice, sma);
TradingStrategy strategy = new BaseTradingStrategy(buyingRule, sellingRule);
// 运行策略
TradingRecord tradingRecord = series.run(strategy);
在此示例代码中,我们首先定义了一个 TimeSeries
,并使用 BaseBar
将每个时间周期的数据存储到序列中。
接下来,我们定义了两个 Indicator
,一个是股票的收盘价,另一个是收盘价的简单移动平均线(SMA)。我们使用这些指标来确定交易规则,也就是交叉指标。最后我们使用序列和策略运行交易,并记录交易记录。
这是 Ta4j 的一些核心功能:
如果你在金融领域工作,或者想要开发一个可靠的技术分析工具,那么 Ta4j 无疑是你最好的选择之一。我们希望这个简单的介绍向你展示了 Ta4j 的主要功能和优势,同时也启发了你开始实践。如果你需要更多信息或帮助,请查看 Ta4j 文档。