Skip to content

Add signal_returns collector + 30d universe returns#10

Merged
cipher813 merged 1 commit into
mainfrom
feat/signal-returns-collector
Apr 10, 2026
Merged

Add signal_returns collector + 30d universe returns#10
cipher813 merged 1 commit into
mainfrom
feat/signal-returns-collector

Conversation

@cipher813
Copy link
Copy Markdown
Owner

Summary

  • New collectors/signal_returns.py: seeds score_performance + predictor_outcomes and backfills forward returns by JOINing against universe_returns — zero yfinance calls
  • Extended universe_returns with 30d return columns (return_30d, spy_return_30d, beat_spy_30d)
  • Wired signal_returns into Phase 1 pipeline after universe_returns

Motivation

The backtester's evaluator was making redundant yfinance calls for data that universe_returns already computes via polygon.io. This centralizes all data collection in the data module so the evaluator runs as a pure analysis module.

Cross-repo dependency

Backtester PR cipher813/alpha-engine-backtester#9 removes the corresponding yfinance calls from the evaluator. Both PRs should be merged together.

Test plan

  • Syntax validation passes for all modified files
  • python weekly_collector.py --phase 1 --only signal_returns --dry-run on EC2
  • Verify score_performance rows populated after Phase 1 run

Generated with Claude Code

New collector (collectors/signal_returns.py) seeds and backfills
score_performance and predictor_outcomes tables by JOINing against
universe_returns — zero yfinance calls. Runs after universe_returns
in Phase 1.

universe_returns extended with return_30d, spy_return_30d, beat_spy_30d
columns (one extra polygon grouped-daily call per date).

This enables the backtester's evaluator to run as a pure analysis
module with no external API dependencies.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@cipher813 cipher813 merged commit 0baad7b into main Apr 10, 2026
1 check passed
@cipher813 cipher813 deleted the feat/signal-returns-collector branch April 10, 2026 00:29
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