{"id":48216389,"url":"https://github.com/vitalcheffe/sense-act-core","last_synced_at":"2026-04-04T19:00:28.285Z","repository":{"id":341729279,"uuid":"1171253082","full_name":"Vitalcheffe/sense-act-core","owner":"Vitalcheffe","description":"does follower count actually predict signal quality in oil markets? built this to find out. shadow mode — no real money, real architecture","archived":false,"fork":false,"pushed_at":"2026-03-28T16:44:28.000Z","size":225,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-03-28T18:31:25.645Z","etag":null,"topics":["algorithmic-trading","asyncio","finbert","genetic-algorith","nlp","oil-markets","python","sentiment-analysis"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Vitalcheffe.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-03-03T02:58:50.000Z","updated_at":"2026-03-28T16:44:32.000Z","dependencies_parsed_at":"2026-04-04T19:00:23.224Z","dependency_job_id":null,"html_url":"https://github.com/Vitalcheffe/sense-act-core","commit_stats":null,"previous_names":["vitalcheffe/sense-act-core"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Vitalcheffe/sense-act-core","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Vitalcheffe%2Fsense-act-core","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Vitalcheffe%2Fsense-act-core/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Vitalcheffe%2Fsense-act-core/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Vitalcheffe%2Fsense-act-core/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Vitalcheffe","download_url":"https://codeload.github.com/Vitalcheffe/sense-act-core/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Vitalcheffe%2Fsense-act-core/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31409471,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-04T10:20:44.708Z","status":"ssl_error","status_checked_at":"2026-04-04T10:20:06.846Z","response_time":60,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["algorithmic-trading","asyncio","finbert","genetic-algorith","nlp","oil-markets","python","sentiment-analysis"],"created_at":"2026-04-04T19:00:17.417Z","updated_at":"2026-04-04T19:00:28.268Z","avatar_url":"https://github.com/Vitalcheffe.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# SENSE-ACT\n\n\u003cp align=\"center\"\u003e\n  \u003cb\u003eSentiment arbitrage engine for oil markets.\u003c/b\u003e\u003cbr\u003e\n  \u003ci\u003eShadow mode — no real money, real architecture.\u003c/i\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://img.shields.io/badge/Python-3.11+-blue?logo=python\" /\u003e\n  \u003cimg src=\"https://img.shields.io/badge/Tests-30%2F30-brightgreen\" /\u003e\n  \u003cimg src=\"https://img.shields.io/badge/FinBERT-ProsusAI-orange\" /\u003e\n  \u003cimg src=\"https://img.shields.io/badge/License-MIT-green\" /\u003e\n\u003c/p\u003e\n\n---\n\nA Ras Tanura pipeline engineer with 200 followers posts something on Twitter. Oil futures move 3 minutes later. Reuters publishes the same story 8 minutes after that. By then it's already priced in.\n\nThe signal was never in the follower count. It was in the information type.\n\n---\n\n## What It Does\n\nShadow-mode sentiment arbitrage engine tuned for oil/energy. Replaces standard follower-count weighting with explicit domain expertise scoring. The architecture is production-grade. The execution is virtual.\n\n---\n\n## Signal Flow\n\n```\nRSS/News API -\u003e FinBERT scoring -\u003e Semantic dedup (cosine) -\u003e Welford z-score\n-\u003e Half-life decay -\u003e Influence weighting -\u003e Kill-switch check\n-\u003e Monte Carlo slippage -\u003e Shadow book\n```\n\n---\n\n## Key Components\n\n| Component | What It Does |\n|-----------|-------------|\n| **FinBERT** | ProsusAI/finbert for financial text sentiment. Handles \"maintains output despite pressure\" correctly. |\n| **Semantic Dedup** | Catches Reuters headline + Bloomberg paraphrase. Cosine similarity, threshold 0.82. |\n| **Welford z-score** | Single-pass variance, O(1) storage. Flags anomalies in real-time. |\n| **Half-life decay** | Signals lose 50% weight every 120s. Consistent with Hasbrouck (1991). |\n| **Kill-switch** | Halts if spread or VIX doubles in 60 seconds. |\n| **Monte Carlo slippage** | Realistic execution cost modeling. |\n\n---\n\n## Influence Weighting\n\n```\nweight = log10(followers) * hub_boost * domain_expertise * accuracy\n```\n\nA hub account with domain expertise gets 2.5x boost. A broadcast megaphone with 800K followers that just reposts Reuters 6 minutes late isn't worth much.\n\n---\n\n## Quick Start\n\n```bash\npip install -r requirements.txt\n\n# Run the backtest\npython backtest.py\n\n# Launch the dashboard\npython dashboard.py\n\n# Start the signal processor\npython orchestrator.py\n```\n\n## Tests\n\n```bash\npython run_tests.py\n# 30/30 passing\n```\n\n---\n\n## License\n\nMIT.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvitalcheffe%2Fsense-act-core","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvitalcheffe%2Fsense-act-core","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvitalcheffe%2Fsense-act-core/lists"}