Skip to main content

Crate qmt_parser

Crate qmt_parser 

Source
Expand description

qmt-parser 提供面向 MiniQMT / QMT 本地数据目录的解析能力。

这个 crate 主要覆盖三类能力:

  • 历史行情 .dat 文件解析:tick、1 分钟线、日线
  • 可选的 Polars DataFrame 输出
  • QMT 本地财务与分红数据读取

大多数用户可以直接从 crate 根模块调用重导出的顶层函数,例如 parse_ticks_to_structsparse_min_to_structsparse_daily_to_structsFinanceReader::read_file

§Feature Flags

  • polars:默认开启,启用 parse_*_to_dataframe 系列接口

§Quick Start

解析 tick 文件为结构体:

use qmt_parser::parse_ticks_to_structs;

let ticks = parse_ticks_to_structs("data/000001-20250529-tick.dat")?;
println!("rows = {}", ticks.len());

解析日线并限制日期范围:

use qmt_parser::parse_daily_to_structs;

let rows = parse_daily_to_structs("data/day/000001.dat", "20230101", "20231231")?;
println!("rows = {}", rows.len());

在启用 polars feature 时生成 DataFrame

use qmt_parser::parse_min_to_dataframe;

let df = parse_min_to_dataframe("data/000001-1m.dat")?;
println!("{:?}", df.shape());

§Modules

  • tick:Tick 分笔解析
  • min:1 分钟 K 线解析
  • day:日线解析与派生列处理
  • finance:财务 .DAT 解析
  • dividend:分红送配 LevelDB 查询
  • error:公共错误类型

Re-exports§

pub use day::daily_dataframe_column_names;
pub use day::DailyKlineData;
pub use day::DailyReader;
pub use day::parse_daily_file_to_dataframe;
pub use day::parse_daily_to_dataframe;
pub use day::parse_daily_to_dataframe_in_range;
pub use day::parse_daily_file_to_structs;
pub use day::parse_daily_to_structs;
pub use day::parse_daily_to_structs_in_range;
pub use dividend::DividendDb;
pub use dividend::DividendError;
pub use dividend::DividendRecord;
pub use error::DailyParseError;
pub use error::MinParseError;
pub use error::TickParseError;
pub use finance::FileType;
pub use finance::FinanceData;
pub use finance::FinanceError;
pub use finance::FinanceReader;
pub use finance::FinanceRecord;
pub use finance::Shareholder;
pub use min::min_dataframe_column_names;
pub use min::parse_min_to_dataframe;
pub use min::MinKlineData;
pub use min::MinReader;
pub use min::parse_min_to_structs;
pub use tick::parse_ticks_to_dataframe;
pub use tick::FULL_TICK_API_FIELD_NAMES;
pub use tick::TICK_DATAFRAME_COLUMN_NAMES;
pub use tick::tick_api_field_names;
pub use tick::tick_dataframe_column_names;
pub use tick::TickData;
pub use tick::TickReader;
pub use tick::parse_ticks_to_structs;

Modules§

day
日线解析与 DataFrame 导出。 日线解析。
dividend
分红送配 LevelDB 查询。 QMT 分红送配 LevelDB 查询。
error
公开错误类型定义。 通用错误类型。
finance
QMT 财务 .DAT 解析。 QMT 本地财务 .DAT 解析。
min
1 分钟 K 线解析与 DataFrame 导出。 1 分钟 K 线解析。
tick
Tick 分笔解析与 DataFrame 导出。 Tick 分笔解析。