ilia bb0bce40c9
Some checks failed
CI / lint-and-test (push) Failing after 1m6s
CI / secret-scanning (push) Successful in 1m32s
CI / security-scan (push) Failing after 1m4s
CI / dependency-scan (push) Successful in 2m48s
CI / sast-scan (push) Successful in 5m59s
CI / container-scan (push) Successful in 4m58s
CI / docker-build-test (push) Failing after 1m13s
CI / workflow-summary (push) Successful in 1m5s
Clean up Ansible-specific and outdated documentation
REMOVED:
========
 ANSIBLE_HANDOFF.md - Ansible team will get from git history
 ANSIBLE_TECHNICAL_REFERENCE.md - Ansible team will get from git history
 MOVE_ANSIBLE_TO_SEPARATE_REPO.md - Migration complete, no longer needed
 SETUP_COMPLETE.md - Outdated summary
 TESTING_STATUS.md - Outdated status

RATIONALE:
==========
Ansible code has been removed from this repo and belongs in
infrastructure repo. These docs were for the migration process
and are no longer relevant to the POTE application repo.

Ansible team can retrieve these files from git history if needed:
  git show d40b412:ANSIBLE_HANDOFF.md
  git show d40b412:ANSIBLE_TECHNICAL_REFERENCE.md

KEPT:
=====
 CUSTOMIZATION_CHECKLIST.md - Still useful for config reference
 CI_PIPELINE_COMPLETE.md - Current CI documentation
 All quickstart guides
 All deployment docs
2025-12-24 22:36:50 -05:00
2025-12-14 20:45:34 -05:00

POTE Public Officials Trading Explorer

Research-only tool for tracking and analyzing public stock trades by government officials.

⚠️ Important: This project is for personal research and transparency analysis only. It is NOT for investment advice or live trading.

What is this?

POTE tracks stock trading activity of government officials (starting with U.S. Congress) using lawfully available public data sources. It computes research metrics, descriptive signals, and risk/ethics flags to help understand trading patterns.

Key constraints

  • Public data only: House Stock Watcher (free!), yfinance (free!), QuiverQuant/FMP (optional)
  • Research framing: All outputs are descriptive analytics, not trading recommendations
  • No inside information claims: We use public disclosures that may be delayed or incomplete

Current Status

PR1 Complete: Project scaffold, DB models, price loader
PR2 Complete: Congressional trade ingestion (House Stock Watcher)
PR3 Complete: Security enrichment + deployment infrastructure
PR4 Complete: Phase 2 analytics - returns, benchmarks, performance metrics
45+ passing tests, 88%+ coverage

Quick start

🚀 Already deployed? See QUICKSTART.md for full usage guide!

📦 Deploying? See PROXMOX_QUICKSTART.md for Proxmox LXC deployment (recommended).

📧 Want automated reports? See AUTOMATION_QUICKSTART.md for email reporting setup!

Local Development

# Install
git clone <your-repo>
cd pote
make install
source venv/bin/activate

# Run migrations
make migrate

# Ingest sample data (offline, for testing)
python scripts/ingest_from_fixtures.py

# Enrich securities with company info
python scripts/enrich_securities.py

# With internet:
python scripts/fetch_congressional_trades.py
python scripts/fetch_sample_prices.py

# Run tests
make test

# Lint & format
make lint format

Production Deployment

# Proxmox LXC (Recommended - 5 minutes)
bash scripts/proxmox_setup.sh

# Docker
docker-compose up -d

Tech stack

  • Language: Python 3.10+
  • Database: PostgreSQL or SQLite (dev)
  • Data: House Stock Watcher (free!), yfinance (free!), QuiverQuant/FMP (optional)
  • Libraries: SQLAlchemy, Alembic, pandas, numpy, httpx, yfinance, scikit-learn
  • Testing: pytest (28 tests, 87%+ coverage)

Documentation

Getting Started:

Deployment:

Technical:

PR Summaries:

What's Working Now

  • SQLAlchemy models for officials, securities, trades, prices
  • Alembic migrations
  • Price loader with yfinance (idempotent, upsert)
  • Congressional trade ingestion from House Stock Watcher (FREE!)
  • Security enrichment (company names, sectors, industries)
  • ETL to populate officials & trades tables
  • Docker + deployment infrastructure
  • 93 passing tests with 88%+ coverage
  • Linting (ruff + mypy) all green
  • Works 100% offline with fixtures
  • Real-time market monitoring & alert system
  • Disclosure timing correlation engine
  • Pattern detection & comparative analysis
  • Automated email reporting (daily/weekly)
  • CI/CD pipeline (GitHub/Gitea Actions)

What You Can Do Now

Analyze Performance

# Analyze specific official
python scripts/analyze_official.py "Nancy Pelosi" --window 90

# System-wide analysis
python scripts/calculate_all_returns.py

Market Monitoring

# Run market scan
python scripts/monitor_market.py --scan

# Analyze timing of recent disclosures
python scripts/analyze_disclosure_timing.py --recent 7

# Generate pattern report
python scripts/generate_pattern_report.py --days 365

Automated Reporting

# Set up daily/weekly email reports (5 minutes!)
./scripts/setup_cron.sh

# Send manual report
python scripts/send_daily_report.py --to your@email.com

Add More Data

# Manual entry
python scripts/add_custom_trades.py

# CSV import
python scripts/scrape_alternative_sources.py import trades.csv

System Architecture

POTE now includes a complete 3-phase monitoring system:

Phase 1: Real-Time Market Monitoring

  • Tracks ~50 most-traded congressional stocks
  • Detects unusual volume, price spikes, volatility
  • Logs all alerts with timestamps and severity

Phase 2: Disclosure Correlation

  • Matches trades with prior market alerts (30-45 day lookback)
  • Calculates "timing advantage score" (0-100)
  • Identifies suspicious timing patterns

Phase 3: Pattern Detection

  • Ranks officials by consistent suspicious timing
  • Analyzes by ticker, sector, and political party
  • Generates comprehensive reports

Full Documentation: See MONITORING_SYSTEM_COMPLETE.md

Next Steps

  • Signals: "follow_research", "avoid_risk", "watch" with confidence scores
  • Clustering: group officials by trading behavior patterns
  • API: FastAPI backend for queries
  • Dashboard: React/Streamlit visualization

See docs/00_mvp.md for the full roadmap.


License: MIT (for research/educational use only)
Disclaimer: Not investment advice. Use public data only. No claims about inside information.

Description
No description provided
Readme 416 KiB
Languages
Python 91.2%
Shell 8.1%
Makefile 0.3%
Mako 0.2%
Dockerfile 0.2%