Pakistan Ka Pehla Professional Trading Bot CourseModule 5

5.3Geo Scout — News Sentiment Se Trading

35 min 4 code blocks Practice Lab Quiz (4Q)

Geo Scout — News Sentiment Trading

While Theta Sniper profits from time decay (a mechanical edge), Geo Scout profits from information asymmetry — finding markets where the current price doesn't reflect information that you have access to but the broader market hasn't processed yet.

For Pakistani traders, this is a structural advantage. The regions you understand best — South Asia, the Middle East, Pakistan's domestic politics — are exactly the regions where Western-dominated Polymarket consistently mispricies events.

The Geo Scout Thesis

Polymarket's user base is predominantly US and European. When a market asks "Will Pakistan-India diplomatic relations improve in Q2 2026?", the price is set largely by traders who:

  • Read English-language news with a 6–12 hour delay on South Asian events
  • Lack understanding of the actual political dynamics between the two governments
  • Cannot access Urdu, Hindi, or Pashto sources where early signals appear
  • Underestimate or overestimate risk based on Western media framing

You, as a Pakistani trader who monitors Dawn, Geo News, ARY News, and local Twitter/X in real time, have a structural information advantage that is not available to the majority of the market.

The GEO_KEYWORDS Scanning System

The first step is filtering: Polymarket has thousands of active markets. We only want ones where our information edge applies.

python
# strategies/geo_scout.py

# Tier 1: Pakistani/South Asian markets where our edge is highest
PAKISTAN_KEYWORDS = [
    'pakistan', 'sbp', 'imf pakistan', 'cpec', 'psl',
    'babar azam', 'shaheen afridi', 'lahore', 'karachi',
    'imran khan', 'nawaz sharif', 'pti'
]

# Tier 2: Regional markets where we have above-average understanding
SOUTH_ASIA_KEYWORDS = [
    'india', 'india-pakistan', 'kashmir', 'bangladesh',
    'sri lanka', 'afghanistan', 'saarc'
]

# Tier 3: Global geopolitical markets (general advantage, weaker edge)
GLOBAL_GEO_KEYWORDS = [
    'iran', 'israel', 'ukraine', 'russia', 'china', 'taiwan',
    'nato', 'election', 'tariff', 'trade war', 'oil', 'opec'
]

# Assign edge weights by tier
KEYWORD_TIERS = {
    'tier_1': {'keywords': PAKISTAN_KEYWORDS, 'edge_multiplier': 1.5},
    'tier_2': {'keywords': SOUTH_ASIA_KEYWORDS, 'edge_multiplier': 1.2},
    'tier_3': {'keywords': GLOBAL_GEO_KEYWORDS, 'edge_multiplier': 1.0},
}

def find_geo_markets(all_markets: list) -> list:
    """
    Filter markets by geo keywords and assign edge tier.
    Returns markets with tier classification.
    """
    geo_markets = []

    for market in all_markets:
        question = market.get('question', '').lower()
        best_tier = None
        matching_keywords = []
        primary_theme = None

        for tier_name, tier_data in KEYWORD_TIERS.items():
            found_kws = [kw for kw in tier_data['keywords'] if kw in question]
            if found_kws:
                if best_tier is None:  # First (highest) tier match wins
                    best_tier = tier_name
                    matching_keywords = found_kws
                    primary_theme = found_kws[0]

        if best_tier:
            market['_geo_keywords'] = matching_keywords
            market['_theme'] = primary_theme
            market['_tier'] = best_tier
            market['_edge_multiplier'] = KEYWORD_TIERS[best_tier]['edge_multiplier']
            geo_markets.append(market)

    return sorted(geo_markets, key=lambda x: x['_edge_multiplier'], reverse=True)

Theme-Based Position Limiting

Geo Scout's biggest risk: correlated positions. If you hold 5 markets that all resolve based on Pakistan-India relations, and a major diplomatic incident occurs, all 5 resolve against you simultaneously.

