Yass
Yet Another Stock Screener — screen stocks using fundamental signals, backtest with point-in-time data, evaluate with Monte Carlo analysis - jamesjxliao/yass
About Yass
Screen stocks using fundamental signals, backtest with point-in-time data, and evaluate with Monte Carlo analysis. Configure signals and weights in YAML — no code changes needed.
Read the numbers honestly: these are in-sample results (10 bps round-trip costs, survivorship-free S&P 500 membership, Sharadar data). On 108 monthly returns, the stationary-block-bootstrap 90% confidence interval on that Sharpe is [0.37, 1.38] — a 9-year backtest is a noisy point estimate, not a promise. The interval comes from src/screener/evaluation/robustness.py ; poetry run screener evaluate reproduces the charts.
cp .env.example .env # add your data API key (or skip — falls back to mock data)
No API key? No problem — the screener falls back to mock data so you can explore immediately.
Data provider: YASS supports Sharadar (Nasdaq Data Link) and Financial Modeling Prep (FMP) for market data. Set NASDAQ_DATA_LINK_API_KEY or FMP_API_KEY in .env — auto-selection prefers Sharadar; DATA_PROVIDER=sharadar|fmp|mock forces a choice. Without a key, mock data is used. Don't point both providers at the same DuckDB file — their caches must not mix.
The repo ships with 7 signals — use them as-is or adjust weights in config/example.yaml :
Signal names must match the name attribute on the signal class (e.g. momentum_12m , not momentum ); the loader raises if a name isn't found.
Discussion
Sign in to join the discussion.
Loading comments…
Tagged
Alternatives to Yass
Tools in the same space, ranked by how they are performing in the directory.
- Paid/Developer Tools
Slideops
Turn a repository into a slide deck that tells you when it stops matching the code - glukicov/slideops
/Developer Tools- Paid/Writing & Content
Openclip
Fast, open-source macOS floating text actions.
Open source/Developer ToolsLg C5 Webos25 Region Change
Contribute to hawshemi/lg-c5-webos25-region-change development by creating an account on GitHub.
/Writing & ContentDoc Scraper
Go web crawler to scrape documentation sites and convert content to clean Markdown for LLM ingestion (RAG, training data).
/Writing & Content