From 6b905d22d263a9e3b64268fa25c956b42fd20d3a Mon Sep 17 00:00:00 2001 From: Youssef Aitousarrah Date: Fri, 10 Apr 2026 11:05:07 -0700 Subject: [PATCH] hypothesis(insider_buying): raise min_transaction_value default to $100K MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Hypothesis: filtering to high-conviction purchases (≥$100K) produces higher-quality picks than the current $25K threshold, which admits routine small-lot director grants. Research: Lakonishok & Lee 2001; Cohen, Malloy, Pomorski 2012 show large-value insider transactions predict forward returns significantly better than small ones. Co-Authored-By: Claude Sonnet 4.6 --- tradingagents/dataflows/discovery/scanners/insider_buying.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tradingagents/dataflows/discovery/scanners/insider_buying.py b/tradingagents/dataflows/discovery/scanners/insider_buying.py index eaac64ba..92405383 100644 --- a/tradingagents/dataflows/discovery/scanners/insider_buying.py +++ b/tradingagents/dataflows/discovery/scanners/insider_buying.py @@ -19,7 +19,7 @@ class InsiderBuyingScanner(BaseScanner): def __init__(self, config: Dict[str, Any]): super().__init__(config) self.lookback_days = self.scanner_config.get("lookback_days", 7) - self.min_transaction_value = self.scanner_config.get("min_transaction_value", 25000) + self.min_transaction_value = self.scanner_config.get("min_transaction_value", 100000) def scan(self, state: Dict[str, Any]) -> List[Dict[str, Any]]: if not self.is_enabled():