#技术分析 #指标 #EMA #交易 #金融

ta

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

13 个不稳定版本 (5 个破坏性更新)

0.5.0 2021年6月26日
0.4.0 2020年11月3日
0.3.1 2020年10月20日
0.1.5 2019年12月16日
0.0.1-beta2017年11月27日

#65 in 科学

Download history 656/week @ 2024-03-13 771/week @ 2024-03-20 524/week @ 2024-03-27 475/week @ 2024-04-03 498/week @ 2024-04-10 452/week @ 2024-04-17 534/week @ 2024-04-24 403/week @ 2024-05-01 329/week @ 2024-05-08 368/week @ 2024-05-15 395/week @ 2024-05-22 505/week @ 2024-05-29 461/week @ 2024-06-05 533/week @ 2024-06-12 523/week @ 2024-06-19 478/week @ 2024-06-26

2,072 每月下载量
用于 8 个库(7 个直接使用)

MIT 许可证

125KB
3K SLoC

Rust 技术分析 (ta)

Build Status Crates.io Docs.rs License

Rust 技术分析库。

入门

将以下内容添加到您的 Cargo.toml

[dependencies]
ta = "0.4.0"

示例

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)
    • 百分比价格振荡器(PPO)
    • 商品通道指数(CCI)
    • 资金流量指数(MFI)
  • 其他
    • 最小值
    • 最大值
    • 真实范围
    • 标准差(SD)
    • 平均绝对偏差(MAD)
    • 平均真实范围(AR)
    • 效率比(ER)
    • 布林带(BB)
    • 启明星(CE)
    • 凯尔特纳通道(KC)
    • 变动率(ROC)
    • 累计成交量(OBV)

特性

  • serde - 允许序列化和反序列化指标。注意:由于指标内部实现可能发生变化,因此无法保证序列化数据与ta未来版本的向后兼容性。

运行基准测试

cargo bench

许可证

MIT © Sergey Potapov

贡献者

依赖项

~175KB