Skip to content

feat: wire Tushare fundamentals into filters#76

Merged
warren618 merged 1 commit into
HKUDS:mainfrom
mrbob-git:codex/vibe-trading-issue-62-prefilter
May 8, 2026
Merged

feat: wire Tushare fundamentals into filters#76
warren618 merged 1 commit into
HKUDS:mainfrom
mrbob-git:codex/vibe-trading-issue-62-prefilter

Conversation

@mrbob-git

Copy link
Copy Markdown
Contributor

Refs #62.

What I changed

  • Added fundamental_fields support in the daily backtest path, so Tushare statement snapshots can be merged into OHLCV bars after their announcement/disclosure dates.
  • Prefix statement columns by table, for example income_total_revenue, income_n_income, and fina_indicator_roe, to avoid colliding with daily_basic fields.
  • Updated fundamental-filter / strategy-generate guidance and the fundamental-filter example to show a financial-quality pre-filter using the new statement columns.

How to verify

  • python -m pytest agent/tests/test_tushare_fundamentals_provider.py agent/tests/test_engine_robustness.py::TestSymbolIsolation::test_backtest_enriches_data_map_with_configured_fundamental_fields agent/tests/test_engine_robustness.py::TestSymbolIsolation::test_backtest_records_explicit_benchmark_metadata agent/tests/test_fundamental_filter_example.py -q
  • python -m ruff check agent/backtest/loaders/tushare_fundamentals.py agent/backtest/engines/base.py agent/src/skills/fundamental-filter/example_signal_engine.py agent/tests/test_tushare_fundamentals_provider.py agent/tests/test_engine_robustness.py agent/tests/test_fundamental_filter_example.py
  • python -m py_compile agent/backtest/loaders/tushare_fundamentals.py agent/backtest/engines/base.py agent/src/skills/fundamental-filter/example_signal_engine.py agent/tests/test_tushare_fundamentals_provider.py agent/tests/test_engine_robustness.py agent/tests/test_fundamental_filter_example.py
  • git diff --check

I also tried the full non-e2e pytest command. It reached 837 passed / 1 skipped, with 3 local path-handling failures outside this change area.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

2 participants