Module 4 — Trump Political Headlines and Executive Actions
Normative specification. Module 4 is deterministic (no LLM in the scoring path). It authenticates and scores US political / executive-action events (Trump posts, official statements, proposals, signed and effective actions, tariffs, executive orders, Federal Register items), measures their direct company/sector exposure and market impact, and emits affected-scope trading restrictions plus one market-wide adjustment. It does not select a sector/industry/stock, generate an entry/stop/target/order, or close an existing position — those belong to the specialist macro modules, the Main Headline Risk Module / Output 2, the Risk Management / Emergency Exit modules, and the trading bot.
Implementation target: routes/module4.py → snapshots/module4.json (+ a stateful event store .data/module4_events.db), surfaced in a "Module 4" navbar view. It is the Trump/executive-action counterpart to Module 3 (general geopolitical); Module 3 routes Trump-origin headlines here.
Implementation note (v1 ceilings). The scoring below is pure arithmetic, but its inputs (source authentication, event-type classification, entity extraction, exposure mapping) require NLP the spec assumes upstream — an extraction pass (agents/skills/module4_extract.md) produces the structured event record, then Module 4 scores it with zero model calls. v1 implements the generic direct-exposure framework (§9.1) and carries the category-specific impact engines (Part 9) and every Part 15 item as named ceilings. Source authentication tiering (Parts 1–3) depends on an official-source / verified-account allowlist not yet wired, so events cap low until that feed exists. Cross-module handoffs (Part 10) are placeholders until sibling modules exist; only the "→ Module 3" (geopolitical context) route has a live counterpart today.
Part 1 — Master calculation dependency
1.1 Source-Monitoring Engine
- Required inputs: official-source allowlists, approved secondary-source allowlist, monitoring schedule, current time and previous scan time.
- Calculates: whether each required source must be checked now.
- Produces: SOURCE_SCAN_REQUIRED, SOURCE_SCAN_INTERVAL_SECONDS and SOURCE_SCAN_TIMESTAMP.
- Next calculation: Source-Authentication Engine.
1.2 Source-Authentication Engine
- Required inputs: source URL, account ID, document ID, post ID, exact text, publication timestamp, named speaker and corroborating sources.
- Calculates: whether the information is unverified, an authenticated statement, an official administration statement, an official proposal, a signed action or an effective action.
- Produces: SOURCE_VERIFICATION and SOURCE_AUTHENTICATION_STATUS.
- Next calculation: Event-Identity and Deduplication Engine.
1.3 Event-Identity and Deduplication Engine
- Required inputs: original source or document ID, first authenticated publication time, policy instrument, affected country or entity, product scope and policy direction.
- Calculates: canonical EVENT_ID and whether another record is an exact duplicate, equivalent repetition or materially changed event.
- Produces: EVENT_ID, DUPLICATE_STATUS, CANONICAL_EVENT_STATUS and MATERIAL_CHANGE_STATUS.
- Next calculation: Event-Type Classification Engine.
1.4 Event-Type Classification Engine
- Required inputs: authenticated source, exact text, legal document, implementation status, congressional approval status and effective status.
- Calculates: Type 0 through Type 5 based on the substantive legal and operational stage.
- Produces: EVENT_TYPE, BASE_SEVERITY, LEGAL_TEXT_STATUS and IMPLEMENTATION_STATUS.
- Next calculation: Novelty Engine.
1.5 Novelty Engine
- Required inputs: canonical EVENT_ID, prior equivalent events during the preceding 30 calendar days, tariff-rate changes, product scope, country scope, deadlines and effective dates.
- Calculates: whether the event is a first mention, escalation, repetition, delay, exemption, reversal or cancellation.
- Produces: NOVELTY_STATUS, NOVELTY_FLAG_LIST and NOVELTY_ADJUSTMENT.
- Next calculation: Event-Severity Engine.
1.6 Event-Severity Engine
- Required inputs: BASE_SEVERITY, NOVELTY_ADJUSTMENT, SOURCE_VERIFICATION and EVENT_TYPE.
- Calculates: numerical event severity from 0 to 5.
- Produces: TRUMP_EVENT_SEVERITY.
- Next calculation: Affected-Entity Mapping Engine and Company-Exposure Engine.
1.7 Affected-Entity Mapping Engine
- Required inputs: exact statement, legal text, named countries, products, sectors, industries and companies.
- Calculates: the directly affected entity set.
- Produces: COUNTRIES_MENTIONED, SECTORS_MENTIONED, INDUSTRIES_MENTIONED, COMPANIES_MENTIONED and POLICY_SCOPE_ID.
- Next calculation: Company-Exposure Engine and Policy-Impact Engines.
1.8 Company-Exposure Engine
- Required inputs: official company filings, revenue by country, cost exposure, product exposure, capacity exposure, government-contract exposure and critical dependencies.
- Calculates: each exposure channel separately and assigns the highest applicable exposure score.
- Produces: COMPANY_EXPOSURE_CHANNEL_LIST, COMPANY_EXPOSURE_SCORE and COMPANY_EXPOSURE_DATA_STATUS.
- Next calculation: Company-Political-Risk Engine and Company-Impact Engine.
1.9 Company-Political-Risk Engine
- Required inputs: TRUMP_EVENT_SEVERITY, COMPANY_EXPOSURE_SCORE and critical-override conditions.
- Calculates: company event risk from 0 to 15.
- Produces: COMPANY_TRUMP_RISK and COMPANY_RISK_CLASS.
- Next calculation: Permission and Position-Size Engine.
1.10 Generic Direct-Impact Engine
- Required inputs: event type, event direction, measurable direct exposure and critical dependency status.
- Calculates: a directional impact from minus 2 to plus 2 when no category-specific rule applies.
- Produces: GENERIC_COMPANY_IMPACT, GENERIC_INDUSTRY_IMPACT and GENERIC_SECTOR_IMPACT.
- Next calculation: Category-Specific Impact Engines.
1.11 Category-Specific Impact Engines
- Required inputs: policy category, policy instrument, event legal stage, exposure data and category-specific conditions.
- Calculates: tariff, energy, defence, pharmaceutical, finance, cryptocurrency, media, technology, TikTok, artificial-intelligence and other direct-policy impacts.
- Produces: COMPANY_IMPACT_LIST, INDUSTRY_IMPACT_LIST and SECTOR_IMPACT_LIST.
- Next calculation: Event-Direction and Aggregation Engine.
1.12 Event-Direction and Aggregation Engine
- Required inputs: all valid company, industry and sector impact records.
- Calculates: event direction, event-level impact and mixed-direction status without adding repeated company impacts.
- Produces: EVENT_DIRECTION, TRUMP_EVENT_IMPACT and MIXED_IMPACT_STATUS.
- Next calculation: Market-Reaction Engine.
1.13 Market-Reaction Engine
- Required inputs: pre-event price, 2-, 5-, 15-, 30- and 60-minute prices, VWAP, cumulative volume, historical volume and sector-instrument data.
- Calculates: price changes, VWAP position, RVOL and stock-versus-sector agreement.
- Produces: PRICE_CHANGE_AT_EACH_CHECKPOINT, VWAP_STATUS, RVOL_VALUE, PRICE_REACTION_CONFIRMATION and PRICE_REACTION_CONFLICT.
- Next calculation: Algorithmic-Move Engine and Event-Confidence Engine.
1.14 Algorithmic-Move Engine
- Required inputs: 2-minute stock and sector price changes.
- Calculates: whether the initial move is NOT_EXTENDED, EXTENDED or SEVERE.
- Produces: ALGO_MOVE_STATUS and EARLIEST_EVENT_TRADE_REVIEW_TIME.
- Next calculation: Pullback and Retest Engine and Permission Engine.
1.15 Pullback and Retest Engine
- Required inputs: pre-event price, first-15-minute high or low, later checkpoint prices and VWAP.
- Calculates: percentage retracement of the initial move.
- Produces: RETRACEMENT_PERCENT and HEADLINE_MOMENTUM_STATUS.
- Next calculation: Stock Setup Engine handoff.
1.16 Tariff-Meeting Overlay Engine
- Required inputs: official meeting schedule, announcement time, active tariff status and company exposure score.
- Calculates: meeting-risk activation, restriction period and resumption status.
- Produces: TARIFF_MEETING_RISK, RESTRICTION_START_TIME, RESTRICTION_END_TIME and RESUMPTION_CONDITIONS.
- Next calculation: Permission and Position-Size Engine.
1.17 Tariff-Delay and Reversal Overlay Engine
- Required inputs: official delay, exemption, rollback or cancellation details, original tariff impact and price confirmation.
- Calculates: removal of the previous negative point and any separate reversal point.
- Produces: TARIFF_REVERSAL_STATUS, REVERSAL_IMPACT, REVERSAL_EXPIRY_TIME and REVERSAL_CONFIRMATION_STATUS.
- Next calculation: Impact Aggregation Engine and Permission Engine.
1.18 Legal and Implementation Overlay Engine
- Required inputs: court challenge, injunction, stay, final cancellation, congressional approval and agency implementation status.
- Calculates: whether an active policy point remains valid, is stayed, is capped at proposal status or becomes a reversal.
- Produces: LEGAL_CHALLENGE_STATUS, IMPLEMENTATION_STATUS and ACTIVE_POLICY_STATUS.
- Next calculation: Event-Duration Engine and Impact Engine.
1.19 Event-Duration Engine
- Required inputs: event type, deadline, effective date, reversal type, contradiction status and legal validity.
- Calculates: temporary headline-overlay expiry and continuing policy-state revalidation.
- Produces: EVENT_EXPIRY_TIME, OVERLAY_EXPIRY_TIME, ACTIVE_POLICY_STATE and NEXT_REVALIDATION_TIME.
- Next calculation: Event-Confidence Engine and Output Packaging Engine.
1.20 Event-Confidence Engine
- Required inputs: source verification, event legal stage, exposure measurability, market confirmation, legal uncertainty and data validity.
- Calculates: INVALID, LOW, MEDIUM or HIGH confidence.
- Produces: TRUMP_EVENT_CONFIDENCE.
- Next calculation: Permission and Position-Size Engine.
1.21 Permission and Position-Size Engine
- Required inputs: company risk, data status, algorithmic-move status, tariff-meeting risk, event restrictions and inherited pauses.
- Calculates: module-specific position-size cap and permitted entry methods.
- Produces: TRUMP_POSITION_SIZE_CAP, NEW_ENTRY_STATUS, OVERNIGHT_PERMISSION, LEVERAGED_OVERNIGHT_PERMISSION, MOMENTUM_ENTRY_PERMISSION, BREAKOUT_PERMISSION and RETEST_PERMISSION.
- Next calculation: Output 1 Packaging Engine and Output 2 handoff.
1.22 Handoff and Double-Counting Engine
- Required inputs: event packet, cross-asset observations, policy category, parent-module status and specialist-module ownership.
- Calculates: destination of every raw and calculated field and whether any information has already been scored.
- Produces: all HANDOFF_STATUS fields and DOUBLE_COUNTING_CONTROL_STATUS.
- Next calculation: Main Headline Risk Module, specialist modules and later Output 2.
1.23 Output 1 Packaging Engine
- Required inputs: all valid calculations, restrictions, confidence, audit information and handoff statuses.
- Calculates: complete Module 4 Output 1.
- Produces: MODULE_4_OUTPUT_1.
- Next calculation: Main Headline Risk Module.
- The module must not send a separate Trump risk score directly to the central Macro Risk Engine after the main Headline Risk Module has processed it.
- All timestamps must be stored in UTC using ISO 8601 format with seconds.
- All trading-session calculations and displayed event times must use the IANA timezone America/New_York.
- All percentages use a numerical scale from 0.00 to 100.00.
- Tariff-rate changes use percentage points, not percentage changes.
- All threshold decisions use unrounded values.
- Prices use the instrument’s native quote currency.
- US stock and ETF prices normally use US dollars.
- Lists must be ordered arrays with no duplicate entity identifiers.
- Missing numeric values must be stored as null, not zero.
- A genuine measured value of zero must remain distinguishable from missing data.
- Source text must be stored exactly as published.
- Translations may be stored separately but may not replace the original text.
- One event calculation must use one consistent market-data provider.
- One company exposure field must use the latest official company disclosure available for that field.
- Data from a newer filing overrides an older filing for the same measurement period or exposure field.
- MODULE_NUMBER — fixed integer value 4; compulsory; critical.
- MODULE_NAME — fixed string TRUMP_POLITICAL_HEADLINES_AND_EXECUTIVE_ACTIONS; compulsory; critical.
- CALCULATION_VERSION — version string controlled by the programmer; compulsory; critical.
- CURRENT_TIMESTAMP — UTC timestamp; compulsory; critical; maximum age 5 seconds when a live calculation begins.
- ORIGINAL_SOURCE_URL — official original URL; compulsory and critical for every event.
- ORIGINAL_POST_ID — compulsory only when the event originates from a social-media post.
- ORIGINAL_DOCUMENT_ID — compulsory only when the event originates from an executive order, proclamation, memorandum, agency rule, Federal Register publication or other official document.
- ORIGINAL_DOCUMENT_URL — official document URL; compulsory for document-based actions.
- SOURCE_ACCOUNT_ID — exact official account identifier; compulsory for social-media events.
- SOURCE_DOMAIN — exact official domain or approved secondary-source domain; compulsory.
- SOURCE_TYPE — permitted values: SOCIAL_MEDIA_POST, SPEECH, INTERVIEW, TRANSCRIPT, WHITE_HOUSE_STATEMENT, WHITE_HOUSE_FACT_SHEET, EXECUTIVE_ORDER, PRESIDENTIAL_MEMORANDUM, PROCLAMATION, FEDERAL_REGISTER_DOCUMENT, AGENCY_ANNOUNCEMENT, PROPOSED_RULE, FINAL_RULE, SECONDARY_REPORT.
- EXACT_STATEMENT — exact original text; compulsory and critical.
- SPEAKER_OR_ISSUING_AUTHORITY — exact person, office or agency; compulsory and critical.
- PUBLICATION_TIMESTAMP — first authenticated public dissemination timestamp; compulsory and critical.
- SIGNING_TIMESTAMP — required when a document was signed.
- EFFECTIVE_TIMESTAMP — required when an action is signed or effective and the legal text supplies an effective time.
- EXPIRY_TIMESTAMP — required when the policy contains a stated expiry.
- LEGAL_TEXT_URL — required when legal text exists.
- LEGAL_TEXT_EXISTS — Boolean; compulsory.
- NAMED_OFFICIAL — named official cited by a secondary source; conditional.
- SECONDARY_SOURCE_URL_LIST — required only when no accessible original official source is available.
- SECONDARY_SOURCE_COUNT — integer; derived from the list.
2.4 Event-Content Inputs
- HEADLINE_CATEGORY — exact category assigned from the permitted category list.
- POLICY_CATEGORY — permitted categories include TARIFFS, TRADE_RESTRICTIONS, CHINA_POLICY, SEMICONDUCTOR_EXPORT_CONTROLS, STEEL, ALUMINIUM, AUTOS, RETAIL_IMPORTS, ENERGY, OIL_GAS, RENEWABLES, ENVIRONMENT, IMMIGRATION_LABOUR, TAX, FISCAL_SPENDING, DEFENCE, INFRASTRUCTURE, PHARMACEUTICAL_PRICING, HEALTHCARE, CRYPTOCURRENCY, BANKING_REGULATION, CONSUMER_FINANCE, MEDIA, TECHNOLOGY, TIKTOK, ARTIFICIAL_INTELLIGENCE, FEDERAL_RESERVE_CRITICISM, SANCTIONS, FOREIGN_POLICY, GENERAL_REGULATION, LEGAL_IMPLEMENTATION and OTHER_DIRECT_POLICY.
- POLICY_INSTRUMENT — permitted values include STATEMENT, THREAT, DEADLINE, STUDY_ORDER, INVESTIGATION, PROPOSED_RULE, FACT_SHEET, EXECUTIVE_ORDER, MEMORANDUM, PROCLAMATION, FINAL_RULE, TARIFF, SANCTION, EXPORT_RESTRICTION, LICENCE_ACTION, CONTRACT_ACTION, SUBSIDY_ACTION, TAX_CREDIT_ACTION, PERMIT_ACTION, PROCUREMENT_ACTION and OTHER_OFFICIAL_ACTION.
- COUNTRIES_MENTIONED — ordered country-code list.
- PRODUCTS_MENTIONED — ordered product or service list.
- SECTORS_MENTIONED — ordered approved-sector list.
- INDUSTRIES_MENTIONED — ordered approved-industry list.
- COMPANIES_MENTIONED — ordered legal-entity or ticker list.
- TARIFF_RATE — percentage; null when no rate is specified.
- PREVIOUS_TARIFF_RATE — percentage; required for a tariff increase, reduction or rollback.
- EFFECTIVE_DATE_STATED — Boolean.
- EXPIRY_DATE_STATED — Boolean.
- DEADLINE_TIMESTAMP — required when a specific threat or commitment includes a deadline.
- PRODUCT_SCOPE — exact product scope.
- COUNTRY_SCOPE — exact country scope.
- POLICY_DIRECTION_INPUT — permitted values BENEFICIAL, HARMFUL, MIXED, UNCLEAR.
- RETALIATORY_ACTION_STATUS — permitted values NONE, THREATENED, PROPOSED, EFFECTIVE, REPLACED_ORIGINAL_RISK.
- AGENCY_IMPLEMENTATION_REQUIRED — Boolean.
- AGENCY_IMPLEMENTATION_STATUS — permitted values NOT_REQUIRED, NOT_STARTED, IN_PROGRESS, FINAL_NOT_EFFECTIVE, EFFECTIVE, STAYED, CANCELLED.
- CONGRESSIONAL_APPROVAL_REQUIRED — Boolean.
- CONGRESSIONAL_APPROVAL_STATUS — permitted values NOT_REQUIRED, NOT_OBTAINED, PENDING, APPROVED, REJECTED.
- LEGAL_CHALLENGE_STATUS — permitted values NONE, FILED_NO_STAY, TEMPORARY_STAY, PRELIMINARY_INJUNCTION, PERMANENT_INJUNCTION, FINAL_CANCELLATION, APPEAL_PENDING.
- SCHEDULED_EVENT_START_TIMESTAMP — official scheduled start.
- SCHEDULED_ANNOUNCEMENT_TIMESTAMP — official scheduled decision or announcement time.
- COMPANY_ID — permanent entity identifier; compulsory for each company record.
- COMPANY_TICKER — current market ticker when listed.
- COMPANY_EXPOSURE_SOURCE_URL — official filing or official company-disclosure URL; compulsory.
- COMPANY_EXPOSURE_SOURCE_DATE — filing or disclosure date; compulsory.
- COMPANY_EXPOSURE_MEASUREMENT_PERIOD — fiscal year, quarter, trailing 12 months or official guidance period.
- COMPANY_TOTAL_REVENUE — reporting-period revenue in the company’s reporting currency.
- COMPANY_EXPECTED_ANNUAL_REVENUE — current annual revenue guidance; use only when officially disclosed.
- COMPANY_PRIOR_YEAR_SEGMENT_REVENUE — required for the defence-contract threshold.
- COMPANY_COUNTRY_REVENUE_PERCENT — affected-country revenue as a percentage of total company revenue.
- COMPANY_MANUFACTURING_CAPACITY_PERCENT — affected-country production capacity as a percentage of total productive capacity.
- COMPANY_SUPPLIER_EXPOSURE_PERCENT — affected supplier exposure using the disclosed denominator.
- COMPANY_CUSTOMER_EXPOSURE_PERCENT — affected customer exposure as a percentage of total revenue when disclosed.
- COMPANY_IMPORTED_INPUT_PERCENT_COGS — imported affected inputs as a percentage of cost of goods sold.
- COMPANY_IMPORTED_FINISHED_GOODS_PERCENT — affected finished-goods imports; denominator must be identified as revenue or cost of goods sold.
- COMPANY_EXPORT_EXPOSURE_PERCENT_REVENUE — affected exported products as a percentage of total revenue.
- COMPANY_FOREIGN_REVENUE_RETALIATION_PERCENT — foreign revenue exposed to retaliation as a percentage of total revenue.
- COMPANY_DOMESTIC_COMPETING_PRODUCTION_PERCENT — domestic production of the tariff-protected competing product as a percentage of revenue or productive capacity.
- COMPANY_GOVERNMENT_REVENUE_PERCENT — affected government contracts as a percentage of total company revenue.
- COMPANY_DEFENCE_CONTRACT_PERCENT_PRIOR_YEAR_SEGMENT_REVENUE — contract value as a percentage of prior-year defence-segment revenue.
- COMPANY_PRODUCT_REVENUE_PERCENT — affected product revenue as a percentage of total company revenue.
- COMPANY_PRODUCT_CAPACITY_PERCENT — affected product capacity as a percentage of total productive capacity.
- COMPANY_REVENUE_BECOMING_UNAVAILABLE_PERCENT — immediately unavailable expected annual revenue as a percentage of official annual guidance; use trailing-12-month revenue only when guidance is unavailable.
- COMPANY_REGULATORY_DEPENDENCY — structured descriptive field.
- COMPANY_SUBSIDY_DEPENDENCY — structured descriptive field.
- COMPANY_TAX_CREDIT_DEPENDENCY — structured descriptive field.
- COMPANY_EXPORT_LICENCE_DEPENDENCY — permitted values NONE, NONCRITICAL, REQUIRED, CANCELLED.
- COMPANY_CRITICAL_PRODUCT_DEPENDENCY — permitted values NONE, NONCRITICAL, PRINCIPAL_PRODUCT.
- COMPANY_CRITICAL_SINGLE_SOURCE_SUPPLIER — Boolean.
- COMPANY_MAJOR_GOVERNMENT_CONTRACT_THREATENED — Boolean.
- COMPANY_ABILITY_TO_RAISE_PRICES — descriptive pass-through field unless an official company disclosure supplies a numerical measurement.
- COMPANY_GROSS_MARGIN_SENSITIVITY — descriptive pass-through field unless officially quantified.
- Different percentages may not be added when their denominators differ.
- The highest applicable exposure channel must be used unless the company officially reports that multiple exposures are non-overlapping and use the same denominator.
- AFFECTED_STOCK_INSTRUMENT_ID — required for each named or externally supplied company record when price confirmation is attempted.
- AFFECTED_SECTOR_INSTRUMENT_ID — required when sector confirmation is attempted.
- AFFECTED_INDUSTRY_INSTRUMENT_ID — optional when an approved industry instrument exists.
- PRE_EVENT_REFERENCE_PRICE — final valid price strictly before EVENT_TIMESTAMP.
- PRICE_2_MINUTES — first valid price at or immediately after 2 minutes following EVENT_TIMESTAMP.
- PRICE_5_MINUTES — first valid price at or immediately after 5 minutes.
- PRICE_15_MINUTES — first valid price at or immediately after 15 minutes.
- PRICE_30_MINUTES — first valid price at or immediately after 30 minutes.
- PRICE_60_MINUTES — first valid price at or immediately after 60 minutes.
- FIRST_15_MINUTE_HIGH — highest valid price during the first 15 minutes following the event.
- FIRST_15_MINUTE_LOW — lowest valid price during the first 15 minutes following the event.
- CURRENT_CHECKPOINT_PRICE — valid price at the checkpoint being recalculated.
- SESSION_VWAP — volume-weighted average price for the applicable session.
- CUMULATIVE_SESSION_VOLUME — cumulative traded volume at the checkpoint.
- HISTORICAL_MEDIAN_CUMULATIVE_VOLUME — median cumulative volume at the same elapsed session time during the preceding 20 comparable trading sessions.
- BITCOIN_PRICE — required for cryptocurrency-policy confirmation.
- BITCOIN_VWAP — required for cryptocurrency-policy confirmation.
- MARKET_DATA_PROVIDER_ID — compulsory and critical.
- All prices used in one reaction calculation must come from the same provider.
- Post-event prices with timestamps before EVENT_TIMESTAMP are invalid.
- PRE_EVENT_REFERENCE_PRICE must have a timestamp strictly before EVENT_TIMESTAMP.
- PRIOR_EQUIVALENT_EVENT_LIST — all equivalent events during the preceding 30 calendar days.
- PRIOR_EVENT_POLICY_SCOPE — country, product, company and policy-instrument scope.
- PRIOR_EVENT_TARIFF_RATE — previous tariff rate where applicable.
- PRIOR_NEGATIVE_TARIFF_IMPACT — previous active tariff point for the same exposure.
- ORIGINAL_TARIFF_PRE_EVENT_PRICE — price immediately before the original tariff announcement.
- ORIGINAL_TARIFF_LOW_BEFORE_REVERSAL — lowest valid price after the original tariff announcement and before the reversal announcement.
- HISTORICAL_VOLUME_SAMPLE — preceding 20 comparable sessions.
- All 20 sessions are required for valid RVOL confirmation.
- Missing historical event records set novelty to UNKNOWN and the novelty adjustment to 0.
- Missing original tariff-price history prevents a reversal impact from increasing above plus 1.
- MARKET_REGIME — supplied by the Market Regime Module; permitted values RISK_ON, RISK_OFF, NEUTRAL or INVALID.
- INHERITED_PAUSE_STATUS — supplied by any earlier or higher-priority module.
- INHERITED_POSITION_SIZE_CAP — supplied for information only; this module may not increase it.
- CURRENT_POSITION_LIST — existing positions passed from the portfolio system.
- UNFILLED_ORDER_LIST — unfilled orders passed only to create a review request.
- EXTERNAL_COMPANY_CANDIDATE_LIST — companies supplied by a future stock or portfolio engine.
- APPROVED_STOCK_UNIVERSE_LIQUIDITY_STATUS — required for the tariff-reversal two-stock test.
- YIELD_REACTION_DATA — pass-through only.
- DXY_REACTION_DATA — pass-through only.
- OIL_REACTION_DATA — pass-through only.
- VOLATILITY_REACTION_DATA — pass-through only.
- EMPLOYMENT_RELEVANCE_DATA — pass-through only for immigration and labour actions.
- The Trump Module assigns 0 additional directional points for yields, DXY, oil, gold, volatility or labour-market reactions.
2.9 Configurable Parameters
- SOURCE_SCAN_INTERVAL_REGULAR_SESSION_SECONDS = 60.
- SOURCE_SCAN_INTERVAL_0700_TO_0930_SECONDS = 300.
- SOURCE_SCAN_INTERVAL_OTHER_MONITORED_PERIODS_SECONDS = 900.
- SOURCE_SCAN_MAX_EXTRA_DELAY_SECONDS = 60.
- OVERNIGHT_REPORT_TIME_ET = 07:30.
- EVENING_SCHEDULE_CHECK_TIME_ET = 15:45.
- OVERNIGHT_POST_CHECK_TIME_ET = 20:00.
- NOVELTY_LOOKBACK_CALENDAR_DAYS = 30.
- TARIFF_ESCALATION_MINIMUM_PERCENTAGE_POINTS = 5.
- DELAY_MINIMUM_CALENDAR_DAYS = 7.
- EXPOSURE_SCORE_1_MINIMUM_PERCENT = 10.
- EXPOSURE_SCORE_2_MINIMUM_PERCENT = 20.
- EXPOSURE_SCORE_3_MINIMUM_PERCENT = 40.
- MAJOR_DEFENCE_CONTRACT_THRESHOLD_PERCENT = 10.
- PRINCIPAL_PRODUCT_THRESHOLD_PERCENT = 40.
- CRITICAL_SUBSIDY_OR_TAX_CREDIT_THRESHOLD_PERCENT = 20.
- CRITICAL_REVENUE_UNAVAILABLE_THRESHOLD_PERCENT = 20.
- ALGO_EXTENDED_THRESHOLD_PERCENT = 3.
- ALGO_SEVERE_THRESHOLD_PERCENT = 5.
- ALGO_MEASUREMENT_WINDOW_MINUTES = 2.
- MINIMUM_WAIT_AFTER_EXTENDED_MOVE_MINUTES = 15.
- MINIMUM_VALID_RETRACEMENT_PERCENT = 25.
- MAXIMUM_VALID_RETRACEMENT_PERCENT = 60.
- PRICE_CONFIRMATION_THRESHOLD_PERCENT = 2.
- RVOL_CONFIRMATION_THRESHOLD = 1.50.
- RVOL_LOOKBACK_SESSIONS = 20.
- TARIFF_MEETING_RESTRICTION_MINUTES = 60.
- POLITICAL_STATEMENT_DURATION_SESSIONS = 1.
- SPECIFIC_THREAT_MAXIMUM_DURATION_SESSIONS = 3.
- OFFICIAL_PROPOSAL_REVALIDATION_SESSIONS = 3.
- SIGNED_ACTION_REVALIDATION_SESSIONS = 5.
- TARIFF_DELAY_REVERSAL_DURATION_SESSIONS = 1.
- TARIFF_PARTIAL_ROLLBACK_DURATION_SESSIONS = 2.
- TARIFF_FULL_CANCELLATION_DURATION_SESSIONS = 3.
- TARIFF_ROLLBACK_MINIMUM_PERCENTAGE_POINTS = 5.
- ORIGINAL_TARIFF_DECLINE_CONFIRMATION_PERCENT = 5.
- MINIMUM_REVERSAL_STOCK_CONFIRMATION_COUNT = 2.
Part 3 — Data definitions and validation
3.1 Monitored Source Universe
- Monitor verified official Trump social-media accounts.
- Monitor White House statements.
- Monitor White House press briefings.
- Monitor White House fact sheets.
- Monitor White House presidential actions.
- Monitor executive orders.
- Monitor presidential memoranda.
- Monitor presidential proclamations.
- Monitor Federal Register documents.
- Monitor USTR announcements.
- Monitor Commerce Department announcements.
- Monitor Bureau of Industry and Security announcements.
- Monitor Treasury Department announcements.
- Monitor EPA announcements.
- Monitor HHS announcements.
- Monitor CMS announcements.
- Monitor FDA announcements.
- Monitor CFPB announcements.
- Monitor Department of Defense announcements.
- Use official White House presidential-action and executive-order records to verify signed actions.
- Use the official Federal Register to verify legal text, publication date and effective date.
3.2 Primary-Source Verification
- An accessible original official source is sufficient by itself.
- The source account or domain must be present in the configured official-source allowlist.
- The exact source URL, post ID or document ID and timestamp must be retained.
- An original verified Trump post is an authenticated statement.
- A White House statement, fact sheet or named Cabinet-level policy announcement is an official administration statement.
- A proposed rule, formal investigation or published official proposal is an official proposal.
- A signed order, memorandum, proclamation or final agency action is a signed action.
- A tariff, sanction, restriction, approval or rule that has taken effect is an effective action.
3.3 Secondary-Source Verification
- Secondary sources may be used only when the original official source is not accessible.
- At least 2 independent approved secondary sources are required.
- At least 1 secondary source must provide a named official, original recording, reproduced original post or identifiable official document.
- Commentary, opinion and anonymous claims do not satisfy verification.
- Unattributed screenshots do not satisfy verification.
- Parody or anonymous social-media accounts do not satisfy verification.
- Reposts without an original link do not satisfy verification.
- A primary official source overrides a conflicting secondary description.
- A secondary report may never upgrade a rumour to a signed or effective action without official evidence.
3.4 Monitoring Schedule
- Monitor continuously from the official Sunday futures open through the official Friday US equity-market close.
- During regular US equity hours, check required sources every 1 minute.
- From 07:00 through 09:30 ET, check every 5 minutes.
- During all other monitored periods, check every 15 minutes.
- When monitoring windows overlap, use the shortest interval.
- At 15:45 ET, check scheduled evening statements, meetings and signing events.
- At 20:00 ET, check for market-relevant posts before the overnight session.
- At 07:30 ET each trading day, produce the complete overnight-event report.
- At the Sunday futures open, run a complete source lookback covering every event published after the previous Friday regular-session close.
- Apply the official US exchange holiday and early-close calendar.
- An early-close session counts as 1 complete trading session for duration calculations.
3.5 Maximum Data Age
- Maximum source-monitoring age equals the active polling interval plus 60 seconds.
- During regular hours, a newly detected source record may be no more than 120 seconds old unless it was missed because of a verified source outage.
- Between 07:00 and 09:30 ET, the permitted age is 360 seconds.
- During other monitored periods, the permitted age is 960 seconds.
- A delayed source record must retain its original publication timestamp.
- A delayed discovery must not be treated as a new publication.
- Each market checkpoint must use a valid price timestamp at or immediately after the checkpoint.
- If no valid trade is available within 60 seconds after a checkpoint, that checkpoint is unavailable.
- Stale market data must not be carried forward.
- Missing prices must not be estimated.
- Company exposure must come from the newest official filing or official company disclosure available for the field.
3.6 Trading-Session Definitions
- Regular-session VWAP begins at 09:30 ET.
- Premarket VWAP begins at 04:00 ET.
- After-hours VWAP begins at 16:00 ET.
- Bitcoin daily VWAP begins at 00:00 UTC.
- For an overnight equity event with no valid trading session, price confirmation remains PENDING until 15 minutes after the next regular-session open.
- No previous-session VWAP may be substituted for the applicable event session.
- A stock halt prevents price confirmation until valid trading resumes.
- A halt does not invalidate the authenticated event.
3.7 Provider Consistency
- The same market-data provider must supply every price, VWAP and volume input within 1 event reaction.
- The provider may not change between the pre-event reference and the 60-minute checkpoint.
- The latest official company filing controls company-exposure data.
- General media descriptions may not replace official company exposure.
- Different providers may not be combined merely to complete a missing field.
- A provider outage sets the affected market-reaction calculation to PENDING or INVALID.
- The authenticated political event may remain valid even when reaction data are unavailable.
3.8 Duplicate Treatment
- Retain 1 canonical event record.
- Mark exact duplicate copies as DUPLICATE_EXCLUDED.
- Excluded duplicate records receive no points.
- Equivalent repeated statements remain linked to the original policy scope but may be classified as REPEATED.
- A change in tariff rate, product coverage, country coverage, deadline or effective date makes the record materially changed rather than an exact duplicate.
- The main Headline Risk Module performs a second cross-module duplication check.
- A duplicate-processing error does not invalidate the canonical event.
3.9 Company-Exposure Validation
- Missing company exposure invalidates only the affected company record unless the entire event depends on that company exposure.
- A named company with missing exposure receives company impact 0.
- A named company with missing exposure receives company confidence INVALID.
- A named company with missing exposure receives company risk NOT_CALCULABLE.
- New entries in that company are PAUSED.
- Valid sector, industry and event-level calculations may continue.
- Different exposure channels with different denominators may not be added.
- Descriptive fields such as pricing power or margin sensitivity contribute 0 unless officially quantified.
- Missing descriptive fields do not create a numerical estimate.
3.10 Critical Event-Level Validation Failures
Return EVENT_DATA_STATUS = INVALID when any of the following applies:
- No original source URL or identifiable official document URL is available.
- The publication timestamp is unavailable.
- Account or document authenticity cannot be confirmed.
- A repost is mistaken for an original statement.
- A general statement is incorrectly represented as a signed action.
- A signed order’s effective date or implementation rule is absent when the missing information prevents determination of when the action applies.
- The exact policy details required to verify a claimed proposal, signed action or effective action are missing.
- The event cannot be linked to a canonical source.
- A post-event price is incorrectly timestamped before the event and no valid replacement exists for the affected reaction calculation.
- A newer official filing exists but an older filing was used for the same company-exposure field.
3.11 Valid, Degraded and Invalid Status
Check the following conditions in order and stop at the first matching condition:
1. EVENT_DATA_STATUS = INVALID when a critical source, authentication, timestamp or legal-stage field fails.
2. EVENT_DATA_STATUS = DEGRADED when the event is verified but a noncritical field or one or more company records are unavailable.
3. EVENT_DATA_STATUS = VALID when all critical event fields and all required calculations are valid.
- COMPANY_DATA_STATUS is calculated separately for every company.
- PARTIAL_OUTPUT_STATUS = PARTIAL when valid event outputs are preserved but one or more company, market-reaction or handoff records are unavailable.
- PARTIAL_OUTPUT_STATUS = COMPLETE when every required record is available.
- PARTIAL_OUTPUT_STATUS = NONE when the event is invalid and no reliable partial calculation remains.
3.12 Invalid-Data Actions
When the event is invalid:
- Set TRUMP_EVENT_IMPACT to 0.
- Set EVENT_DIRECTION to NEUTRAL.
- Set TRUMP_EVENT_CONFIDENCE to INVALID.
- Set TRUMP_CONTRIBUTION_STATUS to LIMITED.
- Pause new entries only in directly affected companies.
- Do not pause the entire trading system unless the main Headline Risk Module declares a market-wide hard warning.
- Do not generate a trade.
- Do not generate an order.
- Preserve unrelated valid handoffs.
- Record every missing or invalid field in MISSING_FIELDS and FAILURE_REASON.
3.13 Preliminary, Proposed, Signed and Effective Updates
- A proposal is not treated as final merely because its publication is official.
- A signed action is not treated as effective unless the legal text or responsible agency confirms effectiveness.
- When a proposal becomes signed, update the existing policy record rather than creating an unrelated event.
- When a signed action becomes effective, update the policy state and recalculate severity and risk.
- Preserve the complete status-change history.
- A legal or policy update may create a new event overlay while remaining linked to the original POLICY_SCOPE_ID.
3.14 Display Rounding
- Price changes display to 2 decimal places.
- Exposure percentages display to 2 decimal places.
- Tariff rates display to 2 decimal places.
- RVOL displays to 2 decimal places.
- Company risk displays as a whole number.
- Position-size caps display as whole percentages.
- Timestamps display to the nearest second.
- All calculations and threshold tests use unrounded values.
Part 4 — Deterministic calculations
4.1 Event Timestamp Calculation
- EVENT_TIMESTAMP = the first authenticated public dissemination timestamp.
- A private signing time does not replace the public dissemination time for price-reaction measurement.
- Store SIGNING_TIMESTAMP, EFFECTIVE_TIMESTAMP and EXPIRY_TIMESTAMP separately.
- If several official sources publish the same action, use the earliest authenticated public timestamp.
- A later news article must not reset EVENT_TIMESTAMP.
4.2 Event Identity Calculation
- EVENT_ID is generated from the original source or document ID, first authenticated publication timestamp, policy instrument, target country or entity, product scope and policy direction.
- POLICY_SCOPE_ID is generated from policy instrument, affected country, affected product, affected industry and affected company.
- Two records are equivalent when policy instrument, target country or entity, product scope and policy direction are unchanged.
- A change in tariff rate, product coverage, country coverage, deadline or effective date is a material change.
- An exact copy is DUPLICATE_EXCLUDED.
- A materially unchanged restatement is eligible for REPEATED classification.
4.3 Source-Verification Calculation
Check the following conditions in order and stop at the first matching condition:
1. SOURCE_VERIFICATION = EFFECTIVE_ACTION when official evidence confirms that the material tariff, sanction, restriction, approval, licence decision, contract action or regulation has taken effect.
2. SOURCE_VERIFICATION = SIGNED_ACTION when a signed implementing order, memorandum, proclamation or final non-effective agency action exists.
3. SOURCE_VERIFICATION = OFFICIAL_PROPOSAL when a proposed rule, formal investigation, Section 232 proceeding, Section 301 proceeding or published formal proposal exists.
4. SOURCE_VERIFICATION = OFFICIAL_STATEMENT when the White House, a fact sheet or a named Cabinet official formally announces administration policy.
5. SOURCE_VERIFICATION = AUTHENTICATED_STATEMENT when an original verified Trump post, recorded interview or official transcript exists.
6. SOURCE_VERIFICATION = UNVERIFIED when none of the preceding conditions pass.
- An authenticated general statement may remain valid with LOW confidence.
- Missing detailed legal terms cause INVALID only when the event is claimed to be a proposal, signed action or effective action and the missing terms prevent verification.
4.4 Event-Type Calculation
Check the following conditions in order and stop at the first matching condition:
1. EVENT_TYPE = TYPE_5_EFFECTIVE_MATERIAL_ACTION when the material action has taken effect.
2. EVENT_TYPE = TYPE_4_SIGNED_ACTION when a signed implementing action or final non-effective agency action exists.
3. EVENT_TYPE = TYPE_3_OFFICIAL_PROPOSAL when a formal proposal, investigation, proposed rule or official implementation plan exists.
4. EVENT_TYPE = TYPE_2_SPECIFIC_THREAT_OR_COMMITMENT when the statement names a country, sector, company, tariff rate, intended action or deadline, or instructs an agency only to study or review an action.
5. EVENT_TYPE = TYPE_1_POLITICAL_STATEMENT when the statement expresses an opinion, criticism or policy preference without a specific operational instruction.
6. EVENT_TYPE = TYPE_0_RUMOUR when the report is unverified.
- A signed document that only orders a study remains Type 2.
- A signed document that implements or formally authorises a policy action is Type 4.
- When congressional approval is legally required but has not been obtained, EVENT_TYPE may not exceed Type 3.
- A signed instruction requiring further agency rulemaking remains SIGNED_NOT_EFFECTIVE until the required agency action becomes effective.
4.5 Base Severity
- Type 0 base severity = 0.
- Type 1 base severity = 1.
- Type 2 base severity = 2.
- Type 3 base severity = 3.
- Type 4 base severity = 4.
- Type 5 base severity = 5.
4.6 Novelty Calculation
- FIRST_MENTION applies when the country, company, sector or policy instrument is new and no equivalent statement occurred during the preceding 30 calendar days.
- ESCALATION applies when the policy becomes more restrictive, the tariff increases by at least 5 percentage points, additional products or countries are added, or the effective date is brought forward.
- REPEATED applies when the same policy or threat is repeated without a measurable change.
- DELAY applies when an effective date is postponed by at least 7 calendar days.
- EXEMPTION applies when a company, product or country receives a formal exemption.
- REVERSAL applies when a previous action is formally cancelled or withdrawn.
- CANCELLATION is treated as REVERSAL.
- Novelty adjustments apply only to verified Type 1 through Type 5 events.
- Type 0 and UNVERIFIED events always receive NOVELTY_ADJUSTMENT = 0.
- FIRST_MENTION receives NOVELTY_ADJUSTMENT = plus 1.
- ESCALATION receives NOVELTY_ADJUSTMENT = plus 1.
- REPEATED receives NOVELTY_ADJUSTMENT = minus 1.
- DELAY, EXEMPTION and REVERSAL receive NOVELTY_ADJUSTMENT = 0 and are processed through their dedicated overlay.
- Apply no more than 1 numerical novelty adjustment to 1 event.
- When FIRST_MENTION and ESCALATION both apply, record both flags but use plus 1 once.
- A measurable escalation cannot also be classified as a simple repetition.
- Media coverage volume does not affect novelty or severity.
4.7 Event Severity
- For verified Type 1 through Type 5 events, TRUMP_EVENT_SEVERITY = BASE_SEVERITY plus NOVELTY_ADJUSTMENT.
- Cap TRUMP_EVENT_SEVERITY at a minimum of 0 and a maximum of 5.
- For Type 0 or UNVERIFIED events, TRUMP_EVENT_SEVERITY = 0 regardless of novelty.
- Severity measures legal and operational seriousness.
- Severity does not measure bullish or bearish direction.
4.8 Exposure-Channel Calculation
- Calculate every exposure channel separately.
- Do not add percentages using different denominators.
- When 2 exposure channels are officially confirmed as non-overlapping and use the same denominator, they may be added.
- Otherwise, use the highest applicable exposure channel for the exposure score.
- Country revenue exposure uses total company revenue as the denominator.
- Imported-input exposure uses cost of goods sold.
- Export exposure uses total company revenue.
- Government-contract exposure uses total company revenue unless the defence-contract rule specifically requires prior-year defence-segment revenue.
- Manufacturing exposure uses total productive capacity.
- Product exposure uses total company revenue or productive capacity, with the denominator recorded.
- Immediately unavailable revenue uses official annual guidance where available; otherwise use trailing-12-month revenue.
4.9 Critical-Dependency Conditions
- A critical single-source supplier exists when the company discloses a sole or single-qualified supplier and no qualified substitute.
- A required export licence exists when the licence is legally necessary for the affected product or destination.
- A principal product exists when the affected product represents at least 40% of company revenue or productive capacity.
- A major government contract exists when the contract represents at least 10% of prior-year relevant-segment revenue.
- A critical subsidy or tax credit exists when its removal directly affects at least 20% of expected revenue, productive capacity or officially disclosed project economics.
- Do not classify a dependency as critical without an official company or government source.
4.10 Company Exposure Score
Check the following conditions in order and stop at the first matching condition:
1. COMPANY_EXPOSURE_SCORE = 3 when any valid exposure is at least 40%, a critical single-source supplier is affected, a required export licence is threatened, a major government contract is threatened, or a company-specific restriction affects the principal product.
2. COMPANY_EXPOSURE_SCORE = 2 when the highest valid exposure is at least 20% and below 40%.
3. COMPANY_EXPOSURE_SCORE = 1 when the highest valid exposure is at least 10% and below 20%.
4. COMPANY_EXPOSURE_SCORE = 0 when every valid exposure is below 10% and no critical dependency is affected.
- Missing company exposure does not produce score 0.
- Missing company exposure produces COMPANY_EXPOSURE_SCORE = NOT_CALCULABLE.
4.11 Company Trump Risk
- COMPANY_TRUMP_RISK = TRUMP_EVENT_SEVERITY multiplied by COMPANY_EXPOSURE_SCORE.
- Permitted numerical range is 0 through 15.
- Company risk is direction-neutral.
- A beneficial event can still create elevated event risk because implementation, volatility or reversal risk remains.
- Apply the critical override after the normal multiplication.
- COMPANY_RISK_CLASS is always derived from the final numerical risk.
4.12 Critical Risk Override
Set COMPANY_TRUMP_RISK = 15 when any of the following applies:
- The company is directly sanctioned.
- Its principal product is prohibited.
- A critical required export licence is cancelled or withdrawn.
- At least 20% of expected annual revenue becomes immediately unavailable.
- A proposed or threatened critical licence restriction does not automatically set risk to 15.
- A proposed restriction receives company impact minus 2 when applicable, but numerical risk continues through the normal severity and exposure calculation.
- Only effective cancellation, withdrawal or prohibition triggers the export-licence risk override.
4.13 Price-Change Calculation
- PRICE_CHANGE_2_MINUTES_PERCENT = PRICE_2_MINUTES divided by PRE_EVENT_REFERENCE_PRICE, minus 1, multiplied by 100.
- Calculate the same percentage at 5, 15, 30 and 60 minutes.
- Calculate stock, sector and approved industry instruments separately.
- A missing checkpoint does not invalidate earlier valid checkpoints.
- A checkpoint with a pre-event timestamp is invalid.
4.14 RVOL Calculation
- RVOL_VALUE = CUMULATIVE_SESSION_VOLUME divided by HISTORICAL_MEDIAN_CUMULATIVE_VOLUME.
- The historical denominator is the median cumulative volume at the same elapsed session time during the preceding 20 comparable sessions.
- All 20 sessions must be valid.
- RVOL is invalid when fewer than 20 comparable sessions are available.
- RVOL thresholds use unrounded values.
4.15 VWAP Position
- VWAP_STATUS = ABOVE when the instrument price is strictly above the applicable session VWAP.
- VWAP_STATUS = BELOW when the instrument price is strictly below the applicable session VWAP.
- VWAP_STATUS = AT_VWAP when the unrounded instrument price equals VWAP.
- AT_VWAP does not satisfy an above-VWAP or below-VWAP confirmation condition.
4.16 Positive Price Confirmation
Positive confirmation requires all of the following:
- The affected stock or sector is at least 2% above the pre-event reference price.
- The affected stock or sector is above the applicable VWAP.
- RVOL is at least 1.50.
- When a rule requires both stock and sector confirmation, both instruments must pass independently.
4.17 Negative Price Confirmation
Negative confirmation requires all of the following:
- The affected stock or sector is at least 2% below the pre-event reference price.
- The affected stock or sector is below the applicable VWAP.
- RVOL is at least 1.50.
- When a rule requires both stock and sector confirmation, both instruments must pass independently.
4.18 Price-Confirmation Timing
- The 2-minute price is used for algorithmic-move detection.
- The 5-minute price is stored for audit and monitoring.
- The first eligible directional confirmation decision occurs at 15 minutes.
- Recalculate confirmation at 30 minutes and 60 minutes.
- Price confirmation raises or lowers confidence.
- Price confirmation does not add another event point.
- A category-specific rule that explicitly requires confirmation remains provisional until the required confirmation passes.
4.19 Price-Confirmation Status
Check the following conditions in order and stop at the first matching condition:
1. PRICE_REACTION_CONFIRMATION = PENDING when no valid trading session or eligible checkpoint exists.
2. PRICE_REACTION_CONFIRMATION = MIXED when stock and required sector confirmation disagree.
3. PRICE_REACTION_CONFIRMATION = POSITIVE_CONFIRMED when all positive conditions pass.
4. PRICE_REACTION_CONFIRMATION = NEGATIVE_CONFIRMED when all negative conditions pass.
5. PRICE_REACTION_CONFIRMATION = NEUTRAL when the unrounded price change is greater than minus 2% and less than plus 2%.
6. PRICE_REACTION_CONFIRMATION = UNCONFIRMED when the price reaches or exceeds the 2% directional threshold but VWAP or RVOL fails.
- PRICE_REACTION_CONFLICT = TRUE when price confirmation opposes the calculated event direction or when stock and sector directions conflict.
4.20 Algorithmic Move
Calculate the absolute 2-minute percentage move for every affected stock and sector instrument.
Check the following conditions in order and stop at the first matching condition:
1. ALGO_MOVE_STATUS = SEVERE when any required instrument moves by at least 5% in absolute terms within 2 minutes.
2. ALGO_MOVE_STATUS = EXTENDED when any required instrument moves by at least 3% but less than 5% in absolute terms within 2 minutes.
3. ALGO_MOVE_STATUS = NOT_EXTENDED when every valid required instrument moves by less than 3%.
4. ALGO_MOVE_STATUS = PENDING when required 2-minute prices are unavailable.
- When stock and sector statuses differ, use the more restrictive status.
- SEVERE and EXTENDED both require a minimum 15-minute wait because no longer source-based waiting period was supplied.
4.21 Initial-Move and Retracement Calculation
For a bullish initial move:
- INITIAL_MOVE_AMOUNT = FIRST_15_MINUTE_HIGH minus PRE_EVENT_REFERENCE_PRICE.
- RETRACEMENT_AMOUNT = FIRST_15_MINUTE_HIGH minus CURRENT_CHECKPOINT_PRICE.
- RETRACEMENT_PERCENT = RETRACEMENT_AMOUNT divided by INITIAL_MOVE_AMOUNT, multiplied by 100.
For a bearish initial move:
- INITIAL_MOVE_AMOUNT = PRE_EVENT_REFERENCE_PRICE minus FIRST_15_MINUTE_LOW.
- RETRACEMENT_AMOUNT = CURRENT_CHECKPOINT_PRICE minus FIRST_15_MINUTE_LOW.
- RETRACEMENT_PERCENT = RETRACEMENT_AMOUNT divided by INITIAL_MOVE_AMOUNT, multiplied by 100.
- Do not calculate a bullish retracement when the initial bullish move is 0 or negative.
- Do not calculate a bearish retracement when the initial bearish move is 0 or negative.
4.22 Retracement Classification
Check the following conditions in order and stop at the first matching condition:
1. HEADLINE_MOMENTUM_STATUS = FAILED_OR_UNCONFIRMED when RETRACEMENT_PERCENT is greater than 60%.
2. HEADLINE_MOMENTUM_STATUS = RETRACEMENT_VALID when RETRACEMENT_PERCENT is at least 25% and no more than 60%, and price remains on the correct side of VWAP.
3. HEADLINE_MOMENTUM_STATUS = RETRACEMENT_INSUFFICIENT when RETRACEMENT_PERCENT is below 25%.
4. HEADLINE_MOMENTUM_STATUS = PENDING when the required high, low, price or VWAP is unavailable.
- For a bearish event, the bounce must fail and price must remain below VWAP.
- The Stock Setup Engine decides whether an actual continuation or reversal setup exists.
Part 5 — Descriptive bands
5.1 Event Severity Bands
- Severity 0 — no verified actionable event.
- Severity 1 — authenticated general political statement.
- Severity 2 — specific threat, commitment, deadline or study instruction.
- Severity 3 — official proposal, investigation or formal implementation plan.
- Severity 4 — signed implementing action or final non-effective agency action.
- Severity 5 — effective material action.
- A novelty adjustment may move the final severity within the range 0 through 5.
5.2 Trump Event Impact Scale
- Plus 2 — strong direct confirmed benefit.
- Plus 1 — moderate direct confirmed benefit.
- 0 — neutral, indirect, unverified, unquantified or mixed.
- Minus 1 — moderate direct confirmed harm.
- Minus 2 — strong direct confirmed harm.
- These are intermediate impact points.
- They do not create a final sector, industry or stock selection.
5.3 Company Exposure Bands
- Exposure score 0 — every valid exposure is below 10% and no critical dependency is affected.
- Exposure score 1 — highest valid exposure is at least 10% and below 20%.
- Exposure score 2 — highest valid exposure is at least 20% and below 40%.
- Exposure score 3 — exposure is at least 40% or a defined critical dependency is affected.
5.4 Company Risk Bands
- Risk 0 — no direct calculated event risk.
- Risk 1 through 2 — LOW.
- Risk 3 through 5 — MODERATE.
- Risk 6 through 9 — HIGH.
- Risk 10 through 15 — EXTREME.
- NOT_CALCULABLE is not equivalent to risk 0.
5.5 Data Bands
- VALID — all critical event fields and required calculations are valid.
- DEGRADED — the event is verified but one or more noncritical or company-level records are incomplete.
- INVALID — a critical source, timestamp, authentication or legal-stage field failed.
5.6 Confidence Bands
- HIGH — signed or effective action, measurable direct exposure and confirming price.
- MEDIUM — official proposal with measurable exposure and no opposing confirmed price reaction; or signed/effective action with neutral, unavailable or unconfirmed price reaction; or authenticated specific threat with measurable exposure and confirming price.
- LOW — other verified statements, threats or incomplete-exposure events.
- INVALID — source, authenticity, policy details or critical data cannot be validated.
5.7 Permission Bands
- ALLOWED — the module adds no restriction to the action.
- RESTRICTED — the action may be reviewed but must obey an explicit reduced-size, overnight or entry-method restriction.
- NO — the specific action is prohibited by this module.
- PAUSED — no new entry may be approved until stated resumption conditions pass.
- A permission of ALLOWED never cancels another module’s restriction.
Part 6 — Helper conditions
6.1 VERIFIED_EVENT
VERIFIED_EVENT is TRUE when:
- SOURCE_VERIFICATION is not UNVERIFIED.
- EVENT_DATA_STATUS is not INVALID.
6.2 MEASURABLE_DIRECT_EXPOSURE
MEASURABLE_DIRECT_EXPOSURE is TRUE when:
- At least 1 official company, industry or sector exposure field has a defined denominator.
- The relevant exposure is numerical.
- The field is not stale.
- The field is not inferred from general media.
6.3 CRITICAL_DEPENDENCY_AFFECTED
CRITICAL_DEPENDENCY_AFFECTED is TRUE when any of the following applies:
- Critical single-source supplier affected.
- Required export licence threatened or cancelled.
- Major government contract threatened or cancelled.
- Principal product directly restricted.
- Critical subsidy or tax credit directly removed.
6.4 EQUIVALENT_EVENT
EQUIVALENT_EVENT is TRUE when:
- Policy instrument is unchanged.
- Target country or entity is unchanged.
- Product scope is unchanged.
- Policy direction is unchanged.
- Tariff rate, deadline and effective date are not materially changed.
6.5 ESCALATION_EVENT
ESCALATION_EVENT is TRUE when any of the following applies:
- Tariff rate rises by at least 5 percentage points.
- Additional products are included.
- Additional countries are included.
- A restriction becomes legally or operationally more restrictive.
- The effective date is brought forward.
6.6 VALID_TARIFF_EVENT
VALID_TARIFF_EVENT is TRUE when:
- The event is a specific official proposal, signed action or effective action.
- At least 1 product, country or tariff rate is specified.
- The source is verified.
- A scheduled meeting by itself does not satisfy this condition.
6.7 DOMESTIC_TARIFF_BENEFICIARY
DOMESTIC_TARIFF_BENEFICIARY is TRUE only when:
- The tariff directly covers competing imported products.
- The company produces the affected competing product domestically.
- Domestic competing production represents at least 10% of company revenue or productive capacity.
- Tariffed imported inputs are below 10% of cost of goods sold.
- Retaliatory foreign-revenue exposure is below 10%.
- Every condition must pass.
6.8 POSITIVE_PRICE_CONFIRMED
POSITIVE_PRICE_CONFIRMED is TRUE when:
- Price change is at least plus 2%.
- Price is above the applicable VWAP.
- RVOL is at least 1.50.
- Every instrument required by the category-specific rule passes.
6.9 NEGATIVE_PRICE_CONFIRMED
NEGATIVE_PRICE_CONFIRMED is TRUE when:
- Price change is no more than minus 2%.
- Price is below the applicable VWAP.
- RVOL is at least 1.50.
- Every instrument required by the category-specific rule passes.
6.10 TARIFF_MEETING_ACTIVE
TARIFF_MEETING_ACTIVE is TRUE when:
- A formal negotiation or decision event is officially scheduled.
- The event concerns an active tariff or trade restriction.
- The affected company has exposure score 2 or 3.
- The current time is inside the defined restriction window or the official outcome is still unresolved.
6.11 CONFIRMED_TARIFF_DELAY
CONFIRMED_TARIFF_DELAY is TRUE when:
- The delay is officially announced.
- The effective date is delayed by at least 7 calendar days.
6.12 CONFIRMED_TARIFF_ROLLBACK
CONFIRMED_TARIFF_ROLLBACK is TRUE when any of the following applies:
- The tariff is reduced by at least 5 percentage points.
- A product or country is formally exempted.
- The tariff is formally cancelled.
- The source is official.
6.13 PARTIAL_TARIFF_ROLLBACK
PARTIAL_TARIFF_ROLLBACK is TRUE when:
- The tariff is reduced by at least 5 percentage points but remains in force.
- Or only part of the product or country scope is exempted.
6.14 FULL_TARIFF_CANCELLATION
FULL_TARIFF_CANCELLATION is TRUE when:
- The tariff is removed for the complete affected scope.
6.15 CAN_RESUME_AFTER_TARIFF_MEETING
CAN_RESUME_AFTER_TARIFF_MEETING is TRUE only when:
- An official outcome is published.
- The event has been processed.
- At least 15 minutes of valid market data are available.
- No inherited or separate module pause remains active.
6.16 INHERITED_PAUSE_ACTIVE
INHERITED_PAUSE_ACTIVE is TRUE when:
- Any connected higher-priority module supplies an active pause.
- This module may extend the pause.
- This module may not cancel or shorten it.
Part 7 — Regime or decision order
7.1 Source Verification Order
Check the following conditions in order and stop at the first matching condition:
1. Effective action.
2. Signed action.
3. Official proposal.
4. Official administration statement.
5. Authenticated statement.
6. Unverified.
7.2 Event-Type Order
Check the following conditions in order and stop at the first matching condition:
1. Effective material action.
2. Signed implementing action.
3. Official proposal or investigation.
4. Specific threat, commitment, deadline or study instruction.
5. General political statement.
6. Rumour.
7.3 Novelty Order
Check the following conditions in order and stop at the first matching primary status:
1. Reversal or cancellation.
2. Formal exemption.
3. Delay of at least 7 days.
4. Escalation.
5. First mention.
6. Repetition.
7. Unchanged or not applicable.
- Record additional compatible novelty flags in NOVELTY_FLAG_LIST.
- Apply no more than 1 numerical novelty adjustment.
7.4 Impact-Rule Priority
Check the following conditions in order and stop at the first matching condition:
1. Data-invalid neutralisation.
2. Legal stay, injunction or final cancellation.
3. Critical company override.
4. Category-specific impact rule.
5. Generic direct-exposure impact rule.
6. Neutral impact of 0.
- Category-specific rules override the generic framework.
- A category-specific maximum may not be exceeded by the generic rule.
7.5 Confidence Order
Check the following conditions in order and stop at the first matching condition:
1. INVALID when a critical verification or data failure exists.
2. HIGH when a signed or effective action has measurable direct exposure and confirming price.
3. MEDIUM when an official proposal has measurable direct exposure and no opposing confirmed price reaction.
4. MEDIUM when a signed or effective action has measurable exposure but neutral, unavailable or unconfirmed price reaction.
5. MEDIUM when an authenticated specific threat has measurable exposure and confirming price.
6. LOW for every other verified statement, threat or incomplete-exposure event.
- An opposing confirmed reaction prevents HIGH confidence.
- Legal uncertainty lowers confidence by 1 level.
- HIGH becomes MEDIUM.
- MEDIUM becomes LOW.
- LOW remains LOW.
- INVALID cannot be raised by legal-status treatment.
7.6 Permission Priority
Check the following conditions in order and stop at the first matching condition for each affected company:
1. Inherited market-wide hard pause.
2. Company-level invalid-data pause.
3. Extreme company risk.
4. Active legal prohibition or direct sanction.
5. Severe or extended algorithmic move.
6. Active tariff-meeting restriction.
7. High company risk.
8. Moderate company risk.
9. Low or 0 company risk.
- The most restrictive active condition always wins.
- A specialist module may impose an additional pause but may not cancel an existing pause.
Part 8 — Short-term, event or market overlays
8.1 Algorithmic-Move Overlay
- Activation: stock or sector absolute move reaches at least 3% within 2 minutes.
- EXTENDED activation: move is at least 3% and below 5%.
- SEVERE activation: move is at least 5%.
- Base event severity does not change.
- Event impact point does not change.
- Confidence may remain PENDING until a later checkpoint.
- New market-order entry is prohibited.
- Chasing the initial move is prohibited.
- Earliest review time is 15 minutes after EVENT_TIMESTAMP.
- A pullback or retest is required.
- RVOL must be at least 1.50.
- Price must remain on the event-appropriate side of VWAP.
- Deactivation occurs when the 15-minute wait has ended and all required retest conditions have been evaluated.
- Deactivation does not mean trade approval.
- The Stock Setup Engine owns the actual trade setup.
8.2 Pullback Overlay
- Activation: ALGO_MOVE_STATUS is EXTENDED or SEVERE.
- Valid bullish pullback: retracement is at least 25% and no more than 60%, with price above VWAP.
- Valid bearish bounce: retracement is at least 25% and no more than 60%, followed by price remaining below VWAP.
- Retracement above 60% sets momentum status to FAILED_OR_UNCONFIRMED.
- Retracement below 25% remains insufficient.
- No final entry is generated.
8.3 Tariff-Meeting Overlay
- Activation begins 60 minutes before the officially scheduled announcement or decision time.
- When no decision time is stated, use the official meeting start time.
- Apply only when the meeting concerns an active tariff or restriction and the affected company has exposure score 2 or 3.
- Maximum module overnight position-size cap becomes 75%.
- Leveraged overnight permission becomes NO.
- New entries are prohibited during the final 60 minutes before the event.
- The restriction applies to official China negotiations.
- The restriction applies to official EU negotiations.
- The restriction applies to official Mexico or Canada negotiations.
- The restriction applies to Section 232 and Section 301 decision deadlines.
- The restriction applies to official USTR or Treasury press conferences concerning the active restriction.
- Do not apply it automatically to an entire G7 or G20 summit without a scheduled trade announcement.
- If no official result is published by the regular-session close, retain the overnight restriction.
- End the restriction only when an official result is published, processed, 15 minutes of valid price data are available and no other pause remains.
8.4 Tariff Delay and Reversal Overlay
- A confirmed delay requires an official announcement and a delay of at least 7 calendar days.
- A confirmed rollback requires a reduction of at least 5 percentage points, a formal product or country exemption, or formal cancellation.
- First remove the previous negative tariff impact and return the affected exposure to 0.
- Then calculate any separate reversal impact.
- Do not add a positive reversal point to the existing negative point.
- Initial reversal impact is plus 1.
- Maximum reversal impact is plus 2 only when every confirmation condition passes.
- The original tariff must have caused a decline of at least 5%.
- Measure that decline from the final valid pre-original-tariff price to the lowest price before the reversal announcement.
- The sector ETF must reclaim VWAP.
- At least 2 eligible affected liquid stocks must reclaim VWAP.
- RVOL must be at least 1.50.
- The official rollback must not have been contradicted.
- If liquidity eligibility is unavailable, the reversal impact cannot exceed plus 1.
- An official delay remains active for a maximum of 1 trading session.
- A partial rollback remains active for a maximum of 2 trading sessions.
- A complete cancellation remains active for a maximum of 3 trading sessions.
- Expire a company reversal point when that company falls below VWAP.
- Expire a sector reversal point when the sector instrument falls below VWAP.
- Expire the reversal point when the announcement is contradicted.
- Expire the reversal point when retaliatory action replaces the original risk.
- Do not assume that an affected stock will recover a fixed percentage of its previous decline.
8.5 Scheduled Non-Tariff Event Overlay
- At 07:30 ET, check the White House briefing schedule, presidential remarks, Cabinet meetings, signing events, foreign-leader visits, USTR meetings, Treasury press conferences, Commerce announcements and relevant Federal Reserve Chair or Treasury Secretary appearances.
- A scheduled event alone receives no directional point.
- SCHEDULE_RISK_STATUS = WATCH_ONLY when the stated topic is market relevant and a specific affected sector or policy decision is expected.
- A non-tariff schedule entry does not automatically pause entries.
- A separate event-calendar or hard-warning rule may impose a pause.
- Pass the schedule record to the main Headline Risk Module.
8.6 Legal and Congressional Overlay
- A filed legal challenge without an injunction does not remove the active point.
- A temporary stay or injunction that prevents implementation sets IMPLEMENTATION_STATUS = STAYED.
- A stayed action loses its active directional policy point while the stay remains effective.
- A final court cancellation or final government withdrawal is processed as REVERSAL.
- When congressional approval is legally required but has not been obtained, the event may not exceed proposal status.
- A signed action requiring further agency rulemaking remains non-effective until agency implementation takes effect.
- Legal uncertainty lowers confidence by 1 level.
8.7 Temporary Headline Overlay and Continuing Policy State
- A temporary political-statement overlay expires after 1 trading session.
- A company callout without official action expires after 1 trading session.
- A specific threat remains active until its deadline or a maximum of 3 trading sessions, whichever occurs first.
- When the deadline remains active after 3 sessions, revalidate the event instead of silently deleting it.
- An official proposal is revalidated after 3 trading sessions.
- A signed action is revalidated after 5 trading sessions or immediately when it becomes effective.
- An effective action remains in ACTIVE_POLICY_STATE while legally effective.
- Revalidate every active policy state at 07:30 ET each trading day.
- The original headline does not receive another novelty point or another headline point each day.
- Tariff-reversal durations override the general event-duration rules.
8.8 Market-Regime Overlay
- The Trump Module does not determine whether the whole market is risk-on.
- If the Market Regime Module reports RISK_ON, this module may still reduce or block risk in directly affected companies.
- This module may not increase normal position size because the market is risk-on.
- If the market is not risk-on, a positive Trump event does not independently change the market regime to risk-on.
- Market-regime interpretation remains owned by the Market Regime Module.
Part 9 — Score, impact or outcome calculation
9.1 Generic Direct-Exposure Framework
Use this framework only when no more specific category rule exists.
- Type 0 rumour impact = 0.
- Type 1 general statement impact = 0.
- Type 2 specific threat or commitment impact = 0 unless a specific company-callout rule applies.
- Type 3, Type 4 or Type 5 direct beneficial exposure below 10% = 0.
- Type 3, Type 4 or Type 5 direct beneficial exposure from 10% to below 20% = plus 1.
- Type 3, Type 4 or Type 5 direct beneficial exposure of at least 20% or a critical direct benefit = plus 2.
- Type 3, Type 4 or Type 5 direct harmful exposure below 10% = 0.
- Type 3, Type 4 or Type 5 direct harmful exposure from 10% to below 20% = minus 1.
- Type 3, Type 4 or Type 5 direct harmful exposure of at least 20% or a critical direct restriction = minus 2.
- Apply this framework to otherwise undefined tax, fiscal-spending, infrastructure, immigration, healthcare, sanctions, foreign-policy, environmental and general-regulatory actions.
- Do not assign a broad sector point when measurable direct exposure is unavailable.
9.2 Event-Level Impact Aggregation
- Do not add company impacts together.
- When all valid nonzero entity impacts are positive, EVENT_DIRECTION = BULLISH.
- When all valid nonzero entity impacts are negative, EVENT_DIRECTION = BEARISH.
- When valid positive and negative impacts coexist, EVENT_DIRECTION = MIXED.
- When every impact is 0 or unavailable, EVENT_DIRECTION = NEUTRAL.
- For a purely positive event, TRUMP_EVENT_IMPACT equals the highest positive entity impact.
- For a purely negative event, TRUMP_EVENT_IMPACT equals the lowest negative entity impact.
- For a mixed event, TRUMP_EVENT_IMPACT = 0.
- A mixed event preserves every separate company, industry and sector record.
9.3 Sector and Industry Aggregation
- Assign 1 impact per unique policy scope and affected sector or industry.
- Do not increase a sector point merely because several companies in that sector receive the same impact.
- When 1 sector contains confirmed positive and negative direct effects from the same event, set sector direction to MIXED and sector impact to 0.
- Preserve separate industry and company impacts.
- Use the approved project sector and industry taxonomy.
- The Trump Module supplies intermediate impacts only.
- It does not produce the final preferred or avoided sector list.
9.4 Tariff-Status Calculation
Permitted TARIFF_STATUS values:
- NOT_APPLICABLE.
- RUMOUR.
- STATEMENT.
- THREAT.
- INVESTIGATION.
- OFFICIAL_PROPOSAL.
- SIGNED_NOT_EFFECTIVE.
- EFFECTIVE.
- DELAYED.
- EXEMPTED.
- PARTIALLY_ROLLED_BACK.
- FULLY_CANCELLED.
- A specific Trump threat containing a tariff rate is Type 2 and TARIFF_STATUS = THREAT.
- A threat is not an official tariff action.
- A threat receives no general tariff-direction point unless a specific company-callout rule applies.
- SECTION_232_STATUS and SECTION_301_STATUS use the same permitted status list.
9.5 General Tariff Impact
For each company, calculate separately:
- Imported-input exposure.
- Imported finished-goods exposure.
- Foreign revenue exposed to retaliation.
- Domestic competing-production exposure.
Assign direct harmful impact:
- Highest valid direct cost or revenue exposure below 10% = 0.
- Highest valid direct cost or revenue exposure from 10% to below 20% = minus 1.
- Highest valid direct cost or revenue exposure of at least 20% = minus 2.
Assign domestic-beneficiary impact:
- Plus 1 only when every DOMESTIC_TARIFF_BENEFICIARY condition passes.
- Maximum general domestic-beneficiary impact is plus 1.
- Do not classify every domestic manufacturer as a beneficiary.
- Company headquarters are not an exposure measure.
9.6 Steel and Aluminium
Domestic primary producers:
- Confirmed tariff proposal on competing imports = plus 1.
- Effective tariff of at least 10% on competing imports = plus 1.
- Maximum impact = plus 1.
Steel and aluminium users:
- Tariffed metal cost exposure below 10% = 0.
- Exposure from 10% to below 20% = minus 1.
- Exposure of at least 20% = minus 2.
- Do not assign the entire industrial sector a positive point.
9.7 Automobile Manufacturers
Calculate separately:
- Imported finished-vehicle exposure.
- Imported component exposure.
- Domestic production exposure.
- Foreign revenue exposed to retaliation.
Use the highest harmful exposure channel:
- Below 10% = 0.
- At least 10% and below 20% = minus 1.
- At least 20% = minus 2.
- Do not add exposure percentages with different denominators.
- Do not assume that a US-headquartered manufacturer benefits.
9.8 Retail and Apparel
Calculate:
- China sourcing exposure.
- Other tariffed-country sourcing exposure.
- Officially quantified pricing power when available.
- Officially quantified gross-margin sensitivity when available.
Assign:
- Tariffed sourcing below 10% = 0.
- Tariffed sourcing from 10% to below 20% = minus 1.
- Tariffed sourcing of at least 20% = minus 2.
- Descriptive pricing power or margin sensitivity contributes 0 unless officially quantified.
- Company headquarters may not substitute for sourcing data.
9.9 Semiconductors and Export Controls
Assign:
- Affected China revenue below 10% = 0.
- Affected China revenue from 10% to below 20% = minus 1.
- Affected China revenue of at least 20% = minus 2.
- An official proposal restricting a critical required export licence gives company impact minus 2.
- A threat or announced licence review uses normal severity multiplied by exposure for company risk.
- Effective cancellation, withdrawal or prohibition of a required critical licence sets company risk to 15.
- Do not award positive points to domestic semiconductor companies unless a signed procurement, subsidy or contract directly benefits them.
- Pass confirmed export-control actions to the main Headline Risk Module.
9.10 Solar and Renewable Supply Chains
Assign negative points only when an official action affects imported panels, cells, wafers, inverters, batteries, critical minerals, tax credits, subsidies or permitting.
- Affected cost or revenue exposure below 10% = 0.
- Exposure from 10% to below 20% = minus 1.
- Exposure of at least 20% = minus 2.
- General fossil-fuel rhetoric gives renewable-sector impact 0.
- General criticism of renewable energy gives renewable impact 0.
9.11 Energy Policy
- General energy-production rhetoric gives oil-and-gas impact 0.
- Signed drilling, leasing or permitting action gives directly affected oil-and-gas producers plus 1.
- Signed drilling, leasing or permitting action gives directly affected oil-service companies plus 1.
- LNG terminal approval gives the directly affected project or company plus 1.
- Pipeline approval gives the directly affected pipeline company plus 1.
- SPR release or purchase receives impact 0 in this module and is passed to the Oil and Energy Complex Module.
- Signed action reducing a renewable subsidy, tax credit or permit uses the generic exposure framework and may produce minus 1 or minus 2.
- Coal or EPA political statement gives impact 0.
- Official coal or EPA proposal with a direct measurable benefit gives plus 1.
- Effective coal or EPA rule with a measurable operating benefit gives plus 1.
- Maximum positive energy-policy impact is plus 1.
- A company-specific critical harmful action may still produce minus 2.
9.12 Defence Policy
- General NATO spending demand gives defence impact 0.
- Confirmed allied procurement increase gives a direct beneficiary plus 1.
- Confirmed US contract award gives a direct beneficiary plus 1.
- A contract exceeding 10% of prior-year defence-segment revenue gives the direct beneficiary plus 2.
- A general conflict-region statement gives defence impact 0.
- Confirmed aid, procurement or budget action gives a directly affected contractor plus 1 or minus 1 according to the direct contractual effect.
- Do not assume that named large defence contractors benefit from every conflict statement.
9.13 Pharmaceutical Policy
- General drug-pricing criticism gives pharmaceutical impact 0.
- A specific company or product named in a statement gives company impact minus 1.
- An official drug-pricing proposal affecting less than 10% of company revenue gives minus 1.
- An official drug-pricing proposal affecting at least 10% of company revenue gives minus 2.
- A final pricing or reimbursement action uses the generic direct-exposure framework based on actual product-revenue exposure.
- A most-favoured-nation pricing statement is not an automatic sell signal.
- An official proposal or signed action is required before assigning a broad pharmaceutical-sector point.
- An FDA deregulation statement gives biotechnology impact 0.
- Confirmed approval-pathway reform gives directly eligible companies plus 1.
- Do not award the complete biotechnology sector a positive point.
9.14 Finance and Banking Policy
- General deregulation statement gives financial-sector impact 0.
- Official proposal reducing a material regulation gives the directly affected industry plus 1.
- Effective rule with measurable earnings benefit gives the direct beneficiary plus 1.
- Maximum broad financial-sector impact is plus 1.
- CFPB weakening or rule reversal gives directly affected consumer-finance companies plus 1.
- Banks without material CFPB exposure receive 0.
- Do not assume every bank benefits equally.
9.15 Cryptocurrency Policy
- General positive cryptocurrency statement gives cryptocurrency-policy impact 0.
- Official proposal or executive action supporting cryptocurrency gives cryptocurrency-industry impact plus 1.
- Effective regulation or approval with direct measurable benefit uses the generic direct-exposure framework and may give a directly affected company plus 1 or plus 2.
- The impact remains provisional until Bitcoin is above its applicable VWAP.
- The affected cryptocurrency stock must be above its applicable VWAP.
- The affected stock’s RVOL must be at least 1.50.
- A political endorsement does not guarantee a 1- or 2-day rally.
9.16 Federal Reserve Criticism
- Trump criticism of the Federal Reserve is Type 1 unless a more specific operational action exists.
- Base severity = 1.
- Dollar impact in this module = 0.
- Gold impact in this module = 0.
- Yield impact in this module = 0.
- Pass the statement to the Central-Bank Event Module.
- Pass the statement to the Currency Module.
- Pass the statement to the Gold Module.
- Pass any yield observations to the Treasury Yield Module.
- Those modules determine the market effect.
- Do not assume automatic dollar weakness, lower yields or a gold increase.
- A company named in political criticism receives company impact minus 1.
- Active duration is a maximum of 1 trading session.
- New momentum entry is RESTRICTED.
- A formal investigation, enforcement action or executive instruction uses the generic exposure framework and may produce minus 1 or minus 2.
- Political criticism alone does not create a sector-wide technology or media point.
9.18 TikTok Policy
- Rumour of a ban or reversal gives competitor impact 0.
- Official proposal gives a directly exposed competitor a maximum of plus 1.
- Effective ban or forced divestiture gives the directly affected company minus 2.
- An effective ban may give a confirmed direct competitor plus 1.
- A formal reversal or cancellation removes the previous negative impact.
- A reversal does not automatically give plus 2.
- Any separate reversal point is calculated through the Tariff Delay and Reversal principles.
For a directly harmed company:
- Negative confirmation requires price at least 2% below the pre-event price.
- Price must be below VWAP.
- RVOL must be at least 1.50.
For a competitor receiving a positive point:
- Positive confirmation requires price at least 2% above the pre-event price.
- Price must be above VWAP.
- RVOL must be at least 1.50.
- Sector confirmation is separately required.
- Do not assume META, SNAP or any other company automatically benefits.
9.19 Artificial-Intelligence Policy
- General AI statement gives AI-sector impact 0.
- For an official regulatory proposal, calculate each company’s compliance cost, export exposure, government-contract exposure, compute restriction and data restriction separately.
- Use the generic direct-exposure framework for measurable harmful or beneficial exposure.
- Effective deregulation with measurable direct benefit gives the direct beneficiary plus 1.
- Effective restriction affecting at least 20% of revenue or productive capacity gives company impact minus 2.
- Do not move the entire AI sector because of a general statement.
9.20 Immigration and Labour Policy
- General immigration rhetoric gives impact 0.
- A Type 3, Type 4 or Type 5 action with measurable direct company, industry or sector exposure uses the generic direct-exposure framework.
- Pass labour-supply and employment implications to the Employment and Labour Market Module.
- The Employment Module may score labour-market effects.
- The Trump Module must not score the same labour-market effect again.
9.21 Tax, Fiscal Spending and Infrastructure
- General statements give impact 0.
- Official proposals, signed actions and effective actions use the generic direct-exposure framework.
- A direct contract, subsidy, tax benefit or tax burden must be measurable.
- Do not assign a broad sector point without measurable direct exposure.
- Fiscal implications for yields or liquidity are passed to the owning specialist modules.
9.22 Healthcare Outside Pharmaceuticals
- General healthcare statements give impact 0.
- Official proposals, signed actions and effective actions use the generic direct-exposure framework.
- Pharmaceutical-pricing actions remain controlled by the pharmaceutical rules.
- Healthcare-company exposure must be directly measurable.
9.23 Sanctions and Foreign Policy
- General foreign-policy rhetoric gives impact 0.
- Direct sanctions, prohibitions, approvals or restrictions use the generic direct-exposure framework.
- A directly sanctioned company triggers company risk 15.
- Geopolitical context is passed to the Geopolitical Risk Module.
- The same Trump headline does not receive another geopolitical point.
9.24 General Federal Regulation or Deregulation
- General regulation or deregulation rhetoric gives impact 0.
- An official proposal, signed action or effective action uses the generic direct-exposure framework.
- A category-specific banking, consumer-finance, pharmaceutical, energy, AI or cryptocurrency rule overrides this general rule.
9.25 Congressional Trading Data
- CONGRESSIONAL_TRADE_SIGNAL_SCORE = 0.
- Congressional transaction disclosures may be reported as much as 45 days after the transaction.
- Do not use congressional trades as a leading policy signal.
- Do not increase sector or company points because of clusters of disclosed trades.
- Do not enter a trade because a member of Congress reported a transaction.
- Third-party political-trade aggregators may not override official disclosure dates.
- Disclosures may be retained only for historical research.
9.26 Company-Level Permission and Position-Size Calculation
Check the following conditions in order and stop at the first matching risk band:
Risk from 10 through 15
- COMPANY_POSITION_SIZE_CAP = 0%.
- NEW_ENTRY_STATUS = PAUSED.
- OVERNIGHT_PERMISSION = NO.
- LEVERAGED_OVERNIGHT_PERMISSION = NO.
- MOMENTUM_ENTRY_PERMISSION = NO.
- BREAKOUT_PERMISSION = NO.
- RETEST_PERMISSION = NO.
Risk from 6 through 9
- COMPANY_POSITION_SIZE_CAP = 50%.
- NEW_ENTRY_STATUS = RESTRICTED.
- OVERNIGHT_PERMISSION = RESTRICTED.
- LEVERAGED_OVERNIGHT_PERMISSION = NO.
- MOMENTUM_ENTRY_PERMISSION = NO.
- BREAKOUT_PERMISSION = NO.
- RETEST_PERMISSION = ALLOWED_FOR_REVIEW.
Risk from 3 through 5
- COMPANY_POSITION_SIZE_CAP = 75%.
- NEW_ENTRY_STATUS = RESTRICTED.
- OVERNIGHT_PERMISSION = RESTRICTED.
- LEVERAGED_OVERNIGHT_PERMISSION = NO.
- MOMENTUM_ENTRY_PERMISSION = ALLOWED_FOR_REVIEW.
- BREAKOUT_PERMISSION = ALLOWED_FOR_REVIEW.
- RETEST_PERMISSION = ALLOWED_FOR_REVIEW.
Risk from 1 through 2
- COMPANY_POSITION_SIZE_CAP = 100%.
- NEW_ENTRY_STATUS = ALLOWED_FOR_REVIEW.
- OVERNIGHT_PERMISSION = ALLOWED.
- LEVERAGED_OVERNIGHT_PERMISSION = ALLOWED unless another rule prohibits it.
- MOMENTUM_ENTRY_PERMISSION = ALLOWED_FOR_REVIEW.
- BREAKOUT_PERMISSION = ALLOWED_FOR_REVIEW.
- RETEST_PERMISSION = ALLOWED_FOR_REVIEW.
Risk 0
- Apply the same permissions as risk 1 through 2.
- ALLOWED_FOR_REVIEW does not mean TRADE_APPROVED.
9.27 Module Position-Size Cap
- Calculate a separate COMPANY_POSITION_SIZE_CAP for every directly affected company record.
- TRUMP_POSITION_SIZE_CAP for an instrument under review equals that instrument’s company cap after all Trump overlays.
- When no instrument is under review, output all company caps separately.
- The Trump Module does not calculate the minimum across every macro module.
- Output 2 compares TRUMP_POSITION_SIZE_CAP with caps from all other modules and applies the smallest valid cap.
- This module may not increase another module’s lower cap.
Part 10 — Handoffs and double-counting controls
10.1 Main Headline Risk Module
- Pass EVENT_ID once.
- Pass original source fields.
- Pass source verification.
- Pass event type.
- Pass novelty status.
- Pass severity.
- Pass event direction.
- Pass company, industry and sector impacts.
- Pass company-risk records.
- Pass active restrictions.
- The main Headline Risk Module removes cross-module duplicates.
- The main Headline Risk Module combines simultaneous political events.
- The main Headline Risk Module calculates the final Headline Risk Adjustment.
- Do not send a separate Trump risk score directly to the Macro Risk Engine after this handoff.
10.2 Market Regime Module
- Pass major-index and broad-market observations only when available.
- Do not calculate risk-on or risk-off in this module.
- Directional points assigned by the Trump Module for general market regime = 0.
10.3 Oil and Energy Complex Module
- Pass SPR release or purchase information.
- Pass relevant oil-price observations.
- Trump Module oil-price reaction point = 0.
- The Oil Module owns oil-market interpretation.
10.4 Currency Module
- Pass DXY and major-currency observations.
- Trump Module currency-reaction point = 0.
- The Currency Module owns currency interpretation.
10.5 Central-Bank Event Module
- Pass Trump criticism of the Federal Reserve and any direct central-bank political statement.
- Trump Module central-bank direction point = 0.
- The Central-Bank Module owns policy interpretation.
10.6 Gold Module
- Pass gold-price observations and Federal Reserve criticism.
- Trump Module gold-reaction point = 0.
- The Gold Module owns safe-haven interpretation.
10.7 Treasury Yield Module
- Pass yield observations.
- Trump Module yield-reaction point = 0.
- The Treasury Yield Module owns yield-direction and sector interpretation.
10.8 Volatility Module
- Pass volatility-index and volatility-term-structure observations.
- Trump Module volatility point = 0.
- The Volatility Module owns volatility-regime interpretation.
10.9 Employment and Labour Market Module
- Pass immigration actions with potential labour-supply effects.
- Trump Module labour-market point = 0 unless the action has a direct measurable company impact under the generic framework.
- The Employment Module owns the broad labour-market interpretation.
10.10 Geopolitical Risk Module
- Pass sanctions, foreign-policy and international-conflict context.
- The Trump Module retains ownership of the Trump event.
- The Geopolitical Module must not assign a second point to the same Trump headline.
- It may score independent geopolitical developments not contained in the Trump event.
10.11 Stock Risk and Stock Setup Engines
- Pass named-company exposure, risk, impact, price reaction and restrictions.
- The Trump Module does not search for additional stocks.
- Company records are calculated only for companies named in the event, identified by legal text, held in the portfolio or supplied by an external candidate engine.
- The Stock Setup Engine decides whether a valid technical setup exists.
- READY_FOR_TRADING_BOT_REVIEW does not mean TRADE_APPROVED.
10.12 Output 2
- Pass the parent Headline Risk Module’s final result.
- Pass company-specific restrictions when required.
- Output 2 applies the smallest valid position cap across modules.
- Output 2 preserves every active pause.
- Output 2 cannot use the raw Trump event again as a second directional score.
10.13 Missing Handoff Treatment
- If a specialist handoff fails, set that HANDOFF_STATUS to FAILED.
- Set the current module’s specialist-owned contribution to 0.
- Preserve the raw field for retry.
- Do not substitute another specialist interpretation.
- Do not delay unrelated valid Output 1 fields unless the failed handoff is critical to a category-specific rule.
Part 11 — Hard overrides
11.1 Direct Company Critical Override
Trigger:
- Direct sanction.
- Principal-product prohibition.
- Critical export-licence cancellation.
- At least 20% of expected annual revenue immediately unavailable.
Effect:
- COMPANY_TRUMP_RISK = 15.
- COMPANY_RISK_CLASS = EXTREME.
- COMPANY_POSITION_SIZE_CAP = 0%.
- NEW_ENTRY_STATUS = PAUSED.
- Existing positions are not automatically closed.
- Existing positions receive EXISTING_POSITION_REVIEW_REQUIRED = TRUE.
11.2 Invalid Company-Data Override
Trigger:
- Named company exposure is missing or invalid.
Effect:
- Company impact = 0.
- Company risk = NOT_CALCULABLE.
- Company confidence = INVALID.
- Company position-size cap = 0% for a new position.
- New entries in that company are PAUSED.
- Event-level and unrelated company calculations may continue.
11.3 Invalid Event-Data Override
Trigger:
- Critical source, authentication, timestamp or legal-stage failure.
Effect:
- Event impact = 0.
- Event direction = NEUTRAL.
- Event confidence = INVALID.
- Contribution status = LIMITED.
- Directly affected companies are paused.
- No market-wide pause is created unless the main Headline Risk Module declares it.
11.4 Inherited Hard-Warning Override
Trigger:
- Another authorised module supplies an active hard warning or pause.
Effect:
- Preserve the pause.
- This module may extend but may not cancel it.
- A lower Trump risk or positive event cannot restore permission.
11.5 Extreme Algorithmic-Move Restriction
Trigger:
- ALGO_MOVE_STATUS is EXTENDED or SEVERE.
Effect:
- Market-order entry = NO.
- Immediate chase entry = NO.
- Earliest review = 15 minutes after event.
- Pullback or retest is required.
- This does not automatically close an existing position.
11.6 Order-Cancellation Boundary
- The Trump Module may output CANCEL_UNFILLED_ORDERS_REQUEST = TRUE.
- The Trump Module must not transmit an order-cancellation instruction to the broker.
- A future Risk or Execution Engine decides whether to cancel the orders.
Part 12 — Execution order
- Load module configuration, provider configuration, allowlists and official trading calendar.
- Determine the active monitoring interval.
- Scan authenticated official sources.
- Capture the original statement, source identifiers and publication timestamp.
- Authenticate the source.
- Generate the canonical EVENT_ID and POLICY_SCOPE_ID.
- Exclude exact duplicate records.
- Determine legal text, implementation status, congressional approval and legal-challenge status.
- Classify the event from Type 0 through Type 5.
- Determine BASE_SEVERITY.
- Compare the event with the preceding 30-day event history.
- Classify novelty, escalation, repetition, delay, exemption or reversal.
- Calculate NOVELTY_ADJUSTMENT.
- Calculate TRUMP_EVENT_SEVERITY.
- Identify affected countries, products, sectors, industries and companies.
- Load company-exposure data only for named, legally identified, held or externally supplied companies.
- Validate each exposure field and denominator.
- Calculate each company exposure channel separately.
- Calculate COMPANY_EXPOSURE_SCORE.
- Calculate normal COMPANY_TRUMP_RISK.
- Apply critical company-risk overrides.
- Apply the relevant category-specific policy-impact rule.
- Use the generic direct-exposure framework only when no specific category rule exists.
- Create company, industry and sector-impact records.
- Aggregate event direction without adding repeated company points.
- Capture the valid pre-event reference price.
- Capture 2-, 5-, 15-, 30- and 60-minute prices.
- Calculate price changes.
- Calculate VWAP position and RVOL.
- Classify the 2-minute algorithmic move.
- Enforce the 15-minute minimum waiting period when required.
- Calculate retracement after an extended or severe move.
- Calculate price confirmation without adding another impact point.
- Apply legal-stay, implementation and congressional-approval rules.
- Apply tariff-meeting restrictions when active.
- Apply tariff delay, exemption or reversal calculations.
- Calculate event confidence.
- Calculate event-overlay expiry and continuing policy-state revalidation.
- Calculate every company-specific permission and position-size cap.
- Apply inherited pauses and the most restrictive condition.
- Create handoff packets.
- Pass the event once to the main Headline Risk Module.
- Do not send the raw Trump risk separately to the central Macro Risk Engine.
- Do not use congressional disclosures as predictive inputs.
- Set TRADE_APPROVED = FALSE.
- Set ORDER_GENERATED = FALSE.
- Produce Module 4 Output 1.
- Calculate NEXT_RECALCULATION_TIME.
Part 13 — Non-calculative constraints
- The module must not select final sectors.
- The module must not select final industries.
- The module must not search for or select an individual stock.
- The module may calculate exposure for a company directly named in the event, identified by legal text, held in the portfolio or passed in by another engine.
- The module must not generate a final long entry.
- The module must not generate a final short entry.
- The module must not place an order.
- The module must not cancel an order directly.
- The module must not automatically close an existing position.
- The module must not automatically reduce an existing position.
- The module must not reverse an existing position.
- The module must not change a price-based stop solely because of this political event.
- The module must not set a stock-specific target.
- The module must not treat every Trump post as government policy.
- The module must not assume that a political statement will become law.
- The module must not assume that the second price leg will be larger than the first.
- The module must not use congressional trading disclosures as predictive signals.
- The module must not treat a third-party bullish or bearish label as verification.
- The module must not approve a trade solely because Trump mentioned a sector.
- The module must not approve a trade solely because a stock moved immediately.
- The module must not approve a trade solely because a company appears on a tariff-beneficiary list.
- Verified source, measurable exposure, valid impact, required sector confirmation, stock-setup confirmation, risk approval and absence of an active hard warning remain required.
- The module’s permissions are maximum permissions only.
- Another module may impose a stricter restriction.
- A positive Trump event may not cancel another module’s pause.
- TRADE_APPROVED must always remain FALSE.
- ORDER_GENERATED must always remain FALSE.
Part 14 — Required output 1
14.1 Module Identification
- MODULE_NUMBER — integer 4.
- MODULE_NAME — TRUMP_POLITICAL_HEADLINES_AND_EXECUTIVE_ACTIONS.
- CALCULATION_VERSION — active ruleset version.
- CALCULATION_TIMESTAMP — UTC calculation timestamp.
- TIMESTAMP — compatibility alias of CALCULATION_TIMESTAMP.
- DATA_PROVIDERS — source, market-data, filing-data and calendar-provider identifiers.
14.2 Data Reliability
- EVENT_DATA_STATUS — VALID, DEGRADED or INVALID.
- PARTIAL_OUTPUT_STATUS — COMPLETE, PARTIAL or NONE.
- DATA_AGE_SECONDS — age of the newest required live input.
- MISSING_FIELDS — ordered list.
- FAILURE_REASON — ordered list.
- PROVIDER_CONFLICT_STATUS — NONE, RESOLVED_BY_PRIMARY_SOURCE or UNRESOLVED.
- EXCLUDED_DATA_LIST — duplicates, stale records and invalid fields excluded.
- COMPANY_DATA_STATUS_LIST — company-level reliability records.
- HISTORICAL_SAMPLE_SIZE_RVOL — valid comparable-session count.
- HISTORICAL_EVENT_LOOKBACK_COMPLETE — Boolean.
14.3 Event Identification
- EVENT_ID — canonical unique event identifier.
- POLICY_SCOPE_ID — unique policy-scope identifier.
- ORIGINAL_SOURCE_URL — canonical original source.
- ORIGINAL_POST_ID — social-media identifier or null.
- ORIGINAL_DOCUMENT_ID — official document identifier or null.
- ORIGINAL_DOCUMENT_URL — official document URL or null.
- EVENT_TIMESTAMP — first authenticated public dissemination time.
- SIGNING_TIMESTAMP — official signing time or null.
- EFFECTIVE_TIMESTAMP — official effective time or null.
- EVENT_EFFECTIVE_DATE — compatibility display field.
- EXPIRY_TIMESTAMP — official legal expiry or null.
- EVENT_EXPIRY_TIME — temporary event-overlay expiry.
- OVERLAY_EXPIRY_TIME — active short-term overlay expiry.
- NEXT_REVALIDATION_TIME — next continuing-policy review.
- EXACT_STATEMENT — original exact text.
- SPEAKER_OR_ISSUING_AUTHORITY — exact source authority.
14.4 Source and Legal Classification
- SOURCE_VERIFICATION — UNVERIFIED, AUTHENTICATED_STATEMENT, OFFICIAL_STATEMENT, OFFICIAL_PROPOSAL, SIGNED_ACTION or EFFECTIVE_ACTION.
- SOURCE_AUTHENTICATION_STATUS — VERIFIED, SECONDARY_VERIFIED or FAILED.
- EVENT_TYPE — Type 0 through Type 5 classification.
- POLICY_CATEGORY — assigned category.
- POLICY_INSTRUMENT — assigned policy instrument.
- LEGAL_TEXT_STATUS — EXISTS, NOT_REQUIRED, MISSING or INVALID.
- IMPLEMENTATION_STATUS — NOT_REQUIRED, NOT_STARTED, IN_PROGRESS, SIGNED_NOT_EFFECTIVE, EFFECTIVE, STAYED or CANCELLED.
- CONGRESSIONAL_APPROVAL_REQUIRED — Boolean.
- CONGRESSIONAL_APPROVAL_STATUS — current status.
- LEGAL_CHALLENGE_STATUS — current legal status.
- ACTIVE_POLICY_STATE — INACTIVE, ACTIVE, STAYED, EXPIRED or CANCELLED.
14.5 Novelty and Severity
- BASE_SEVERITY — integer 0 through 5.
- NOVELTY_STATUS — primary novelty classification.
- NOVELTY_FLAG_LIST — all compatible novelty flags.
- NOVELTY_ADJUSTMENT — minus 1, 0 or plus 1.
- TRUMP_EVENT_SEVERITY — integer 0 through 5.
- MATERIAL_CHANGE_STATUS — NONE, MATERIAL_CHANGE or UNKNOWN.
- DUPLICATE_STATUS — CANONICAL, DUPLICATE_EXCLUDED or EQUIVALENT_REPETITION.
14.6 Affected Entities
- COUNTRIES_MENTIONED — ordered country list.
- PRODUCTS_MENTIONED — ordered product list.
- SECTORS_MENTIONED — ordered sector list.
- INDUSTRIES_MENTIONED — ordered industry list.
- COMPANIES_MENTIONED — ordered company list.
- COUNTRY_IMPACT_LIST — country, policy direction and descriptive policy effect; no unsupported numerical country score.
- SECTOR_IMPACT_LIST — sector, impact point, direction, confidence, policy scope and expiry.
- INDUSTRY_IMPACT_LIST — industry, impact point, direction, confidence, policy scope and expiry.
- COMPANY_IMPACT_LIST — company, impact point, direction, confidence and policy scope.
14.7 Event Direction and Impact
- EVENT_DIRECTION — BULLISH, BEARISH, MIXED or NEUTRAL.
- TRUMP_EVENT_IMPACT — integer from minus 2 through plus 2.
- MIXED_IMPACT_STATUS — TRUE or FALSE.
- TRUMP_CONTRIBUTION_STATUS — ACTIVE, NEUTRAL, LIMITED or EXPIRED.
- STATEMENT_SCORE is not a separate output.
- The former statement-score concept is consolidated into TRUMP_EVENT_IMPACT to prevent duplicate scoring.
14.8 Tariff Outputs
- TARIFF_RATE — current stated tariff percentage or null.
- PREVIOUS_TARIFF_RATE — prior tariff percentage or null.
- TARIFF_STATUS — permitted tariff status.
- SECTION_232_STATUS — permitted tariff status.
- SECTION_301_STATUS — permitted tariff status.
- TARIFF_MEETING_RISK — INACTIVE, ACTIVE or PENDING_OUTCOME.
- TARIFF_REVERSAL_STATUS — NOT_APPLICABLE, UNCONFIRMED, CONFIRMED or EXPIRED.
- REVERSAL_IMPACT — 0, plus 1 or plus 2.
- REVERSAL_CONFIRMATION_STATUS — PASSED, FAILED, PENDING or NOT_REQUIRED.
- REVERSAL_EXPIRY_TIME — expiry of the delay or rollback point.
14.9 Company Record List
Each COMPANY_RECORD_LIST entry must contain:
- COMPANY_ID.
- COMPANY_TICKER.
- COMPANY_DATA_STATUS.
- COMPANY_EXPOSURE_SOURCE_URL.
- COMPANY_EXPOSURE_SOURCE_DATE.
- COMPANY_EXPOSURE_MEASUREMENT_PERIOD.
- COMPANY_COUNTRY_REVENUE_PERCENT.
- COMPANY_MANUFACTURING_CAPACITY_PERCENT.
- COMPANY_SUPPLIER_EXPOSURE_PERCENT.
- COMPANY_CUSTOMER_EXPOSURE_PERCENT.
- COMPANY_IMPORT_EXPOSURE_PERCENT.
- COMPANY_IMPORTED_INPUT_PERCENT_COGS.
- COMPANY_IMPORTED_FINISHED_GOODS_PERCENT.
- COMPANY_EXPORT_EXPOSURE_PERCENT.
- COMPANY_FOREIGN_REVENUE_RETALIATION_PERCENT.
- COMPANY_DOMESTIC_COMPETING_PRODUCTION_PERCENT.
- COMPANY_GOVERNMENT_REVENUE_PERCENT.
- COMPANY_DEFENCE_CONTRACT_PERCENT_PRIOR_YEAR_SEGMENT_REVENUE.
- COMPANY_PRODUCT_REVENUE_PERCENT.
- COMPANY_PRODUCT_CAPACITY_PERCENT.
- COMPANY_REVENUE_BECOMING_UNAVAILABLE_PERCENT.
- COMPANY_REGULATORY_DEPENDENCY.
- COMPANY_SUBSIDY_DEPENDENCY.
- COMPANY_TAX_CREDIT_DEPENDENCY.
- COMPANY_EXPORT_LICENCE_DEPENDENCY.
- COMPANY_CRITICAL_PRODUCT_DEPENDENCY.
- COMPANY_EXPOSURE_CHANNEL_LIST.
- COMPANY_EXPOSURE_SCORE.
- COMPANY_IMPACT.
- COMPANY_TRUMP_RISK.
- COMPANY_RISK_CLASS.
- COMPANY_POSITION_SIZE_CAP.
- COMPANY_NEW_ENTRY_STATUS.
- COMPANY_OVERNIGHT_PERMISSION.
- COMPANY_LEVERAGED_OVERNIGHT_PERMISSION.
- COMPANY_MOMENTUM_ENTRY_PERMISSION.
- COMPANY_BREAKOUT_PERMISSION.
- COMPANY_RETEST_PERMISSION.
- COMPANY_EXISTING_POSITION_REVIEW_REQUIRED.
- COMPANY_CANCEL_UNFILLED_ORDERS_REQUEST.
14.10 Market-Reaction Outputs
- PRE_EVENT_REFERENCE_PRICE.
- PRICE_2_MINUTES.
- PRICE_5_MINUTES.
- PRICE_15_MINUTES.
- PRICE_30_MINUTES.
- PRICE_60_MINUTES.
- PRICE_CHANGE_2_MINUTES_PERCENT.
- PRICE_CHANGE_5_MINUTES_PERCENT.
- PRICE_CHANGE_15_MINUTES_PERCENT.
- PRICE_CHANGE_30_MINUTES_PERCENT.
- PRICE_CHANGE_60_MINUTES_PERCENT.
- FIRST_15_MINUTE_HIGH.
- FIRST_15_MINUTE_LOW.
- VWAP_VALUE.
- VWAP_SESSION_TYPE.
- VWAP_STATUS.
- RVOL_VALUE.
- ALGO_MOVE_STATUS.
- RETRACEMENT_PERCENT.
- HEADLINE_MOMENTUM_STATUS.
- PRICE_REACTION_CONFIRMATION.
- PRICE_REACTION_CONFLICT.
- MARKET_REACTION_COMPLETENESS — COMPLETE, PARTIAL, PENDING or INVALID.
14.11 Fixed Sector Compatibility Outputs
- TRUMP_SECTOR_IMPACT_STEEL.
- TRUMP_SECTOR_IMPACT_ALUMINIUM.
- TRUMP_SECTOR_IMPACT_AUTOS.
- TRUMP_SECTOR_IMPACT_RETAIL.
- TRUMP_SECTOR_IMPACT_SEMICONDUCTORS.
- TRUMP_SECTOR_IMPACT_SOLAR.
- TRUMP_SECTOR_IMPACT_OIL_GAS.
- TRUMP_SECTOR_IMPACT_RENEWABLES.
- TRUMP_SECTOR_IMPACT_COAL.
- TRUMP_SECTOR_IMPACT_DEFENCE.
- TRUMP_SECTOR_IMPACT_PHARMACEUTICALS.
- TRUMP_SECTOR_IMPACT_BIOTECHNOLOGY.
- TRUMP_SECTOR_IMPACT_BANKS.
- TRUMP_SECTOR_IMPACT_CONSUMER_FINANCE.
- TRUMP_SECTOR_IMPACT_CRYPTO.
- TRUMP_SECTOR_IMPACT_MEDIA.
- TRUMP_SECTOR_IMPACT_AI.
- Each field uses the range minus 2 through plus 2.
- When positive and negative direct effects coexist inside the same broad sector, the compatibility field is 0 and the detailed sector list records MIXED.
14.12 Confidence, Risk and Permission
- TRUMP_EVENT_CONFIDENCE — INVALID, LOW, MEDIUM or HIGH.
- TRUMP_POSITION_SIZE_CAP — module-specific cap for the instrument under review.
- POSITION_SIZE_MULTIPLIER — compatibility alias of TRUMP_POSITION_SIZE_CAP; it is not the final cross-module multiplier.
- NEW_ENTRY_STATUS — ALLOWED_FOR_REVIEW, RESTRICTED or PAUSED.
- OVERNIGHT_PERMISSION — ALLOWED, RESTRICTED or NO.
- LEVERAGED_OVERNIGHT_PERMISSION — ALLOWED, RESTRICTED or NO.
- MOMENTUM_ENTRY_PERMISSION — ALLOWED_FOR_REVIEW, RESTRICTED, NO or PAUSED.
- BREAKOUT_PERMISSION — ALLOWED_FOR_REVIEW, RESTRICTED, NO or PAUSED.
- RETEST_PERMISSION — ALLOWED_FOR_REVIEW, RESTRICTED, NO or PAUSED.
- NORMAL_SWING_TRADE_PERMISSION — ALLOWED_FOR_REVIEW, RESTRICTED or PAUSED.
- EVENT_TRADE_ANALYSIS_STATUS — NOT_REQUIRED, PENDING, READY_FOR_REVIEW or BLOCKED.
- EARLIEST_EVENT_TRADE_REVIEW_TIME.
- READY_FOR_TRADING_BOT_REVIEW — Boolean.
- READY_FOR_TRADING_BOT_REVIEW does not mean TRADE_APPROVED.
14.13 Restrictions and Overrides
- ACTIVE_RESTRICTION_LIST.
- RESTRICTION_START_TIME.
- RESTRICTION_END_TIME.
- RESUMPTION_CONDITIONS.
- INHERITED_PAUSE_STATUS.
- INHERITED_HARD_WARNING_STATUS.
- EXISTING_POSITION_REVIEW_REQUIRED.
- CANCEL_UNFILLED_ORDERS_REQUEST.
- SCHEDULE_RISK_STATUS.
- ACTIVE_POLICY_STATUS.
14.14 Handoffs
- HEADLINE_MODULE_HANDOFF_STATUS.
- MARKET_REGIME_HANDOFF_STATUS.
- OIL_MODULE_HANDOFF_STATUS.
- CURRENCY_MODULE_HANDOFF_STATUS.
- CENTRAL_BANK_HANDOFF_STATUS.
- GOLD_MODULE_HANDOFF_STATUS.
- YIELD_MODULE_HANDOFF_STATUS.
- VOLATILITY_MODULE_HANDOFF_STATUS.
- EMPLOYMENT_MODULE_HANDOFF_STATUS.
- GEOPOLITICAL_MODULE_HANDOFF_STATUS.
- STOCK_RISK_ENGINE_HANDOFF_STATUS.
- STOCK_SETUP_ENGINE_HANDOFF_STATUS.
- DOUBLE_COUNTING_CONTROL_STATUS.
- HANDOFF_RAW_FIELD_LIST.
- HANDOFF_CALCULATED_FIELD_LIST.
- HANDOFF_FAILURE_REASON.
14.15 Congressional Data
- CONGRESSIONAL_TRADE_SIGNAL_SCORE = 0.
- CONGRESSIONAL_DATA_USAGE = HISTORICAL_RESEARCH_ONLY.
14.16 Recalculation and Audit
- NEXT_RECALCULATION_TIME is the earliest of:
- The next required monitoring scan.
- The next 2-, 5-, 15-, 30- or 60-minute checkpoint.
- The official deadline or effective time.
- The event-overlay expiry time.
- The 07:30 ET daily policy-state revalidation.
- Publication of a new official update.
- FORMULA_AUDIT_LIST.
- THRESHOLD_AUDIT_LIST.
- PROVIDER_AUDIT_LIST.
- SOURCE_REVISION_HISTORY.
- EVENT_STATUS_CHANGE_HISTORY.
- EXCLUDED_DUPLICATE_LIST.
- CALCULATION_VERSION.
- TRADE_APPROVED = FALSE.
- ORDER_GENERATED = FALSE.
15.1 Exact Official-Source Allowlist
- Missing information: The exact verified account IDs, government domains and approved secondary-news organisations are not listed.
- Why this matters: The bot cannot authenticate a source solely from a general description such as “official account” or “established news organisation.”
- Safest neutral treatment: Sources absent from the configured allowlist remain UNVERIFIED until manually or independently validated.
- Classification: NOT DEFINED.
15.2 Named Live Market-Data Provider
- Missing information: The project’s approved primary live market-data provider is not named in this module.
- Why this matters: Prices, VWAP and RVOL cannot be calculated without a designated provider.
- Safest neutral treatment: Market-reaction outputs remain PENDING and cannot raise confidence until the approved provider is configured.
- Classification: NOT DEFINED.
15.3 Named Company-Filing Data Provider
- Missing information: The system responsible for retrieving and normalising annual reports, quarterly reports and official company disclosures is not named.
- Why this matters: Company exposure cannot be calculated automatically without a reliable filing source and field-mapping process.
- Safest neutral treatment: Use only manually supplied or directly retrieved official filings; otherwise set the affected company record to INVALID and pause new entries in that company.
- Classification: NOT DEFINED.
15.4 Approved Sector and Industry Instrument Map
- Missing information: The exact ETF or instrument used to confirm every sector and industry is not supplied.
- Why this matters: Sector confirmation and mixed stock-versus-sector reaction cannot be calculated without a fixed mapping.
- Safest neutral treatment: Preserve company impact, set sector confirmation to PENDING and do not activate any impact that explicitly requires sector confirmation.
- Classification: NOT DEFINED.
15.5 Stock-Universe Liquidity Rule
- Missing information: The complete global definition of an “eligible affected liquid stock” is not included in this module.
- Why this matters: The two-stock tariff-reversal confirmation cannot be completed.
- Safest neutral treatment: The tariff-reversal impact may not exceed plus 1 until the external liquidity rule confirms at least 2 eligible stocks.
- Classification: CONTROLLED BY ANOTHER MODULE.
15.6 Final Market-Wide Hard-Warning Criteria
- Missing information: The criteria used by the main Headline Risk Module to create a market-wide hard warning are not part of this module.
- Why this matters: Module 4 cannot determine whether the entire system must pause.
- Safest neutral treatment: Pause only directly affected companies. Pass the event to the main Headline Risk Module.
- Classification: CONTROLLED BY ANOTHER MODULE.
15.7 Final Cross-Module Position Size
- Missing information: The final calculation combining all module position-size caps has not yet been built.
- Why this matters: Module 4 cannot determine the final trading-bot position size by itself.
- Safest neutral treatment: Output only the Trump-specific cap. Output 2 later applies the smallest valid cap.
- Classification: CONTROLLED BY OUTPUT 2.
15.8 Final Trade-Approval Engine
- Missing information: The future Trading Decision and Risk Engine that owns final trade approval is not yet defined.
- Why this matters: This module cannot convert an event result into an approved order.
- Safest neutral treatment: TRADE_APPROVED remains FALSE and ORDER_GENERATED remains FALSE.
- Classification: CONTROLLED BY ANOTHER MODULE.
15.9 Numerical Country Impact
- Missing information: The source requires affected countries to be identified but does not supply a numerical country-impact scale.
- Why this matters: A country score cannot be calculated without adding a new unsupported framework.
- Safest neutral treatment: Output the country, policy direction and descriptive effect only. Country numerical contribution remains 0.
- Classification: NOT DEFINED.
15.10 Historical Normalised Reaction Score
- Missing information: No historical-normal-reaction bands or instrument weights are supplied for a combined normalised reaction score.
- Why this matters: The module cannot calculate a weighted historical-reaction score without invented weights.
- Safest neutral treatment: Use only the accepted fixed 2%, 3%, 5%, VWAP and RVOL thresholds. Combined historical-reaction score remains NOT_CALCULATED.
- Classification: NOT DEFINED.