docs.rs failed to build rustdx-complete-1.0.0
Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.
Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.
rustdx
⚠️ 网络连接问题? 请查看 网络连接说明指南 或运行
./scripts/diagnose_network.sh诊断
受 pytdx 启发的 A 股数据获取工具,包含:
- 一个 Rust 通用库 rustdx-complete;
- 一个命令行工具 rustdx-cmd。
🎉 v1.0.0 重大更新 (2025-01-06)
✨ 企业级功能完整版
rustdx 现已升级为功能完整的企业级A股数据获取库,在保持原有核心功能的基础上,新增了大量企业级特性:
📊 P0 核心功能
| 功能 | 模块 | 说明 | 测试 |
|---|---|---|---|
| 数据完整性验证 | validator |
K线连续性、财务一致性、异常检测 | ✅ 12个测试 |
| 技术指标计算 | indicators |
SMA/EMA/MACD/RSI/布林带/KDJ | ✅ 9个测试 |
| 智能缓存层 | cache |
内存缓存、文件缓存、TTL自动过期 | ✅ 8个测试 |
| 增强错误处理 | error |
分层错误类型、详细错误信息 | ✅ 6个测试 |
🚀 P1 增强功能
| 功能 | 模块 | 说明 | 测试 |
|---|---|---|---|
| 中国A股交易日历 | calendar |
零网络依赖、自动节假日和调休 | ✅ 8个测试 |
| Builder 模式 API | builder |
流畅链式调用、参数验证 | ✅ 7个测试 |
| TCP 连接池 | pool |
连接复用、性能优化、线程安全 | ✅ 7个测试 |
📈 测试覆盖
- 总测试数: 94个 (✅ 100% 通过)
- 代码覆盖率: 核心模块 100%
- 示例程序: 6个完整示例
🌟 核心特性
1️⃣ 数据完整性验证
use validator;
// 验证K线数据连续性
let result = validate_kline_continuity;
// 检测异常数据
let anomalies = detect_anomalies; // 10%阈值
2️⃣ 技术指标计算
use ;
// 计算移动平均线
let sma20 = sma;
// 计算MACD
let macd_result = macd;
// 计算布林带
let bb = bollinger_bands;
3️⃣ 智能缓存层
use Cache;
use Duration;
// 创建内存缓存(5分钟TTL)
let cache = memory;
// 自动缓存-回源模式
let data = cache.get_or_fetch;
4️⃣ 增强错误处理
use ;
// 分层错误类型
match tcp_connection
5️⃣ 中国A股交易日历
use TradingCalendar;
// 判断是否交易日
let is_trading = is_trading_day;
// 获取前一个交易日
let prev = previous_trading_day;
// 获取最近N个交易日
let days = get_trading_days;
6️⃣ Builder 模式 API
use KlineBuilder;
// 流畅的链式调用
let kline = new
.code
.category // 日线
.count
.build?;
// 或使用便捷方法
let kline = daily?;
7️⃣ TCP 连接池
use ConnectionPool;
// 创建连接池(最大3个连接)
let pool = new?;
// 获取连接(自动复用)
let mut conn = pool.get_connection?;
// 连接自动归还到池中
📦 快速开始
安装
# Cargo.toml
基础使用
use ;
use Kline;
使用 Builder 模式
use KlineBuilder;
let kline = daily?;
kline.recv_parsed?;
使用连接池
use ConnectionPool;
let pool = new?;
let mut conn = pool.get_connection?;
// 使用conn执行查询...
📚 完整功能列表
原有核心功能
| 功能 | 模块 | pytdx 对应 |
|---|---|---|
| 日K线 | Kline |
get_security_bars |
| 除权数据 | Xdxr |
get_xdxr |
| 实时行情 | SecurityQuotes |
get_security_quotes |
| 股票列表 | SecurityList |
get_security_list |
| 分时数据 | MinuteTime |
get_minute_time_data |
| 逐笔成交 | Transaction |
get_transaction_data |
| 财务信息 | FinanceInfo |
get_finance_info |
新增功能 (v1.0)
| 类别 | 功能 | 说明 |
|---|---|---|
| 数据质量 | K线连续性验证 | 检测缺失交易日 |
| 财务数据一致性 | 验证基本面数据合理性 | |
| 异常数据检测 | 识别价格异常波动 | |
| 技术分析 | 移动平均线 (SMA/EMA) | 趋势分析 |
| MACD 指标 | 动量分析 | |
| RSI 相对强弱 | 超买超卖 | |
| 布林带 | 波动率分析 | |
| KDJ 随机指标 | 短期买卖点 | |
| 性能优化 | 内存缓存 | 快速数据访问 |
| 文件缓存 | 持久化存储 | |
| get_or_fetch 模式 | 自动缓存管理 | |
| 连接管理 | TCP连接池 | 复用连接 |
| 自动归还 | Drop trait管理 | |
| 健康检查 | 自动清理过期连接 | |
| 开发体验 | Builder模式 | 流畅API |
| 增强错误处理 | 详细错误信息 | |
| 交易日历 | 自动节假日识别 | |
| 代码质量 | 94个单元测试 | 100%通过 |
| 完整文档注释 | docs.rs自动生成 | |
| 6个示例程序 | 覆盖所有功能 |
📝 示例程序
| 示例 | 功能 |
|---|---|
test_technical_indicators |
技术指标计算 |
test_data_validation |
数据完整性验证 |
test_cache |
智能缓存使用 |
test_error_handling |
错误处理演示 |
test_trading_calendar |
交易日历查询 |
test_builder |
Builder模式API |
test_connection_pool |
TCP连接池 |
运行示例:
🌐 网络连接说明
重要: rustdx-complete 不需要在本地运行通达信服务!
工作原理
你的应用
↓
rustdx-complete (TCP 客户端)
↓
通达信公共服务器 (115.238.56.198:7709)
↓
返回股票数据
快速测试
# 测试网络连接
# 运行诊断脚本
📚 详细文档: NETWORK_CONNECTION_GUIDE.md
🚀 性能优化
-
使用连接池
- 复用TCP连接,减少握手开销
- 默认3个连接,适合大多数场景
-
启用缓存
- 实时行情数据:3-5分钟TTL
- 日线数据:1小时TTL
- 财务数据:1天TTL
-
批量查询
- 一次查询多只股票,而非逐个查询
- 建议不超过80只股票/次
-
使用 release 模式
📖 API 文档
- docs.rs: https://docs.rs/rustdx-complete
- crates.io: https://crates.io/crates/rustdx-complete
🤝 贡献指南
欢迎贡献代码、报告问题或提出建议!
- Fork 本仓库
- 创建特性分支 (
git checkout -b feature/AmazingFeature) - 提交更改 (
git commit -m 'Add some AmazingFeature') - 推送到分支 (
git push origin feature/AmazingFeature) - 开启 Pull Request
📄 许可证
本项目采用 MIT 许可证 - 查看 LICENSE 文件了解详情。
🙏 致谢
- pytdx - Python 版本的通达信接口
- 通达信 - 提供数据服务器
- trade_date_a - 中国交易日历数据
📊 版本历史
详细更新记录请查看 CHANGELOG.md
v1.0.0 (2025-01-06) - 🎉 企业级完整版
- ✅ 新增数据完整性验证模块
- ✅ 新增技术指标计算库
- ✅ 新增智能缓存层
- ✅ 新增增强错误处理系统
- ✅ 新增中国A股交易日历
- ✅ 新增Builder模式API
- ✅ 新增TCP连接池
- ✅ 94个单元测试全部通过
- ✅ 6个完整示例程序
v0.6.6 (2025-12-31) - 行业和概念板块
- 股票行业分类映射
- 东方财富概念板块支持
v0.6.4 (2025-12-31) - 完整五档买卖盘
- 补充 SecurityQuotes 完整五档买卖盘字段
rustdx - 功能完整的企业级 A 股数据获取库 🚀