📜  ta4j 依赖 (1)

📅  最后修改于: 2023-12-03 15:35:14.351000             🧑  作者: Mango

Ta4j - 技术分析 for Java

Ta4j 是一个在 Java 中完全编写的轻量级、开放源代码和高效的技术分析库。它专为金融市场设计,支持股票、期货、指数和股票交易等金融市场的技术分析。它的目标是为金融界的开发人员和交易员提供一个友好的、通用的、可扩展的、灵活的和强大的技术分析工具。

如何使用 Ta4j

要开始使用 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 的一些核心功能:

  • 具有自动输入区间处理的时间序列架构。
  • 可从变量时间区间、日志记录和数据源中加载时间序列。
  • 60 多个预定义的技术指标包括趋势、动量、波动、交易量等。
  • 用于构建复杂的技术指标的基本指标库。
  • 趋势分析和趋势逆转的交易规则,支持多级止损和止盈。
  • 相对强度指标(RSI)、移动平均线(SMA、EMA、SMMA、DEMA、TEMA)和斐波那契回撤指标(Fibonacci Retracements)等的价格变换。
  • 可反映交易记录、资产收益、交易成本的交易记录和收益记录。
  • 简单和复杂的数据分析机制。
结论

如果你在金融领域工作,或者想要开发一个可靠的技术分析工具,那么 Ta4j 无疑是你最好的选择之一。我们希望这个简单的介绍向你展示了 Ta4j 的主要功能和优势,同时也启发了你开始实践。如果你需要更多信息或帮助,请查看 Ta4j 文档