#data-hub #支持多交易所 #egostrategy #据抓取和分析

bin+lib egostrategy_datahub

股票市场数据处理系统,支持多交易所数据抓取和分析

8 releases

2025.5.16 May 16, 2025
0.1.7 Jul 13, 2025
0.1.6 May 22, 2025

#136 in Finance

Download history 115/week @ 2025-07-14 4/week @ 2025-07-21 4/week @ 2025-09-01 1/week @ 2025-09-08

789 downloads per month

MIT license

76KB
1.5K SLoC

DataHub

股票市场数据处理系统,支持多交易所数据抓取和分析。

功能特点

  • 支持多交易所数据抓取(上交所、深交所)
  • 高效的数据存储和检索(使用Apache Arrow格式)
  • 增量更新和全量更新模式
  • 命令行工具支持数据抓取和浏览
  • 可作为库集成到其他Rust项目中

安装

cargo install --git https://github.com/EgoStrategy/DataHub.git

使用方法

命令行工具

抓取股票数据

# 抓取指定交易所的所有股票数据
egostrategy_datahub scrape --exchange sse --date 2025-05-16

# 抓取指定股票的历史数据
egostrategy_datahub scrape --exchange sse --symbol 600519

# 强制全量更新
egostrategy_datahub scrape --exchange sse --symbol 600519 --force-full

# 限制K线记录数量
egostrategy_datahub scrape --exchange sse --symbol 600519 --max-records 100

浏览股票数据

# 浏览所有股票
egostrategy_datahub explore

# 浏览指定股票
egostrategy_datahub explore --symbol 600519

# 浏览指定交易所的股票
egostrategy_datahub explore --exchange sse

作为库使用

Cargo.toml 中添加依赖:

[dependencies]
egostrategy_datahub = { git = "https://github.com/EgoStrategy/DataHub.git" }

示例代码:

use egostrategy_datahub::StockDataProvider;
use egostrategy_datahub::Result;

fn main() -> Result<()> {
    // 创建数据提供者(会自动检查并下载最新数据)
    let provider = StockDataProvider::new()?;
    
    // 获取特定股票数据
    if let Some(stock) = provider.get_stock_by_symbol("600519") {
        println!("股票: {} ({})", stock.name, stock.symbol);
        println!("交易所: {}", stock.exchange);
        println!("日线数据数量: {}", stock.daily.len());
        
        // 打印最新的日线数据
        if let Some(latest) = stock.daily.first() {
            println!("最新日期: {}", latest.date);
            println!("开盘价: {:.2}", latest.open);
            println!("收盘价: {:.2}", latest.close);
        }
    }
    
    Ok(())
}

在线数据可视化

您可以访问 https://egostrategy.github.io/DataHub/ 查看股票数据的可视化展示。

开发

构建项目

cargo build

运行测试

cargo test

生成文档

cargo doc --open

许可证

MIT

Dependencies

~35–53MB
~807K SLoC