Skip to content

fawp-index v2.8.0

Information-Control Exclusion Principle detector for finance, climate, and ML systems.

๐Ÿ”ด Try live โ†’ fawp-scanner.info
๐Ÿ“ฆ pip install "fawp-index[dashboard]"
๐Ÿ“„ doi:10.5281/zenodo.18673949


What's new in v2.8.0

๐Ÿ”” In-app notification bell

Every scan now fires an in-app alert: - ๐Ÿ”ด FAWP active โ€” lists flagged tickers with regime info - โœ… All clear โ€” confirms no regimes detected - Red badge on bell shows unread count - "Mark all read" clears the queue - Stacks up to 20 alerts per session

๐ŸŽฎ Demo mode โ€” no account needed

New users can explore the full scanner without signing up: - "โ–ถ Try demo โ€” no account needed" button on the login screen - Loads synthetic data (SPY/QQQ/GLD/BTC/TLT โ€” 600 bars each) - Full dashboard access: Scanner, Curves, Heatmap, Compare, Validation, History - Blocked from real ticker scans (yfinance) โ€” shown upgrade prompt - Green demo banner with dismiss button

๐Ÿ“Š FAWP vs classic signals โ€” Compare tab

New fawp_index.compare.compare_signals() function: - Computes RSI-14, Realised Vol-21, Momentum-20, MA Slope-20 - Aligns to FAWP scan dates, measures forward-return lift at 1/5/20 bars - Shows Pearson correlation with FAWP score - Side-by-side bar chart: 20-bar return and hit rate - CSV export

๐Ÿ› Bug fixes

  • Restored compare_fawp() / ComparisonResult โ€” accidentally removed in v0.22.0
  • import fawp_index now works cleanly with both compare APIs
  • All tests passing

Install

pip install "fawp-index==2.8.0"              # core
pip install "fawp-index[dashboard]==2.8.0"   # + Streamlit dashboard
pip install "fawp-index[fast]==2.8.0"        # + Numba JIT (5-15x faster scans)
pip install "fawp-index[all]==2.8.0"         # everything

Quick start

from fawp_index.watchlist import scan_watchlist

result = scan_watchlist(["SPY", "QQQ", "GLD", "BTC-USD"], period="2y")
for asset in result.rank_by("score")[:3]:
    print(f"{asset.ticker}: score={asset.latest_score:.4f} "
          f"gap={asset.peak_gap_bits:.4f}b "
          f"{'๐Ÿ”ด FAWP' if asset.regime_active else 'โ€”'}")

Full changelog

See CHANGELOG.md

Papers