yuzu-data
Native I/O layer for citrusquant:
reads price and fundamental files into
yuzu-core panels.
Formats
The file format is detected from content, not the object key, so existing data keeps working and mirrors can migrate incrementally:
- gzip CSV (
.csv.gz) — the default write format. - plain CSV (
.csv). - Apache Parquet (
.parquet) — columns matched by name (day,adj_close,pe, …; one column per symbol for combined panels); thedaycolumn may be an integerYYYYMMDD, aYYYY-MM-DDstring, or a logicaldate. Reading only — writing/rebuild output stays gzip CSV.
All three work out of the box; the loaders probe .csv.gz, then .parquet,
then .csv for each symbol/panel.
Parquet pulls the arrow stack. Consumers that only need CSV/gzip and want to avoid that dependency can opt out:
= { = "0.1", = false }
On-disk / object-key contract (directory tree, CSV columns, series-name map): Input data layout.
Engine semantics (panels, NAV, Report): backtest-engine.md.
License
MIT