The protection: limit total exposure per theme.

python
class GeoPositionTracker:
    """Track and limit positions per geopolitical theme."""

    def __init__(self, db_connection):
        self.db = db_connection
        self.THEME_LIMITS = {
            'pakistan': 2,      # Max 2 open positions on Pakistan-specific markets
            'india': 2,         # Max 2 on India-specific markets
            'iran': 2,          # Max 2 on Iran-specific markets
            'election': 3,      # Elections are less correlated, allow 3
            'default': 2        # Default for all other themes
        }
        self.TOTAL_GEO_CAP = 6  # Maximum total open Geo Scout positions

    def can_enter_position(self, theme: str) -> tuple[bool, str]:
        """
        Check if a new position on this theme is allowed.
        Returns (allowed: bool, reason: str)
        """
        # Check theme-specific limit
        theme_positions = self.db.count_open_positions_by_theme(theme)
        theme_limit = self.THEME_LIMITS.get(theme, self.THEME_LIMITS['default'])

        if theme_positions >= theme_limit:
            return False, f"Theme limit reached: {theme_positions}/{theme_limit} for '{theme}'"

        # Check total Geo Scout position cap
        total_geo_positions = self.db.count_open_positions_by_strategy('geo_scout')
        if total_geo_positions >= self.TOTAL_GEO_CAP:
            return False, f"Total Geo Scout cap reached: {total_geo_positions}/{self.TOTAL_GEO_CAP}"

        return True, "Position allowed"

The Geo Scout Signal Pipeline

code
GEO SCOUT SIGNAL FLOW

News source (Dawn, Geo TV, Reuters, Bloomberg)
         │
         ▼
RSS feed collector (fetches every 15 minutes)
         │
         ▼
GEO_KEYWORDS filter
(does this headline match any of our watched themes?)
         │
         ▼ (if match found)
Gemini Flash triage
"Is this news BULLISH or BEARISH for outcome X on Polymarket?
Confidence: 0-1"
         │
         ▼ (if confidence > 0.55)
Claude Sonnet deep analysis
"Assess the true probability of this market resolving YES
given this news. Explain your reasoning. Account for
Pakistani political context."
         │
         ▼
Ensemble aggregation
(combine all signals into final probability estimate)
         │
         ▼
Edge calculation
(ensemble estimate - current market price = edge)
         │
         ▼ (if edge > 0.12 and theme limit not exceeded)
EXECUTE TRADE

Pakistani Information Advantage by Category

code
INFORMATION EDGE ASSESSMENT FOR PAKISTANI TRADERS

HIGH EDGE (structural advantage over Western traders)
┌──────────────────────────────────────────────────────┐
│ SBP Monetary Policy decisions                        │
│  ▶ Dawn/sbp.org.pk has real-time press releases      │
│  ▶ Pakistani economists tweet before English media   │
│  ▶ IMF EFF constraints well-understood locally       │
│  Edge window: 15-45 minutes ahead of price move      │
├──────────────────────────────────────────────────────┤
│ Pakistan cricket (PSL, Test, T20 matches)            │
│  ▶ Local coaches/analysts on Urdu Twitter            │
│  ▶ Pitch reports from PakPassion, PCB.com.pk         │
│  ▶ Player injury news reaches English media slowly   │
│  Edge window: 30-90 minutes ahead of price move      │
├──────────────────────────────────────────────────────┤
│ Pakistan domestic political events                   │
│  ▶ Urdu media covers PTI/PMLN developments faster   │
│  ▶ Local political analysts have better context      │
│  Edge window: 1-4 hours ahead of English media       │
└──────────────────────────────────────────────────────┘

MODERATE EDGE
┌──────────────────────────────────────────────────────┐
│ India-Pakistan diplomatic developments               │
│  ▶ Both sides of the narrative accessible in Urdu   │
│  ▶ Still better than Western traders' single-source │
│  Edge: Moderate — Indian market also has edge        │
└──────────────────────────────────────────────────────┘

