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 查询
  • metadata:xtquant 本地资料/板块文件解析
  • error:公共错误类型

Re-exports§

pub use datadir::Market;
pub use datadir::QmtDataDir;
pub use datadir::parse_security_code;
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::DataDirError;
pub use error::MetadataParseError;
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 metadata::load_holidays_from_root;
pub use metadata::load_holidays_from_standard_paths;
pub use metadata::load_industry_from_root;
pub use metadata::load_industry_from_standard_paths;
pub use metadata::load_sector_names_from_root;
pub use metadata::load_sector_names_from_standard_paths;
pub use metadata::load_sector_weight_index_from_root;
pub use metadata::load_sector_weight_index_from_standard_paths;
pub use metadata::load_sector_weight_members_from_root;
pub use metadata::load_sector_weight_members_from_standard_paths;
pub use metadata::load_sectorlist_from_root;
pub use metadata::load_sectorlist_from_standard_paths;
pub use metadata::parse_holiday_file;
pub use metadata::parse_industry_file;
pub use metadata::parse_sector_name_file;
pub use metadata::parse_sector_weight_index;
pub use metadata::parse_sector_weight_members;
pub use metadata::parse_sectorlist_dat;
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§

datadir
基于 datadir 根目录的自动发现入口。 基于 QMT datadir 根目录的自动发现入口。
day
日线解析与 DataFrame 导出。 日线解析。
dividend
分红送配 LevelDB 查询。 QMT 分红送配 LevelDB 查询。
error
公开错误类型定义。 通用错误类型。
finance
QMT 财务 .DAT 解析。 QMT 本地财务 .DAT 解析。
metadata
xtquant 本地资料文件解析。
min
1 分钟 K 线解析与 DataFrame 导出。 1 分钟 K 线解析。
tick
Tick 分笔解析与 DataFrame 导出。 Tick 分笔解析。