1 个不稳定版本
0.1.5 | 2020年1月1日 |
---|
#707 in 科学
在 3 个 Crates 中使用 (通过 cxmr-ta)
81KB
2K SLoC
Rust 技术分析 (ta)
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
许可证
贡献者
- greyblake Potapov Sergey - 创建者,维护者。
- Bartoshko - BollingerBands
- shreyasdeotare Shreyas Deotare - MoneyFlowIndex, OnBalanceVolume
- edwardycl - 标准差实现 & 更高效的 BollingerBands
依赖项
~2.5–3.5MB
~74K SLoC