Skip to content

[codex] Add structured Fama/French data provider#3

Merged
dachent merged 1 commit into
mainfrom
codex/add-famafrench-provider
Apr 5, 2026
Merged

[codex] Add structured Fama/French data provider#3
dachent merged 1 commit into
mainfrom
codex/add-famafrench-provider

Conversation

@dachent
Copy link
Copy Markdown
Owner

@dachent dachent commented Apr 5, 2026

Summary

  • add a structured Kenneth French Data Library provider through scripts/fetch_famafrench.py
  • support direct current _CSV.zip feeds and direct archive _CSV.zip URLs
  • update aMDT docs and skill metadata to include Fama/French routing and normalization guidance

Why

Fama/French factors and portfolio data are useful for research and backtesting, but aMDT is designed to stay on public structured feeds instead of HTML scraping. This change adds direct support while keeping the provider runtime strictly limited to structured zip feeds.

What changed

  • add scripts/fetch_famafrench.py
  • add references/famafrench.md
  • update README.md, SKILL.md, agents/openai.yaml, and references/normalization.md
  • reject _TXT.zip inputs and Kenneth French HTML pages at runtime

Validation

  • python -m py_compile across scripts/*.py
  • live current-feed tests:
    • F-F_Research_Data_Factors_CSV
    • F-F_Research_Data_Factors_daily_CSV
    • 6_Portfolios_2x3_CSV
  • live archive test:
    • direct 2025 Fama/French 3 Factors archive _CSV.zip URL
  • guardrail tests:
    • _TXT.zip fails with a structured-feed-only error
    • data_library.html fails with a direct-zip-required error
  • confirmed no runtime code path fetches Kenneth French HTML pages

@dachent dachent merged commit 54fdeed into main Apr 5, 2026
1 check passed
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.

1 participant