LOW EDGE (no structural advantage)
┌──────────────────────────────────────────────────────┐
│ US politics, EU events, Western markets              │
│  ▶ Same information access as global traders         │
│  ▶ No local context advantage                        │
│  Action: Trade only with strong AI ensemble signal   │
└──────────────────────────────────────────────────────┘
Practice Lab

Practice Lab

Exercise 1: Set up the GEO_KEYWORDS dictionary with at least 15 keywords relevant to your information advantage. Divide them into tiers: (a) markets where you have genuine, real-time Urdu-language information advantage, (b) markets where you have moderate advantage, (c) general global markets. Run the find_geo_markets function against a list of 20 fictional market questions and verify it correctly classifies each.

Exercise 2: Build the GeoPositionTracker class with a mock database (use a Python dictionary instead of a real DB). Test: (a) add a position on theme "pakistan", (b) add another on "pakistan" (should succeed), (c) try adding a third on "pakistan" — it should be blocked. Print the reason at each step.

Exercise 3: Monitor Dawn.com, Geo.tv, and ARY News for 3 days. Every time you see a headline that matches one of your Geo Scout keywords, find the corresponding Polymarket market (if it exists). Note: (a) the time of the news, (b) the current market price, (c) your estimate of the true probability given the news, (d) what the price was 2 hours later. This measures your real information edge window.

Key Takeaways

  • Geo Scout's edge is information asymmetry — you have access to information the majority of the Western-dominated Polymarket user base doesn't process in real time
  • Keyword tiering matters: Pakistani domestic markets have the highest edge, South Asian regional markets moderate edge, global markets need stronger AI signal to compensate
  • Theme-based position limits prevent correlated exposure: 5 open positions on Pakistan-related markets become 5 simultaneous losses if a major domestic event reverses the narrative
  • The information edge window is measured in minutes to hours, not days — the bot must process news and act before the broader market reprices
  • Trading Geo Scout markets where you don't have genuine local knowledge is just speculation; the strategy only works when your cultural and language access genuinely puts you ahead of the Western traders setting the price

Pakistan Case Study: The Kartarpur Corridor Trade

Background: In January 2026, a Polymarket market existed: "Will the Kartarpur Corridor remain open for all of 2026?" Current YES price: 52 cents.

Hamid's Geo Scout analysis (a Lahore-based political science graduate now running a trading bot):

His Urdu-language news sources showed:

  • Both Pakistani and Indian governments had publicly reaffirmed the corridor's importance as a "humanitarian gesture above politics" in December 2025
  • No military exercises or troop movements near Kartarpur in 90 days
  • Pakistani and Indian media both had overwhelmingly positive framing of the corridor as a "soft diplomacy symbol"

Western traders were pricing YES at 52% because they associated "Pakistan-India relations" with conflict risk — a generic framing that ignored the specific political insulation of this corridor.

Hamid's ensemble estimate: 81% probability YES.

Edge: 81% - 52% = 29 cents — strong Tier 2 signal.

He entered $75 in YES shares. Over 30 days, the market drifted to 78 cents with no significant Pakistan-India incidents.

He exited at 78 cents. P&L: (0.78 - 0.52) × ($75 / 0.52) = +$37.50 = PKR 10,500 profit on a $75 trade.

Hamid's lesson: "My edge wasn't that I predicted the future better. My edge was that I understood the political context — that Kartarpur specifically was protected from broader tensions by both governments' domestic political calculations. Western traders saw 'Pakistan-India' and discounted it to 52%. I saw a specific, protected humanitarian gesture and priced it at 81%. That's the Geo Scout edge in a single example."

Lesson Summary

Includes hands-on practice lab4 runnable code examples4-question knowledge check below

Quiz: [Module 5 Lesson 5.3]

4 questions to test your understanding. Score 60% or higher to pass.