Skip to content

feat(loaders): add local data loader for CSV/Parquet/DuckDB files#252

Merged
warren618 merged 2 commits into
HKUDS:mainfrom
Robin1987China:data-bridge-local-loader
Jun 18, 2026
Merged

feat(loaders): add local data loader for CSV/Parquet/DuckDB files#252
warren618 merged 2 commits into
HKUDS:mainfrom
Robin1987China:data-bridge-local-loader

Conversation

@Robin1987China

Copy link
Copy Markdown
Contributor

Summary

Adds a local data loader for users to bring their own OHLCV data files
(CSV, Parquet, DuckDB) into backtests without third-party APIs.

Changes

  • New: agent/backtest/loaders/local_loader.py@register LocalLoader
  • Modified: registry.py — +"local" to VALID_SOURCES/FALLBACK_CHAINS
  • Modified: market_data.py — +^local: symbol pattern

Tests

  • ruff: clean
  • 3172 passed, 1 skipped (full suite excluding e2e)

- New 'local' loader reads OHLCV from user-configured CSV/Parquet/DuckDB sources
- Config file at ~/.vibe-trading/data-bridge/config.yaml maps symbols to files
- Symbols prefixed with 'local:' auto-route to the local data source
- Integrated into loader registry with fallback chain support

Signed-off-by: Robin1987China <fanrenzhige@163.com>
@Robin1987China Robin1987China force-pushed the data-bridge-local-loader branch from 0d053b6 to d07cd27 Compare June 17, 2026 05:53
@warren618 warren618 merged commit a97af71 into HKUDS:main Jun 18, 2026
1 check passed
warren618 added a commit that referenced this pull request Jun 18, 2026
…252 (#266)

#260 Research Autopilot shipped two reproduced runtime-breaking bugs:
- run_research_autopilot never received the host session_id (it read only
  kwargs, which the LLM cannot know), so every call errored 'session_id is
  required'. Inject default_session_id via build_registry like the goal tools.
- generate_backtest_config returned a run_dir under ~/.vibe-trading/runs,
  which safe_run_dir rejected, breaking the advertised write_file -> backtest
  handoff. Add ~/.vibe-trading/runs to the allowed run roots.
Also validate the derived backtest source against VALID_SOURCES (fall back to
'auto' with a warning) and document the goal-replace semantics.

#252 local loader silently emptied tz-aware CSV/Parquet inputs (a tz-naive vs
tz-aware Timestamp comparison raised TypeError that was swallowed). Normalize
the timezone in _normalize_columns.

Adds registry-level + end-to-end tests for both autopilot tools and a tz
regression test for the loader.
warren618 added a commit that referenced this pull request Jun 23, 2026
…Bridge / Research Delivery) (#297)

Mark Research Autopilot (Phase 1-3, #260/#267), the local Data Bridge loader (#252), and the scheduled-research scheduler/executor (#272/#278/#288) as shipped in the Roadmap status column across all 5 READMEs. Feature descriptions left intact so SQL connectors and multi-channel outbound delivery still read as pending. Closes #294.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants