GitHub Actions runs update_prices.py daily. It fetches live prices, 1D/1W/1M/YTD returns, P/E, short interest, analyst scores and up to 5 recent headlines with sentiment scores for all tracked biotech stocks via Yahoo Finance.
Before ranking, the model is directed to search online for the latest news on the top 10 highest-momentum stocks — surfacing FDA decisions, clinical trial results, analyst upgrades, deal announcements and PDUFA dates that happened since the last data pull.
generate_signals_local.py sends the full dataset to deepseek/deepseek-v4-flash via OpenRouter with the web search plugin enabled. The model scores each stock across momentum, fundamentals, analyst consensus, biotech-specific catalysts and live news, then returns a ranked top 10 in JSON.
The full pipeline runs automatically every Monday, Wednesday and Friday. You can also trigger it manually from the GitHub Actions tab, or run python generate_signals_local.py locally to generate fresh signals on demand.