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-beta | 2017年11月27日 |
#65 in 科学
2,072 每月下载量
用于 8 个库(7 个直接使用)
125KB
3K SLoC
Rust 技术分析 (ta)
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
许可证
贡献者
- greyblake Potapov Sergey - 创建者,维护者。
- Bartoshko - 布林带
- shreyasdeotare Shreyas Deotare - 资金流量指数,累计成交量
- edwardycl - 标准差实现 & 更高效的布林带
- rideron89 Ron Rider - 凯尔特纳通道
- tirz - CCI,CE,MAD,PPO,重构
- Devin Gunay - serde 支持
- Youngchan Lee - 修复错误
- tommady - 移除 error-chain 依赖
依赖项
~175KB