#indicator #technical-analysis #ema #trading #finance

cxmr-ta-core

技术分析库。实现多个指标:EMA、SMA、RSI、MACD、随机指标等。

1 个不稳定版本

0.1.5 2020年1月1日

#707 in 科学


3 个 Crates 中使用 (通过 cxmr-ta)

MIT 许可证

81KB
2K SLoC

Rust 技术分析 (ta)

Build Status License Documentation

Rust 的技术分析库。

入门指南

添加到您的 Cargo.toml

[dependencies]

ta = "0.1.5"

示例

use ta::indicators::ExponentialMovingAverage;
use ta::Next;

// it can return an error, when an invalid length is passed (e.g. 0)
let mut ema = ExponentialMovingAverage::new(3).unwrap();

assert_eq!(ema.next(2.0), 2.0);
assert_eq!(ema.next(5.0), 3.5);
assert_eq!(ema.next(1.0), 2.25);
assert_eq!(ema.next(6.25), 4.25);

更多示例请参阅 此处。也可以查看 文档

基本概念

表示股票报价的数据项可以实现以下特质

  • 开盘价
  • 最高价
  • 最低价
  • 收盘价
  • 成交量

并非必须实现所有这些,但必须足够满足特定指标的要求。除非有理由实现自己的结构,否则您可能应该优先使用 DataItem

指标通常实现以下特质

  • Next<T> (通常是 Next<f64>Next<&DataItem>) - 用于提供和获取下一个值
  • Reset - 用于重置指标
  • 调试
  • 显示
  • 默认值
  • 克隆

指标列表

到目前为止,以下指标可用。

  • 趋势
    • 指数移动平均 (EMA)
    • 简单移动平均 (SMA)
  • 振荡器
    • 相对强度指数 (RSI)
    • 快速随机指标
    • 慢速随机指标
    • 移动平均收敛发散 (MACD)
    • 资金流量指数 (MFI)
  • 其他
    • 最小值
    • 最大值
    • 真实范围
    • 平均真实范围 (AR)
    • 效率比 (ER)
    • 布林带 (BB)
    • 变动率 (ROC)
    • 平衡量 (OBV)

运行基准测试

cargo bench

许可证

MIT © Sergey Potapov

贡献者

依赖项

~2.5–3.5MB
~74K SLoC