Module 8 — Shipping, Freight and Supply Chains
This is the complete integrated module following the approved macro-module workflow and ADHD-friendly explanation standard.
SECTION ONE — COMPLETE DETERMINISTIC BOT SPECIFICATION
PART 1 — MASTER CALCULATION DEPENDENCY
1.1 Data-Validation Engine
- Calculation name: Module 8 Data Validation.
- Required inputs: All freight, congestion, delivery, route, activity, trade-volume, fuel and semiconductor fields; timestamps; units; provider identifiers; release status.
- Calculates: Field validity, data age, provider consistency, duplicate status, historical-sample sufficiency and engine availability.
- Produces: FIELD_VALIDITY_STATUS, ENGINE_AVAILABLE_WEIGHT, ENGINE_DATA_STATUS, MODULE_DATA_STATUS.
- Next calculation: Each relevant calculation engine.
1.2 Historical Standardisation Engine
- Calculation name: Historical Level and Momentum Standardisation.
- Required inputs: Current value, previous observation, 5-trading-day value, 21-trading-day value, 63-trading-day value and required historical observations.
- Calculates: Current percentile, 21-trading-day momentum percentile, level points, momentum points and combined component score.
- Produces: COMPONENT_SCORE, ranging from −100 to +100.
- Next calculation: Relevant weighted engine.
1.3 Freight-Cost Pressure Engine
- Required inputs: Container rates, dry-bulk rates, tanker rates, air-freight rates and fuel costs.
- Calculates: Current logistics-cost pressure.
- Produces: FREIGHT_COST_PRESSURE_SCORE and FREIGHT_COST_PRESSURE_STATUS.
- Next calculation: Shipping-subindustry, retail-importer and industrial-impact calculations.
1.4 Port, Capacity and Delivery-Stress Engine
- Required inputs: Port congestion, port waiting time, delivery times and supply-chain pressure indexes.
- Calculates: Whether physical delivery capacity is tightening or easing.
- Produces: CAPACITY_DELIVERY_STRESS_SCORE and CAPACITY_DELIVERY_STRESS_STATUS.
- Next calculation: Shipping-subindustry, retail-importer, industrial-impact and risk calculations.
1.5 Route and Sanctions Disruption Engine
- Required inputs: Red Sea and Suez conditions, Panama Canal conditions, other route disruptions and sanctions with confirmed operational effects.
- Calculates: Route-level severity and weighted disruption pressure.
- Produces: ROUTE_DISRUPTION_SCORE, MAX_ROUTE_SEVERITY, route-level statuses and restriction triggers.
- Next calculation: Overlay, risk and hard-override engines.
1.6 Global Shipping and Trade-Activity Engine
- Required inputs: Port throughput, container throughput, vessel calls, cargo tonnage, vessel ton-miles, import volumes and export volumes.
- Calculates: Physical global shipping and goods-trade direction.
- Produces: GLOBAL_SHIPPING_ACTIVITY_SCORE and GLOBAL_SHIPPING_ACTIVITY_STATUS.
- Next calculation: Shipping-subindustry and industrial-impact calculations.
1.7 Semiconductor-Supply Engine
- Required inputs: Semiconductor lead times, inventories, foundry utilisation, backlog, cancellations and shortage breadth.
- Calculates: Whether semiconductor availability is improving or tightening.
- Produces: SEMICONDUCTOR_SUPPLY_SCORE, SEMICONDUCTOR_SUPPLY_STATUS and SEMICONDUCTOR_SUPPLY_CONFLICT_FLAG.
- Next calculation: Semiconductor-dependent industrial-impact calculations and specialist-module handoff.
1.8 Shipping-Industry Economics Engine
- Required inputs: Relevant freight rate, relevant shipping volume, fuel cost, congestion and route availability.
- Calculates: Separate economics for each shipping and logistics sub-industry.
- Produces: Separate SHIPPING_SUBINDUSTRY_SCORE, status and impact points.
- Next calculation: Broad-sector mixed-status calculation and Output 1.
1.9 Retail-Importer Impact Engine
- Required inputs: Freight-cost pressure, capacity stress, route disruption and retail-industry import-exposure coefficient.
- Calculates: Logistics tailwind or headwind for each covered retail-importing industry.
- Produces: RETAIL_INDUSTRY_IMPACT_SCORE and impact points from −2 to +2.
- Next calculation: Consumer Discretionary and Consumer Staples industry handoff.
1.10 Industrial-Industry Impact Engine
- Required inputs: Shipping activity, freight costs, delivery stress, semiconductor supply, import dependency, export dependency and semiconductor relevance.
- Calculates: Separate logistics impact for each covered industrial industry.
- Produces: INDUSTRIAL_INDUSTRY_IMPACT_SCORE and impact points from −2 to +2.
- Next calculation: Industrial-sector and specialist-industry handoff.
1.11 Confidence Engine
- Required inputs: Available valid weight and component agreement.
- Calculates: Evidence completeness and consistency.
- Produces: ENGINE_CONFIDENCE_SCORE, ENGINE_CONFIDENCE_STATUS and MODULE_CONFIDENCE_STATUS.
- Next calculation: Output 1 and Output 2 handoff.
1.12 Risk and Permission Engine
- Required inputs: Route severity, route-disruption score, capacity stress, freight-cost pressure, data status and inherited restrictions.
- Calculates: Logistics risk and whether Module 8 imposes an industry-specific restriction.
- Produces: MODULE_RISK_STATUS, MODULE_PERMISSION_EFFECT, ACTIVE_INDUSTRY_RESTRICTIONS.
- Next calculation: Trading-bot and Output 2 handoff.
Every input must include:
- VALUE: Numeric value or permitted status.
- UNIT_CODE: Approved unit for that series.
- OBSERVATION_TIMESTAMP: ISO 8601 timestamp with timezone.
- RELEASE_TIMESTAMP: ISO 8601 timestamp with timezone.
- PROVIDER_ID: Provider approved by Module 1.
- SERIES_ID: Permanent identifier for the series.
- FREQUENCY: LIVE, DAILY, WEEKLY or MONTHLY.
- RELEASE_STATUS: PRELIMINARY, REVISED or FINAL.
- SESSION_STATUS: PREMARKET, REGULAR, AFTER_HOURS, NON_TRADING_DAY or NOT_APPLICABLE.
- DATA_AGE_SECONDS: Calculation timestamp minus latest valid release or observation timestamp.
- DUPLICATE_STATUS: NONE, IDENTICAL_DUPLICATE or CONFLICTING_DUPLICATE.
- FIELD_VALIDITY_STATUS: VALID, STALE, MISSING, CONFLICTING or INVALID_FORMAT.
All inputs are compulsory when identified as critical for their engine.
- CONTAINER_GLOBAL_RATE_COMPOSITE: Approved global container-rate composite.
- Permitted unit: INDEX_POINTS or USD_PER_FEU.
- Observation period: Latest published observation.
- Historical lookback: 756 daily, 156 weekly or 36 monthly observations according to frequency.
- Maximum data age: 26 hours for daily, 9 calendar days for weekly.
- Critical: TRUE.
- CONTAINER_ASIA_US_RATE: Major Asia-to-US route rate.
- Unit: USD_PER_FEU.
- Maximum data age: 26 hours daily or 9 calendar days weekly.
- Critical: FALSE.
- CONTAINER_ASIA_EUROPE_RATE: Major Asia-to-Europe route rate.
- Unit: USD_PER_FEU.
- Maximum data age: 26 hours daily or 9 calendar days weekly.
- Critical: FALSE.
- CONTAINER_TRANSATLANTIC_RATE: Major transatlantic route rate.
- Unit: USD_PER_FEU.
- Maximum data age: 26 hours daily or 9 calendar days weekly.
- Critical: FALSE.
- BALTIC_DRY_INDEX.
- BALTIC_CAPESIZE_INDEX.
- BALTIC_PANAMAX_INDEX.
- BALTIC_SUPRAMAX_INDEX.
- Permitted unit: INDEX_POINTS.
- Maximum data age: 26 hours.
- Historical lookback: 756 daily observations.
- BALTIC_DRY_INDEX is critical.
- Sub-indices are non-critical.
- The Baltic Dry Index and its sub-indices form one dry-bulk component and must not be counted as separate full-weight components.
- CRUDE_TANKER_RATE_COMPOSITE.
- PRODUCT_TANKER_RATE_COMPOSITE.
- Permitted unit: WORLD_SCALE_POINTS, USD_PER_DAY or permanent provider-index points.
- One unit must be retained consistently for the full history of each series.
- Maximum data age: 26 hours daily or 9 calendar days weekly.
- Both composites are critical for their respective tanker-subindustry calculations.
- AIR_FREIGHT_GLOBAL_RATE_COMPOSITE.
- AIR_FREIGHT_ASIA_US_RATE.
- AIR_FREIGHT_ASIA_EUROPE_RATE.
- Permitted unit: USD_PER_KILOGRAM or permanent provider-index points.
- Global composite is critical.
- Route-level rates are non-critical.
- Maximum data age: 9 calendar days unless the provider publishes daily data, in which case 26 hours.
- MARINE_BUNKER_FUEL_COST.
- Unit: USD_PER_METRIC_TON.
- Maximum data age: 26 hours.
- Critical for marine shipping-subindustry calculations.
- JET_FUEL_COST.
- Unit: USD_PER_GALLON, USD_PER_BARREL or permanent provider-index points.
- Maximum data age: 26 hours.
- Critical for air-cargo calculations.
Oil-price direction is not calculated in Module 8.
- PORT_CONGESTION_INDEX.
- Unit: INDEX_POINTS.
- Maximum data age: 15 minutes for live series or 26 hours for daily series.
- Critical: TRUE.
- PORT_WAIT_TIME_HOURS.
- Unit: HOURS.
- Maximum data age: 15 minutes for live series or 26 hours for daily series.
- Critical: FALSE when a valid port-congestion composite is available.
- PORT_CAPACITY_UNAVAILABLE_PCT.
- Unit: PERCENTAGE_POINTS from 0 to 100.
- Maximum data age: 15 minutes.
- Critical for route-specific operational-prevention decisions.
- SUPPLIER_DELIVERY_TIME_INDEX.
- Unit: INDEX_POINTS or DAYS.
- Direction metadata must state whether a higher value means longer or shorter delivery times.
- Maximum data age: 9 calendar days weekly or 45 calendar days monthly.
- Critical: TRUE.
- SUPPLY_CHAIN_PRESSURE_INDEX.
- Unit: INDEX_POINTS or STANDARD_DEVIATIONS according to the permanent provider definition.
- Maximum data age: 45 calendar days.
- Critical: FALSE.
- GLOBAL_PORT_THROUGHPUT: TEU, metric tons or permanent index.
- GLOBAL_CONTAINER_THROUGHPUT: TEU or permanent index.
- GLOBAL_VESSEL_PORT_CALLS: Vessel count or permanent index.
- GLOBAL_CARGO_TONNAGE: Metric tons or permanent index.
- GLOBAL_VESSEL_TON_MILES: Ton-miles or permanent index.
- At least three of these five series must be valid.
- Maximum data age: 9 calendar days weekly or 45 calendar days monthly.
- GLOBAL_IMPORT_VOLUME_INDEX.
- GLOBAL_EXPORT_VOLUME_INDEX.
- Unit: Seasonally comparable volume index.
- Value-based trade data must not substitute for physical-volume data.
- Maximum data age: 45 calendar days.
- Critical: FALSE.
- Seasonal comparison: Same calendar period during the previous three years.
For every route, including Red Sea/Suez, Panama and any other material route:
- ROUTE_ID.
- ROUTE_OPERATING_STATUS: NORMAL, RESTRICTED, PARTIALLY_CLOSED, CLOSED or UNKNOWN.
- ROUTE_CAPACITY_UNAVAILABLE_PCT: 0 to 100.
- ROUTE_ADDITIONAL_TRANSIT_HOURS: 0 or greater.
- ROUTE_TRAFFIC_REROUTED_PCT: 0 to 100.
- ROUTE_EVENT_START_TIMESTAMP.
- ROUTE_EXPECTED_RESTORATION_TIMESTAMP.
- ROUTE_LAST_CONFIRMED_TIMESTAMP.
- Maximum data age: 15 minutes while severity 3 or 4 is active; otherwise latest valid official update.
- Critical routes: Red Sea/Suez and Panama.
- SANCTIONS_OPERATIONAL_EFFECT_CONFIRMED: TRUE or FALSE.
- SANCTIONS_VESSEL_CAPACITY_AFFECTED_PCT.
- SANCTIONS_PORT_ACCESS_AFFECTED_PCT.
- SANCTIONS_ROUTE_ACCESS_AFFECTED_PCT.
- SANCTIONS_CARGO_RESTRICTION_PCT.
- SANCTIONS_ADDITIONAL_TRANSIT_HOURS.
- SANCTIONS_EFFECTIVE_TIMESTAMP.
- SANCTIONS_EXPIRY_TIMESTAMP where officially supplied.
- A sanctions headline without a confirmed physical or operational effect receives zero Module 8 points.
- SEMICONDUCTOR_LEAD_TIME_DAYS.
- Unit: CALENDAR_DAYS.
- Maximum data age: 9 calendar days weekly or 45 calendar days monthly.
- Critical: TRUE.
- SEMICONDUCTOR_AVAILABLE_INVENTORY_DAYS.
- Unit: INVENTORY_DAYS.
- Maximum data age: 45 calendar days.
- Critical: TRUE.
- FOUNDRY_CAPACITY_UTILISATION_PCT.
- Unit: PERCENTAGE_POINTS.
- Maximum data age: 45 calendar days.
- Critical: FALSE.
- SEMICONDUCTOR_BACKLOG_INDEX.
- Unit: INDEX_POINTS, ORDER_COUNT or VALUE using one consistent series.
- Maximum data age: 45 calendar days.
- Critical: FALSE.
- SEMICONDUCTOR_ORDER_CANCELLATION_RATE_PCT.
- Unit: PERCENTAGE_POINTS.
- Maximum data age: 45 calendar days.
- Critical: FALSE.
- SEMICONDUCTOR_SHORTAGE_BREADTH_PCT.
- Unit: Percentage of monitored component categories reporting shortages.
- Maximum data age: 45 calendar days.
- Critical: FALSE.
- MODULE_1_DATA_PERMISSION_STATUS.
- MODULE_1_PROVIDER_MODE.
- INHERITED_PAUSE_STATUS.
- INHERITED_RESTRICTION_LIST.
- Module 8 may extend an inherited pause but may not cancel it.
2.14 Configurable Parameters
The following are version-controlled parameters:
- Component weights.
- Engine weights.
- Historical sample sizes.
- Data-age limits.
- Score thresholds.
- Industry exposure coefficients.
- Recalculation times.
- Restriction thresholds.
- Restriction-resumption rules.
- Display precision.
- Calculation version.
Parameter changes require a new CALCULATION_VERSION and may not be changed during one calculation run.
PART 3 — DATA DEFINITIONS AND VALIDATION
3.1 Provider Consistency
- Every individual time series must use one Module 1-approved operational provider.
- A series must not switch providers inside its historical lookback.
- Different categories may use different approved providers when the categories require specialist data.
- Values from different providers must not be averaged.
- Module 1 backup-provider rules apply.
- When Module 1 activates a backup provider, the complete affected historical series must use the backup provider’s consistent history.
3.2 Timezone
- Module execution timezone: America/New_York.
- All calculations must also retain the original source timezone.
- All stored timestamps must be convertible to UTC.
- Daylight-saving changes must use the America/New_York timezone database, not a fixed UTC offset.
3.3 Historical Sample Requirements
- Daily series: 756 valid daily observations.
- Weekly series: 156 valid weekly observations.
- Monthly series: 36 valid monthly observations.
- Live route-severity calculations do not require a historical sample.
- A historical percentile is invalid when the required sample is unavailable.
- Missing observations must not be replaced, estimated or duplicated.
3.4 Data-Age Limits
- Live route, port and disruption data: 15 minutes.
- Daily data: 26 hours on normal trading days.
- Weekly data: 9 calendar days.
- Monthly data: 45 calendar days.
- Official sanctions and route status: latest valid official update.
- A scheduled low-frequency series remains valid until its next scheduled release plus the permitted delay.
3.5 Duplicate Treatment
- Identical duplicate with the same timestamp and value: retain one record.
- Conflicting duplicate with the same timestamp but different value: mark the field CONFLICTING.
- Do not choose one conflicting duplicate arbitrarily.
- A critical conflicting field makes the affected engine INVALID.
3.6 Preliminary and Revised Data
- Use the latest valid official release status.
- A revised observation replaces the previous observation.
- Recalculate affected historical comparisons after a revision.
- Record both the original and revised values in the audit fields.
- Do not combine preliminary and final observations as separate releases.
3.7 Market Holidays and Early Closes
- On a full US market holiday, do not run the scheduled 08:00 or closing calculation unless Output 2 requests a non-trading-day update.
- Route-disruption monitoring continues during holidays when severity 3 or 4 is active.
- On an early-close day, run the closing update 15 minutes before the official market close.
- Historical trading-day lookbacks exclude US market holidays.
3.8 Missing-Data Rules
- Each engine must retain all defined critical inputs.
- Each engine must also retain at least 70% of its original component weight.
- If a non-critical component is missing and available weight remains at least 70%, renormalise valid weights to 100%.
- Mark the engine PARTIAL.
- If valid weight is below 70%, mark the engine INVALID.
- If a critical field is missing, stale or conflicting, mark the engine INVALID.
- Do not generate sector or industry points from an invalid engine.
- Preserve unrelated valid engine results.
3.9 Failure Outputs
When the whole module cannot produce reliable results:
- MODULE_DATA_STATUS = INVALID.
- MODULE_CONFIDENCE_STATUS = INVALID.
- Affected impact points = 0.
- Affected industry status = NOT CALCULATED.
- MODULE_PERMISSION_EFFECT = PAUSED_FOR_DATA only when the missing data affect an active safety restriction.
- TRADE_APPROVED = FALSE.
- ORDER_GENERATED = FALSE.
- Existing inherited pauses remain active.
PART 4 — DETERMINISTIC CALCULATIONS
4.1 Common Historical Percentile Calculation
For each continuous component:
- CURRENT_LEVEL_PERCENTILE is the percentile rank of the current unrounded value within the required historical sample.
- MOMENTUM_21D is the current value minus the value 21 trading days earlier.
- For weekly data, use the current value minus the value four valid observations earlier.
- For monthly data, use the current value minus the previous monthly observation.
- MOMENTUM_PERCENTILE is the percentile rank of the current momentum value within the historical distribution of equivalent momentum observations.
Check the following conditions in order and stop at the first matching condition:
- Percentile greater than or equal to 90: raw point score = +2.
- Percentile greater than or equal to 70 and below 90: raw point score = +1.
- Percentile greater than 30 and below 70: raw point score = 0.
- Percentile greater than 10 and less than or equal to 30: raw point score = −1.
- Percentile less than or equal to 10: raw point score = −2.
For indicators where a higher value represents more pressure:
- DIRECTION_MULTIPLIER = +1.
For indicators where a higher value represents improving supply or activity:
- DIRECTION_MULTIPLIER = +1 when the engine’s positive meaning is improvement.
- Source direction must be normalised before scoring.
For indicators where a higher value represents a worse condition but the engine’s positive meaning is improvement:
- DIRECTION_MULTIPLIER = −1.
- LEVEL_POINTS = RAW_LEVEL_POINTS multiplied by DIRECTION_MULTIPLIER.
- MOMENTUM_POINTS = RAW_MOMENTUM_POINTS multiplied by DIRECTION_MULTIPLIER.
- COMBINED_COMPONENT_POINTS = 60% of LEVEL_POINTS plus 40% of MOMENTUM_POINTS.
- COMPONENT_SCORE = COMBINED_COMPONENT_POINTS divided by 2, multiplied by 100.
- Permitted range: −100 to +100.
- Apply thresholds to unrounded scores.
- Display scores to one decimal place.
4.2 Container-Rate Component
- Calculate separate scores for the global composite and each valid route series.
- Global composite weight inside the container component: 50%.
- Asia-US route: 20%.
- Asia-Europe route: 20%.
- Transatlantic route: 10%.
- Missing route-level weights may be renormalised when the global composite remains valid.
- Output: CONTAINER_RATE_SCORE.
4.3 Dry-Bulk Component
- Calculate scores for Baltic Dry, Capesize, Panamax and Supramax.
- Baltic Dry weight inside the dry-bulk component: 40%.
- Capesize: 25%.
- Panamax: 20%.
- Supramax: 15%.
- These subweights form one dry-bulk component.
- Output: DRY_BULK_RATE_SCORE.
4.4 Tanker Component
- Crude-tanker weight: 50%.
- Product-tanker weight: 50%.
- Output: TANKER_RATE_SCORE.
- Each tanker subindustry also retains its own separate score.
4.5 Air-Freight Component
- Global air-freight composite: 60%.
- Asia-US route: 20%.
- Asia-Europe route: 20%.
- Output: AIR_FREIGHT_RATE_SCORE.
4.6 Fuel-Cost Component
- Marine bunker-fuel score: 60%.
- Jet-fuel score: 40%.
- Higher fuel cost produces a higher cost-pressure score.
- Output: FUEL_COST_PRESSURE_SCORE.
4.7 Freight-Cost Pressure Score
- Container-shipping rates: 30%.
- Dry-bulk freight rates: 20%.
- Tanker rates: 20%.
- Air-freight rates: 15%.
- Fuel costs: 15%.
- FREIGHT_COST_PRESSURE_SCORE equals the weighted sum of the five valid component scores.
- Permitted range: −100 to +100.
4.8 Port-Congestion Component
- Port-congestion index: 70%.
- Port waiting time: 30%.
- Higher congestion and longer waiting time produce a positive pressure score.
- Output: PORT_CONGESTION_SCORE.
4.9 Delivery-Time Component
- Normalise the provider direction so that longer delivery times always produce a positive stress score.
- Output: DELIVERY_TIME_STRESS_SCORE.
4.10 Capacity and Delivery-Stress Score
- Port congestion: 35%.
- Delivery times: 35%.
- Supply-chain pressure indexes: 30%.
- CAPACITY_DELIVERY_STRESS_SCORE equals the weighted sum.
- Permitted range: −100 to +100.
4.11 Route-Severity Calculation
For each route, check the following conditions in order and stop at the first matching condition:
- Route is CLOSED, or capacity unavailable is at least 50%: ROUTE_SEVERITY = 4.
- Capacity unavailable is at least 25% but below 50%, or additional transit time is above 72 hours: ROUTE_SEVERITY = 3.
- Capacity unavailable is at least 10% but below 25%, or additional transit time is above 24 hours and not above 72 hours: ROUTE_SEVERITY = 2.
- Capacity unavailable is above 0% but below 10%, or additional transit time is above 0 and not above 24 hours: ROUTE_SEVERITY = 1.
- No confirmed capacity reduction and no confirmed additional delay: ROUTE_SEVERITY = 0.
Severity-point conversion:
- Severity 4 = 100.
- Severity 3 = 75.
- Severity 2 = 50.
- Severity 1 = 25.
- Severity 0 = 0.
4.12 Sanctions Operational-Severity Calculation
Sanctions receive a Module 8 score only when SANCTIONS_OPERATIONAL_EFFECT_CONFIRMED = TRUE.
Apply the same severity rules using:
- Vessel capacity affected.
- Port access affected.
- Route access affected.
- Cargo eligibility affected.
- Additional transit time.
A sanctions announcement without a measurable operational effect receives 0 points.
4.13 Route-Disruption Score
- Red Sea and Suez conditions: 35%.
- Panama Canal conditions: 25%.
- Other material shipping-route disruptions: 20%.
- Operational sanctions effects: 20%.
- ROUTE_DISRUPTION_SCORE equals the weighted disruption points.
- Permitted range: 0 to 100.
- MAX_ROUTE_SEVERITY equals the highest active route severity.
4.14 Global Shipping-Activity Composite
Within the global activity composite:
- Port throughput: 25%.
- Container throughput: 25%.
- Vessel port calls: 15%.
- Cargo tonnage: 15%.
- Vessel ton-miles: 20%.
At least three of the five components must be valid.
- Output: GLOBAL_SHIPPING_ACTIVITY_COMPOSITE_SCORE.
4.15 Global Shipping and Trade-Activity Score
- Global shipping-activity composite: 40%.
- Import-volume growth: 30%.
- Export-volume growth: 30%.
- GLOBAL_SHIPPING_ACTIVITY_SCORE equals the weighted sum.
- Permitted range: −100 to +100.
4.16 Semiconductor-Supply Components
Direction treatment:
- Falling supplier lead times = positive supply improvement.
- Rising available inventory = positive supply improvement.
- Falling shortage breadth = positive supply improvement.
- Rising backlog caused by unmet demand = negative supply condition.
- Falling backlog caused by completed deliveries = positive supply improvement.
- Falling backlog caused by order cancellations does not count as supply improvement.
- Very low foundry utilisation must not be treated as improving supply unless inventory, lead-time and cancellation data support that conclusion.
Weights:
- Supplier lead times: 30%.
- Available inventory: 25%.
- Foundry utilisation: 20%.
- Backlog and cancellation conditions: 15%.
- Shortage breadth: 10%.
- SEMICONDUCTOR_SUPPLY_SCORE equals the weighted sum.
- Permitted range: −100 to +100.
4.17 Semiconductor Conflict Calculation
- SEMICONDUCTOR_SUPPLY_CONFLICT_FLAG = TRUE when backlog falls while cancellation rate rises, and the cancellation-rate score is at least +20 in cancellation-pressure terms.
- When the conflict flag is TRUE, the backlog contribution is set to 0.
- Confidence is recalculated using the remaining evidence.
- The module must not classify falling backlog as improving supply in this condition.
4.18 Shipping-Subindustry Scores
Calculate separately:
- Container shipping.
- Dry-bulk shipping.
- Crude tankers.
- Product tankers.
- Air cargo.
- Freight forwarders and logistics providers.
- Ports and terminal operators.
For container, dry-bulk, crude-tanker, product-tanker and air-cargo operators:
- Relevant freight-rate score: 50%.
- Relevant shipping-volume score: 25%.
- Relevant fuel-cost score with inverse direction: 15%.
- Relevant congestion and route-operability score: 10%.
- SHIPPING_SUBINDUSTRY_RAW_SCORE equals the weighted sum.
The result may be positive only when all three helper conditions are FALSE:
- VOLUME_SEVERE_CONTRACTION.
- FUEL_COST_EXCEEDS_RATE_BENEFIT.
- OPERATIONAL_PREVENTION.
When any of these conditions is TRUE:
- Cap the final shipping-subindustry score at 0.
- Do not reverse a negative score to zero.
4.19 Freight-Forwarder and Logistics Score
Calculate:
- Global shipping activity: 35%.
- Freight-rate environment: 25%.
- Capacity and delivery conditions: 25%.
- Route conditions: 15%.
Freight-rate treatment:
- Freight-cost score from +20 to below +60 contributes positively because demand for logistics management may increase.
- Freight-cost score at or above +60 contributes 0 because severe cost pressure may compress margins.
- Freight-cost score below −20 contributes negatively because pricing opportunity is falling.
- Otherwise, contribution is 0.
Capacity treatment:
- Capacity-stress score from +20 to below +60 contributes positively.
- Capacity-stress score at or above +60 contributes negatively.
- Capacity-stress score below −20 contributes negatively.
- Otherwise, contribution is 0.
Route treatment:
- Route-disruption score at or above 75 contributes −100 before its 15% weight.
- Route-disruption score from 25 to below 75 contributes 0.
- Route-disruption score below 25 contributes +25 before its 15% weight.
4.20 Ports and Terminal Operators Score
- Port throughput: 60%.
- Available operating capacity: 25%.
- Congestion with inverse direction: 15%.
Higher throughput and available capacity are positive.
Higher congestion is negative.
4.21 Retail-Importer Impact Calculation
- RETAIL_LOGISTICS_PRESSURE_SCORE equals:
- 45% of FREIGHT_COST_PRESSURE_SCORE.
- 35% of CAPACITY_DELIVERY_STRESS_SCORE.
- 20% of ROUTE_DISRUPTION_SCORE.
- RETAIL_INDUSTRY_IMPACT_SCORE equals negative RETAIL_LOGISTICS_PRESSURE_SCORE, multiplied by the industry import-exposure coefficient.
- Cap the result between −100 and +100.
Fixed import-exposure coefficients:
- Apparel retail: 1.00.
- General merchandise retail: 1.00.
- Consumer-electronics retail: 1.00.
- Home-furnishing retail: 1.00.
- Toy and leisure-goods retail: 1.00.
- Auto-parts retail: 0.75.
- Specialty retail: 0.75.
- Footwear retail: 0.75.
- Household-goods retail: 0.75.
- Other approved retail industries with material domestic sourcing and some imported inventory: 0.50.
- Unmapped retail industries receive 0 Module 8 points and MAPPING_STATUS = NOT_MAPPED.
4.22 Industrial-Industry Impact Calculation
For each industrial industry:
- Activity contribution: 40% of GLOBAL_SHIPPING_ACTIVITY_SCORE multiplied by EXPORT_DEPENDENCY_COEFFICIENT.
- Freight-cost contribution: 25% of negative FREIGHT_COST_PRESSURE_SCORE multiplied by IMPORT_DEPENDENCY_COEFFICIENT.
- Capacity contribution: 20% of negative CAPACITY_DELIVERY_STRESS_SCORE multiplied by IMPORT_DEPENDENCY_COEFFICIENT.
- Semiconductor contribution: 15% of SEMICONDUCTOR_SUPPLY_SCORE multiplied by SEMICONDUCTOR_RELEVANCE_COEFFICIENT.
- INDUSTRIAL_INDUSTRY_IMPACT_SCORE equals the sum of the four contributions.
- Cap the result between −100 and +100.
Fixed coefficients:
- Machinery: import 0.75, export 1.00, semiconductor relevance 0.50.
- Electrical equipment: import 1.00, export 0.75, semiconductor relevance 1.00.
- Industrial components: import 1.00, export 0.75, semiconductor relevance 0.75.
- Aerospace manufacturing: import 0.50, export 1.00, semiconductor relevance 0.50.
- Automotive manufacturing: import 1.00, export 0.75, semiconductor relevance 1.00.
- Chemicals: import 0.50, export 1.00, semiconductor relevance 0.25.
- Construction equipment: import 0.75, export 0.75, semiconductor relevance 0.50.
- Rail and intermodal transport: import 0.25, export 0.50, semiconductor relevance 0.25.
- Trucking and logistics: import 0.25, export 0.25, semiconductor relevance 0.00.
- Air freight and logistics: import 0.50, export 0.75, semiconductor relevance 0.00.
- Marine transport: import 0.25, export 1.00, semiconductor relevance 0.00.
4.23 Industry Impact-Point Conversion
Check the following conditions in order and stop at the first matching condition:
- Impact score greater than or equal to +60: +2 points.
- Impact score greater than or equal to +20 and below +60: +1 point.
- Impact score greater than −20 and below +20: 0 points.
- Impact score greater than −60 and less than or equal to −20: −1 point.
- Impact score less than or equal to −60: −2 points.
4.24 Broad-Sector Classification
For each affected broad sector:
- At least one positive industry and no negative industry: POSITIVE.
- At least one negative industry and no positive industry: NEGATIVE.
- At least one positive and at least one negative industry: MIXED.
- All covered industries equal 0: NEUTRAL.
- Insufficient valid industries: INCOMPLETE.
Positive means impact points of +1 or +2.
Negative means impact points of −1 or −2.
Do not average opposite industry effects into a neutral broad-sector score.
4.25 Confidence Calculation
- VALID_DATA_WEIGHT_SCORE equals the percentage of original engine weight represented by valid inputs.
- COMPONENT_SPREAD equals the highest valid component score minus the lowest valid component score.
- AGREEMENT_SCORE equals 100 minus 50% of COMPONENT_SPREAD.
- Cap AGREEMENT_SCORE between 0 and 100.
- ENGINE_CONFIDENCE_SCORE equals 60% of VALID_DATA_WEIGHT_SCORE plus 40% of AGREEMENT_SCORE.
- Critical-input failure overrides the calculation and produces INVALID confidence.
4.26 Risk Calculation
Check the following conditions in order and stop at the first matching condition:
- Any active route severity 4, or route-disruption score at least 75: EXTREME.
- Route-disruption score at least 50, or capacity-stress score at least 60, or freight-cost pressure at least 60: HIGH.
- Route-disruption score at least 25, or capacity-stress score at least 20, or freight-cost pressure at least 20: ELEVATED.
- Otherwise: NORMAL.
4.27 Expected-Duration Calculation
Use the official or provider-confirmed restoration estimate.
- Ends within 1 trading day: ONE_DAY.
- Lasts 2 to 5 trading days: SHORT_TERM.
- Lasts 6 to 20 trading days: MEDIUM_TERM.
- Lasts more than 20 trading days: EXTENDED.
- No reliable end date: UNKNOWN.
When duration is UNKNOWN:
- Reduce the relevant engine confidence by 10 points.
- Do not reduce confidence below 0.
PART 5 — DESCRIPTIVE BANDS
5.1 Freight-Cost Pressure
Check in order and stop at the first matching condition:
- Score at least +60: SEVERE_COST_PRESSURE.
- Score at least +20 and below +60: RISING_COST_PRESSURE.
- Score above −20 and below +20: NEUTRAL_COST_PRESSURE.
- Score above −60 and not above −20: EASING_COST_PRESSURE.
- Score not above −60: SEVERE_COST_RELIEF.
5.2 Capacity and Delivery Stress
- Score at least +60: SEVERE_CAPACITY_STRESS.
- Score at least +20 and below +60: CAPACITY_STRESS.
- Score above −20 and below +20: NORMAL_CAPACITY_CONDITIONS.
- Score above −60 and not above −20: CAPACITY_EASING.
- Score not above −60: STRONG_CAPACITY_RELIEF.
5.3 Route Disruption
- Score at least 75: CRITICAL_ROUTE_DISRUPTION.
- Score at least 50 and below 75: HIGH_ROUTE_DISRUPTION.
- Score at least 25 and below 50: ELEVATED_ROUTE_DISRUPTION.
- Score above 0 and below 25: MINOR_ROUTE_DISRUPTION.
- Score equal to 0: NO_CONFIRMED_ROUTE_DISRUPTION.
5.4 Global Shipping Activity
- Score at least +60: RAPID_ACTIVITY_EXPANSION.
- Score at least +20 and below +60: ACTIVITY_EXPANSION.
- Score above −20 and below +20: STABLE_ACTIVITY.
- Score above −60 and not above −20: ACTIVITY_CONTRACTION.
- Score not above −60: SEVERE_ACTIVITY_CONTRACTION.
5.5 Semiconductor Supply
- Score at least +60: MAJOR_SUPPLY_IMPROVEMENT.
- Score at least +20 and below +60: SUPPLY_IMPROVEMENT.
- Score above −20 and below +20: BALANCED_SUPPLY.
- Score above −60 and not above −20: SUPPLY_TIGHTENING.
- Score not above −60: SEVERE_SUPPLY_TIGHTENING.
5.6 Confidence
- Confidence at least 80: HIGH.
- Confidence at least 60 and below 80: MEDIUM.
- Confidence below 60: LOW.
- Critical-input failure: INVALID.
PART 6 — HELPER CONDITIONS
6.1 Engine Validity
- ENGINE_VALID = TRUE when all critical fields are valid and available original component weight is at least 70%.
- Otherwise, ENGINE_VALID = FALSE.
6.2 Severe Volume Contraction
- VOLUME_SEVERE_CONTRACTION = TRUE when the relevant shipping-volume score is not above −60.
6.3 Fuel Cost Exceeds Freight-Rate Benefit
- FUEL_COST_EXCEEDS_RATE_BENEFIT = TRUE when the relevant fuel-cost pressure score is at least 20 points higher than the relevant freight-rate score.
6.4 Operational Prevention
- OPERATIONAL_PREVENTION = TRUE when the relevant primary route has severity 4 or at least 50% of required operating capacity is unavailable.
6.5 Semiconductor Backlog Conflict
- BACKLOG_DEMAND_CONFLICT = TRUE when backlog is falling and cancellation pressure is at least +20.
6.6 Mixed Broad Sector
- BROAD_SECTOR_MIXED = TRUE when at least one covered sub-industry has positive impact points and at least one has negative impact points.
6.7 Hard Restriction Trigger
- HARD_RESTRICTION_TRIGGER = TRUE when:
- At least one relevant route has severity 4.
- The affected industry’s logistics-pressure score is at least +60.
6.8 Restriction Resumption
- RESTRICTION_RESUMPTION_READY = TRUE only when:
- Relevant route severity is 2 or lower.
- Two consecutive valid updates at least 12 hours apart confirm severity 2 or lower.
- Relevant logistics-pressure score is below +60.
- No inherited pause remains active.
PART 7 — REGIME OR DECISION ORDER
7.1 Module-Level Descriptive Status
This status is descriptive only. It does not replace separate engine scores.
Check the following conditions in order and stop at the first matching condition:
- If the critical safety engines are invalid: MODULE_STATUS = INVALID.
- If a hard restriction is active: MODULE_STATUS = ROUTE_RESTRICTION_ACTIVE.
- If at least one signed engine score is at least +20 and another is not above −20: MODULE_STATUS = MIXED_SHIPPING_ENVIRONMENT.
- If freight-cost pressure is at least +20, capacity stress is at least +20 or route disruption is at least 25: MODULE_STATUS = LOGISTICS_PRESSURE.
- If freight-cost pressure is not above −20, capacity stress is not above −20 and route-disruption score equals 0: MODULE_STATUS = LOGISTICS_RELIEF.
- Otherwise: MODULE_STATUS = BALANCED_SHIPPING_ENVIRONMENT.
7.2 Decision Separation
Module 8 must produce separately:
- Freight-cost direction.
- Capacity and delivery condition.
- Route disruption.
- Global activity direction.
- Semiconductor supply.
- Shipping-subindustry economics.
- Retail-importer impact.
- Industrial-industry impact.
- Confidence.
- Risk.
- Permission effect.
A positive shipping-company score must not automatically be treated as positive for importers.
PART 8 — SHORT-TERM, EVENT OR MARKET OVERLAYS
8.1 Route-Disruption Overlay
Activation:
- Any route severity of at least 2.
Effects:
- Base freight, capacity, activity and semiconductor statuses remain unchanged.
- Route-disruption score is shown separately.
- Relevant shipping, importer and industrial impacts are recalculated.
- Risk may increase.
- Confidence may change.
- No market-wide pause is imposed.
Deactivation:
- Route severity returns to 0.
- The latest official update confirms normal operations.
Recalculation:
- Every 15 minutes during severity 3 or 4.
- At every confirmed status change during severity 1 or 2.
8.2 Sanctions Operational Overlay
Activation:
- A sanction creates a confirmed measurable shipping effect.
Effects:
- Score only the operational effect.
- Do not score the political meaning.
- Do not score the sanction again in Government Policy or Geopolitical Risk.
Deactivation:
- Official expiry or confirmed removal of the operational effect.
8.3 Semiconductor Supply Overlay
Activation:
- Semiconductor supply score is at least +20 or not above −20.
Effects:
- Recalculate only semiconductor-dependent industries.
- Do not change broad industrial industries that have a semiconductor-relevance coefficient of 0.
- Do not directly rank individual semiconductor stocks.
PART 9 — SCORE, IMPACT OR OUTCOME CALCULATION
9.1 Score Scales
- Continuous engine scores: −100 to +100.
- Route-disruption score: 0 to 100.
- Route severity: 0 to 4.
- Industry impact points: −2 to +2.
- Confidence: 0 to 100.
9.2 Meaning of Impact Points
- +2: Major positive module-specific effect.
- +1: Moderate positive module-specific effect.
- 0: Neutral, conflicting, invalid or insufficient effect.
- −1: Moderate negative module-specific effect.
- −2: Major negative module-specific effect.
9.3 Missing-Data Point Treatment
- Invalid engine contribution = 0.
- Mark the contribution INVALID, not neutral evidence.
- Do not renormalise an invalid specialist engine into another engine.
- Preserve valid unrelated impacts.
9.4 Point Movement Toward Zero
When an accepted overlay reduces an existing point by one level toward zero:
- +2 becomes +1.
- +1 becomes 0.
- 0 remains 0.
- −1 becomes 0.
- −2 becomes −1.
A temporary countermove must not reverse the sign unless the recalculated full impact score crosses the opposite threshold.
PART 10 — HANDOFFS AND DOUBLE-COUNTING CONTROLS
10.1 Module 8 Ownership
Module 8 owns:
- Physical freight rates.
- Physical logistics costs.
- Port congestion.
- Delivery delays.
- Route availability.
- Shipping capacity.
- Physical global shipping activity.
- Physical import and export volumes.
- Logistics-related semiconductor availability.
- Direct shipping-industry impacts.
- Direct retail-importer logistics impacts.
- Direct industrial logistics impacts.
10.2 Oil and Energy Complex Handoff
Pass:
- Marine bunker-fuel cost.
- Jet-fuel cost.
- Freight-cost effects linked to fuel.
Do not calculate:
- Oil macro direction.
- Energy-sector macro direction.
- Inflation effect of oil.
Module 8 uses fuel only as an operating-cost input.
10.3 Inflation Module Handoff
Pass:
- Freight-cost pressure score.
- Capacity and delivery-stress score.
- Relevant persistence and expected duration.
Module 8 assigns zero inflation points.
10.4 Global Growth Module Handoff
Pass:
- Global shipping-activity score.
- Import-volume score.
- Export-volume score.
Module 8 does not reinterpret these data as the final global-growth regime.
10.5 Government Policy and Geopolitical Handoff
Pass:
- Sanction identifier.
- Effective time.
- Physical capacity effect.
- Route effect.
- Port-access effect.
Module 8 scores only confirmed operational shipping effects.
10.6 Semiconductor and Sector Handoff
Pass:
- Semiconductor lead times.
- Inventory.
- Utilisation.
- Backlog.
- Cancellations.
- Shortage breadth.
- Semiconductor-supply score.
- Conflict flag.
Module 8 scores only the logistics and availability effect.
10.7 Sector Rotation and Relative Strength Handoff
Module 8 passes:
- Industry impact points.
- Confidence.
- Expected duration.
- Restrictions.
Module 8 does not use ETF relative-strength performance to confirm its own score.
10.8 Double-Counting Rule
- One input may be passed to another module but must receive directional points only in its owning module.
- Output 2 must identify Module 8 as the source of logistics-related sector and industry points.
- Freight costs, sanctions, oil and trade volumes must not receive duplicate points under multiple modules.
PART 11 — HARD OVERRIDES
11.1 Industry-Specific Route Restriction
Trigger:
- Relevant route severity equals 4.
- Affected industry logistics-pressure score is at least +60.
Effect:
- Block new long entries in directly harmed import-dependent industries.
- Do not block unrelated sectors or industries.
- Do not create an automatic short entry.
- Do not close an existing position.
- Do not reduce an existing position automatically.
- Do not alter a price-based stop.
- MODULE_PERMISSION_EFFECT = INDUSTRY_LONG_RESTRICTION.
Resumption:
- Route severity is 2 or lower.
- Two consecutive valid updates at least 12 hours apart confirm the improvement.
- Industry logistics-pressure score is below +60.
- No other module pause remains active.
11.2 Invalid Safety Data Override
Trigger:
- An active severity 3 or 4 disruption exists.
- Required live route data become stale, missing or conflicting.
Effect:
- Preserve the last confirmed restriction.
- Set confidence to INVALID.
- Do not assume the route reopened.
- Do not cancel the restriction until valid data return.
11.3 Inherited Pause Preservation
- Module 8 may add a restriction.
- Module 8 may not cancel, shorten or weaken another module’s active pause.
- Output 2 may extend a restriction but may not ignore it.
PART 12 — EXECUTION ORDER
Execute in this exact order:
- Load Module 1 provider and data-permission status.
- Load inherited pauses and restrictions.
- Validate formats, timestamps, units and providers.
- Remove identical duplicates.
- Invalidate conflicting duplicates.
- Verify historical sample sizes.
- Calculate data ages.
- Determine valid component weights.
- Calculate level and momentum percentiles.
- Calculate component scores.
- Calculate Freight-Cost Pressure Score.
- Calculate Capacity and Delivery-Stress Score.
- Calculate each route severity.
- Calculate sanctions operational severity.
- Calculate Route-Disruption Score.
- Calculate Global Shipping-Activity Score.
- Calculate Semiconductor-Supply Score and conflict flag.
- Calculate separate shipping-subindustry scores.
- Calculate separate retail-importer impacts.
- Calculate separate industrial-industry impacts.
- Convert industry scores to impact points.
- Calculate broad-sector POSITIVE, NEGATIVE, MIXED or NEUTRAL statuses.
- Calculate confidence.
- Calculate risk.
- Apply route and sanctions overlays.
- Apply hard restrictions.
- Preserve inherited restrictions.
- Create handoff packets.
- Produce Module 8 Output 1.
- Set TRADE_APPROVED = FALSE and ORDER_GENERATED = FALSE.
PART 13 — NON-CALCULATIVE CONSTRAINTS
Module 8 must not:
- Select an individual stock.
- Generate a final long entry.
- Generate a final short entry.
- Place an order.
- Close a position automatically.
- Reduce a position automatically.
- Reverse a position.
- Change a price-based stop solely because of a shipping signal.
- Set a stock-specific target.
- Interpret oil as a complete macro signal.
- Determine the complete inflation regime.
- Determine the complete global-growth regime.
- Duplicate a sanction score owned by another module.
- Duplicate ETF price-strength signals.
- Cancel another module’s active pause.
- Treat READY FOR REVIEW as TRADE APPROVED.
PART 14 — REQUIRED OUTPUT 1
14.1 Module Identification
- MODULE_NUMBER = 8.
- MODULE_NAME = SHIPPING_FREIGHT_AND_SUPPLY_CHAINS.
- CALCULATION_VERSION.
- CALCULATION_TIMESTAMP.
- EXECUTION_TIMEZONE = AMERICA_NEW_YORK.
- Provider identifiers used by each series.
14.2 Data Reliability
- MODULE_DATA_STATUS: VALID, PARTIAL or INVALID.
- ENGINE_DATA_STATUS for every engine.
- Data age for every critical field.
- Missing fields.
- Stale fields.
- Conflicting fields.
- Historical sample size.
- Available valid weight.
- Provider conflicts.
- Partial-output status.
- Failure reason.
- Current freight rates.
- Comparison values.
- Five-trading-day changes.
- Twenty-one-trading-day changes.
- Sixty-three-trading-day changes.
- Historical percentiles.
- Port and delivery data.
- Route statuses.
- Capacity unavailable.
- Transit delays.
- Shipping activity.
- Import and export volumes.
- Semiconductor-supply inputs.
- Reference timestamps.
14.4 Calculation Outputs
- CONTAINER_RATE_SCORE.
- DRY_BULK_RATE_SCORE.
- CRUDE_TANKER_RATE_SCORE.
- PRODUCT_TANKER_RATE_SCORE.
- AIR_FREIGHT_RATE_SCORE.
- FUEL_COST_PRESSURE_SCORE.
- FREIGHT_COST_PRESSURE_SCORE and classification.
- PORT_CONGESTION_SCORE.
- DELIVERY_TIME_STRESS_SCORE.
- CAPACITY_DELIVERY_STRESS_SCORE and classification.
- Route-level severity and disruption points.
- ROUTE_DISRUPTION_SCORE and classification.
- MAX_ROUTE_SEVERITY.
- GLOBAL_SHIPPING_ACTIVITY_SCORE and classification.
- SEMICONDUCTOR_SUPPLY_SCORE and classification.
- SEMICONDUCTOR_SUPPLY_CONFLICT_FLAG.
- Every weighted contribution.
- Every renormalised weight.
- Every conflict flag.
14.5 Final Module Outcome
- MODULE_STATUS.
- MODULE_DIRECTION_STATUS = NON_DIRECTIONAL_AT_MARKET_LEVEL.
- Separate shipping-subindustry scores.
- Separate retail-industry impact scores and points.
- Separate industrial-industry impact scores and points.
- Broad-sector status.
- Broad-sector mixed flag.
- MODULE_CONFIDENCE_SCORE and classification.
- MODULE_RISK_STATUS.
- MODULE_PERMISSION_EFFECT.
- Expected duration.
- Active restrictions.
14.6 Restrictions and Overrides
- Restriction identifier.
- Affected sector.
- Affected industry.
- Affected direction.
- Restriction start.
- Latest confirmation time.
- Required resumption conditions.
- Hard-override status.
- Inherited pause status.
- Blocked actions.
14.7 Handoffs
For every destination:
- Destination module.
- Raw fields passed.
- Calculated fields passed.
- Fields not interpreted by Module 8.
- Handoff status.
- Missing-handoff treatment.
- Directional points assigned by Module 8.
- Double-counting prevention identifier.
14.8 Trading-Bot Handoff
- Preferred shipping sub-industries.
- Harmed shipping sub-industries.
- Helped retail-importing industries.
- Harmed retail-importing industries.
- Helped industrial industries.
- Harmed industrial industries.
- Mixed sectors.
- Risk.
- Confidence.
- Restrictions.
- Expected duration.
- Recalculation timestamp.
- Information still required from Output 2.
- TRADE_APPROVED = FALSE.
- ORDER_GENERATED = FALSE.
- AUTOMATIC_POSITION_CHANGE = FALSE.
14.9 Audit Fields
- Formula identifiers.
- Thresholds used.
- Original weights.
- Renormalised weights.
- Provider identifiers.
- Historical observations used.
- Excluded observations.
- Revision history.
- Route-status history.
- Sanctions-status history.
- Restriction history.
- Calculation version.
15.1 Provider Names
- Missing: Exact licensed provider names and permanent series identifiers.
- Why it matters: The programmer must know which operational data feeds supply each field.
- Safest treatment: Use only providers approved and assigned through Module 1. Do not run an affected engine until its provider and series identifier are configured.
- Classification: CONTROLLED BY ANOTHER MODULE.
15.2 Unmapped Retail and Industrial Industries
- Missing: Exposure coefficients for industries not included in the fixed Module 8 maps.
- Why it matters: The bot cannot calculate a reliable industry impact without a defined import, export or semiconductor exposure.
- Safest treatment: Assign 0 Module 8 points, mark the industry NOT_MAPPED and do not infer a coefficient.
- Classification: NOT DEFINED.
15.3 Reliable Restoration Date
- Missing: A confirmed end date may not exist during a route disruption.
- Why it matters: Expected duration cannot be calculated reliably.
- Safest treatment: Classify duration as UNKNOWN, reduce confidence by 10 points and keep the disruption active until valid deactivation conditions are satisfied.
- Classification: PROPOSED DETERMINISTIC RESOLUTION — ACCEPTED.
SECTION TWO — ADHD-FRIENDLY HUMAN EXPLANATION- ONLY FOR AARTI
1. WHAT THIS MODULE IS FOR
This module checks whether shipping and supply chains are helping or hurting different parts of the stock market.
It looks at:
- The cost of moving goods.
- Whether ports and shipping routes are working normally.
- Whether goods are arriving late.
- Whether global trade is increasing or decreasing.
- Whether semiconductor supplies are improving or tightening.
- Which industries benefit.
- Which industries are harmed.
This is mainly an industry-impact and risk module.
It does not decide whether the whole stock market is bullish or bearish.
2. THE EXACT QUESTIONS THIS MODULE ANSWERS
The module answers:
- Are container, dry-bulk, tanker and air-freight costs rising or falling?
- Are ports congested?
- Are delivery times becoming longer?
- Are the Red Sea, Suez Canal or Panama Canal disrupted?
- Are sanctions physically preventing ships or cargo from moving?
- Is global shipping activity expanding or contracting?
- Is semiconductor supply improving or tightening?
- Are shipping companies benefiting?
- Are import-dependent retailers being harmed?
- Are industrial companies being helped or harmed?
- Must new long trades be blocked in a directly affected industry?
3.1 Freight Rates
The bot receives:
- Container-shipping rates.
- The Baltic Dry Index and its dry-bulk sub-indexes.
- Crude-oil tanker rates.
- Refined-product tanker rates.
- Air-freight rates.
- Marine bunker-fuel costs.
- Jet-fuel costs.
The Baltic Dry Index measures the cost of moving dry goods such as iron ore, coal and grain by sea.
3.2 Port and Delivery Conditions
The bot receives:
- Port-congestion levels.
- Port waiting times.
- The percentage of port capacity unavailable.
- Supplier delivery times.
- Supply-chain pressure indexes.
Longer waits and slower deliveries mean more supply-chain stress.
3.3 Route Disruptions
For each major route, the bot receives:
- Whether the route is open, restricted or closed.
- How much capacity is unavailable.
- How many extra hours the route adds.
- How much traffic is being rerouted.
- When the disruption started.
- When normal operations are expected to resume.
The bot checks the Red Sea and Suez Canal separately from the Panama Canal.
3.4 Global Trade Activity
The bot receives:
- Port throughput.
- Container throughput.
- Vessel port calls.
- Cargo tonnage.
- Vessel ton-miles.
- Import volumes.
- Export volumes.
Vessel ton-miles measure how much cargo is transported and how far it travels.
3.5 Semiconductor Supply
The bot receives:
- Supplier lead times.
- Available inventory.
- Foundry capacity use.
- Order backlogs.
- Order cancellations.
- The percentage of semiconductor categories reporting shortages.
A lead time is the number of days a customer waits between placing an order and receiving the semiconductor.
4. HOW THE BOT CALCULATES EACH RESULT
4.1 It Compares the Current Value With History
For most continuous data, the bot checks:
- The current value.
- The change over 5 trading days.
- The change over 21 trading days.
- The change over 63 trading days.
- Where the current value sits within the previous three years.
The current historical position receives 60% of the component result.
The 21-day direction receives 40%.
4.2 It Converts Different Data Into One Common Scale
Each normal score runs from −100 to +100.
- A positive freight-cost score means costs are rising.
- A negative freight-cost score means costs are falling.
- A positive activity score means shipping activity is increasing.
- A negative activity score means shipping activity is decreasing.
- A positive semiconductor-supply score means supply is improving.
- A negative semiconductor-supply score means supply is tightening.
The bot applies all boundaries to the complete unrounded number.
5. HOW EACH MAIN ENGINE IS CALCULATED
5.1 Freight-Cost Pressure
The freight-cost result uses:
- Container rates: 30%.
- Dry-bulk rates: 20%.
- Tanker rates: 20%.
- Air-freight rates: 15%.
- Fuel costs: 15%.
The result means:
- +60 or higher: Severe cost pressure.
- +20 to below +60: Rising cost pressure.
- Above −20 to below +20: Neutral.
- Above −60 to −20: Costs are easing.
- −60 or lower: Major cost relief.
Higher freight costs are usually bad for importers.
They may be good for shipping companies, but only when the company can still operate and the higher fuel bill does not remove the benefit.
5.2 Port and Delivery Stress
The result uses:
- Port congestion: 35%.
- Delivery times: 35%.
- Supply-chain pressure indexes: 30%.
The result means:
- +60 or higher: Severe capacity stress.
- +20 to below +60: Capacity stress.
- Above −20 to below +20: Normal conditions.
- Above −60 to −20: Conditions are easing.
- −60 or lower: Major capacity relief.
5.3 Route Disruption
Each route receives a severity from 0 to 4.
- 4: The route is closed, or at least 50% of capacity is unavailable.
- 3: At least 25% but less than 50% of capacity is unavailable, or the delay is more than 72 hours.
- 2: At least 10% but less than 25% is unavailable, or the delay is more than 24 hours and no more than 72 hours.
- 1: Less than 10% is unavailable, or the delay is no more than 24 hours.
- 0: No confirmed capacity loss or delay.
The combined route result gives:
- Red Sea and Suez: 35%.
- Panama Canal: 25%.
- Other important routes: 20%.
- Shipping sanctions with a physical effect: 20%.
A political sanctions headline receives no shipping score unless it actually changes vessel capacity, port access, route access, cargo eligibility or transit time.
5.4 Global Shipping Activity
The result uses:
- Global shipping activity: 40%.
- Import volumes: 30%.
- Export volumes: 30%.
The global activity part includes port throughput, container throughput, vessel calls, cargo tonnage and vessel ton-miles.
The result means:
- +60 or higher: Rapid expansion.
- +20 to below +60: Expansion.
- Above −20 to below +20: Stable.
- Above −60 to −20: Contraction.
- −60 or lower: Severe contraction.
5.5 Semiconductor Supply
The result uses:
- Supplier lead times: 30%.
- Available inventory: 25%.
- Foundry capacity use: 20%.
- Backlogs and cancellations: 15%.
- Shortage breadth: 10%.
Improving semiconductor supply means:
- Lead times are falling.
- Available inventory is rising.
- Shortages are affecting fewer component categories.
- Backlogs are falling because orders are being delivered.
A falling backlog is not treated as good when the backlog is falling because customers are cancelling orders.
6. HOW SHIPPING INDUSTRIES ARE SCORED
The bot calculates each shipping group separately:
- Container shipping.
- Dry-bulk shipping.
- Crude tankers.
- Product tankers.
- Air cargo.
- Freight forwarders.
- Ports and terminals.
For most carriers, the calculation uses:
- Relevant freight rate: 50%.
- Relevant shipping volume: 25%.
- Fuel cost: 15%.
- Congestion and route conditions: 10%.
A carrier cannot receive a positive result from higher freight rates when:
- Shipping volume is in severe contraction.
- Fuel pressure is at least 20 points worse than the freight-rate benefit.
- A necessary route is closed or at least 50% of operating capacity is unavailable.
Freight forwarders are treated differently.
Moderate freight pressure can help them because customers need more logistics support.
Severe freight pressure can hurt them because margins and capacity become difficult.
Ports and terminals are judged mainly by throughput and usable operating capacity.
7. HOW RETAIL IMPORTERS ARE SCORED
The bot calculates retail logistics pressure using:
- Freight costs: 45%.
- Port and delivery stress: 35%.
- Route disruption: 20%.
Higher logistics pressure gives import-dependent retailers a negative result.
Lower logistics pressure gives them a positive result.
The most exposed industries receive the full effect:
- Apparel.
- General merchandise.
- Consumer electronics.
- Home furnishings.
- Toys and leisure goods.
The following receive 75% of the effect:
- Auto parts.
- Specialty retail.
- Footwear.
- Household goods.
Other approved industries with lower import exposure receive 50% of the effect.
8. HOW INDUSTRIAL INDUSTRIES ARE SCORED
Each industrial industry receives a separate result.
The calculation uses:
- Global shipping and trade activity: 40%.
- Freight costs: 25%.
- Port and delivery stress: 20%.
- Semiconductor supply: 15%.
The bot adjusts the result according to how dependent each industry is on:
- Imported components.
- Export demand.
- Semiconductors.
For example:
- Electrical equipment and automotive manufacturing receive a large semiconductor effect.
- Aerospace and chemicals receive a large export-demand effect.
- Trucking receives no direct semiconductor effect.
- Marine transport receives a large global-trade effect.
A strong export environment and severe input delays may exist at the same time.
The bot preserves both effects instead of hiding them inside one neutral average.
9. HOW INDUSTRY RESULTS ARE CLASSIFIED
Every covered industry receives points from −2 to +2.
- +2: Major positive effect.
- +1: Moderate positive effect.
- 0: Neutral, conflicting, invalid or insufficient.
- −1: Moderate negative effect.
- −2: Major negative effect.
The broad sector becomes:
- Positive: At least one positive industry and no negative industry.
- Negative: At least one negative industry and no positive industry.
- Mixed: Positive and negative industries both exist.
- Neutral: All covered industries are neutral.
- Incomplete: There is not enough reliable data.
10. HOW CONFIDENCE IS CALCULATED
Confidence measures how reliable the result is.
It does not measure whether the result is bullish or bearish.
The bot uses:
- Valid available data: 60%.
- Agreement between the components: 40%.
Confidence is:
- 80 or higher: High.
- 60 to below 80: Medium.
- Below 60: Low.
- Missing critical data: Invalid.
When there is no reliable end date for a disruption, confidence is reduced by 10 points.
11. HOW RISK IS CLASSIFIED
Risk becomes:
- Extreme: A route has severity 4, or the combined route score is at least 75.
- High: The route score is at least 50, capacity stress is at least 60, or freight-cost pressure is at least 60.
- Elevated: The route score is at least 25, capacity stress is at least 20, or freight-cost pressure is at least 20.
- Normal: None of the previous conditions apply.
Risk and direction are separate.
A shipping company can have a positive industry result while the overall shipping risk is high.
12. WHEN THE MODULE BLOCKS NEW TRADES
Module 8 does not normally pause the whole market.
It blocks new long trades only in a directly harmed industry when:
- A relevant route reaches severity 4.
- That industry’s logistics-pressure score reaches at least +60.
The restriction ends only after:
- Route severity falls to 2 or lower.
- Two valid updates at least 12 hours apart confirm the improvement.
- The industry’s logistics-pressure score falls below +60.
- No other module pause remains active.
The module does not automatically close an existing trade.
13. WHEN THE MODULE RECALCULATES
The full module runs:
- At 8:00 a.m. US Eastern Time on normal US trading days.
- At 3:45 p.m. US Eastern Time.
- Fifteen minutes after a new scheduled data release becomes valid.
During a serious route disruption:
- Severity 3 or 4 conditions are checked every 15 minutes.
- A confirmed closure, reopening or sanctions change causes an immediate recalculation.
On an early-close day, the closing calculation runs 15 minutes before the official close.
14. EXACT OUTPUT PRODUCED
Module 8 Output 1 shows:
- Freight-cost pressure.
- Port and delivery stress.
- Route disruption.
- Global shipping activity.
- Semiconductor supply.
- Separate shipping-industry results.
- Separate retail-importer results.
- Separate industrial-industry results.
- Industry points from −2 to +2.
- Mixed broad sectors.
- Confidence.
- Risk.
- Active restrictions.
- Expected duration.
- Missing or invalid data.
- Information passed to other modules.
It also states:
- Trade approved: False.
- Order generated: False.
- Existing position automatically changed: False.
15. HOW THIS AFFECTS THE LARGER MACRO SYSTEM
Module 8 directly affects:
- Shipping-industry strength.
- Retail-importer industry strength.
- Industrial-industry strength.
- Semiconductor-dependent industry strength.
- Logistics risk.
- Industry-specific trading restrictions.
It does not directly decide:
- The final market direction.
- The complete inflation regime.
- The complete global-growth regime.
- The final preferred sector list.
- Any individual stock trade.
Its industry points, risks, confidence and restrictions are passed into Output 2 after all macro modules have been completed and accepted.