Loading…
Public trading strategy

Peace talks ease oil shock fears — buy shipping and airline stocks on the dip

Created

Thesis

The spike in oil prices caused by the Iran war has squeezed companies that depend heavily on fuel, like airlines and shipping firms. With peace talks reportedly on track and Kuwait suddenly shipping oil to Asia again, the global oil shortage might be easing faster than expected. If oil keeps dropping, transportation and logistics companies will see their fuel costs plummet, giving their profits a sudden boost. This creates a great opportunity to buy these beaten-down stocks while they are still cheap.

Strategy approach

Build a mean-reversion strategy that enters long XLI, UPS, and JBLU on the daily timeframe when crude oil (USO) drops 3% or more in a single day. Hold for 10 to 15 trading days, setting a profit target of 5% and a stop loss at 2.5%.

Markets and timeframes

Latest published rule evaluation

Evaluated . This is a dated rule snapshot, not a live price or trade execution confirmation.

JBLU · 1d

No entry condition values were published.

UPS · 1d

No entry condition values were published.

USO · 1d

0 of 3 published entry conditions marked met.

  • ROC (1) below -3 — far
  • RSI (14) below 45 — far
  • Price crossed above Bollinger (20) — far
  • RSI (14) above 60 — met

XLI · 1d

1 of 3 published entry conditions marked met.

  • ROC (1) below -3 — far
  • RSI (14) below 45 — met
  • Price crossed above Bollinger (20) — near
  • RSI (14) above 60 — far

Entry and exit at a glance

These are the named rules in the shared configuration. Review the full conditions below before using a strategy.

  • Entry: ROC/RSI/BB Crossover Long (XLI@1d) (5 conditions)
  • Entry: ROC/RSI/BB Crossover Long (USO@1d) (5 conditions)
  • Exit: Position Exit Rule (XLI@1d) (1 condition)
  • Exit: Position Exit Rule (USO@1d) (1 condition)
  • Exit: TP: Fib Extension 127.2% (XLI@1d) (1 condition)
  • Exit: TP: Fib Extension 127.2% (USO@1d) (1 condition)
  • Exit: SL: Below Support[2] (XLI@1d) (1 condition)
  • Exit: SL: Below Support[2] (USO@1d) (1 condition)
  • Exit: Stop Loss at 2.4% (1 condition)
  • Exit: Take Profit at 4.9% (1 condition)

Shared strategy rules

Rule configuration

{
  "data_dependencies": [
    {
      "symbol": "STOCK:XLI",
      "timeframe": "1d"
    },
    {
      "symbol": "STOCK:USO",
      "timeframe": "1d"
    }
  ],
  "entry_rules": [
    {
      "conditions": [
        {
          "left": {
            "chart_ref": {
              "symbol": "STOCK:XLI",
              "timeframe": "1d"
            },
            "indicator": {
              "name": "roc",
              "period": 1
            },
            "type": "indicator"
          },
          "operator": "less_than",
          "right": {
            "type": "constant",
            "value": -3
          }
        },
        {
          "left": {
            "chart_ref": {
              "symbol": "STOCK:XLI",
              "timeframe": "1d"
            },
            "indicator": {
              "name": "rsi",
              "period": 14
            },
            "type": "indicator"
          },
          "operator": "less_than",
          "right": {
            "type": "constant",
            "value": 45
          }
        },
        {
          "left": {
            "field": "close",
            "type": "price"
          },
          "operator": "crossed_above",
          "right": {
            "chart_ref": {
              "symbol": "STOCK:XLI",
              "timeframe": "1d"
            },
            "field": "lower",
            "indicator": {
              "name": "bollinger_bands",
              "period": 20,
              "std_dev": 2
            },
            "type": "indicator"
          }
        },
        {
          "left": {
            "field": "low",
            "type": "price"
          },
          "operator": "less_than_or_equal",
          "right": {
            "rank": 1,
            "type": "support_level"
          }
        },
        {
          "left": {
            "field": "close",
            "type": "price"
          },
          "operator": "greater_than",
          "right": {
            "rank": 1,
            "type": "support_level"
          }
        }
      ],
      "direction": "long",
      "enabled": true,
      "id": "entry_1_xli",
      "name": "ROC/RSI/BB Crossover Long (XLI@1d)",
      "priority": 1,
      "trade_symbol": "STOCK:XLI"
    },
    {
      "conditions": [
        {
          "left": {
            "chart_ref": {
              "symbol": "STOCK:USO",
              "timeframe": "1d"
            },
            "indicator": {
              "name": "roc",
              "period": 1
            },
            "type": "indicator"
          },
          "operator": "less_than",
          "right": {
            "type": "constant",
            "value": -3
          }
        },
        {
          "left": {
            "chart_ref": {
              "symbol": "STOCK:USO",
              "timeframe": "1d"
            },
            "indicator": {
              "name": "rsi",
              "period": 14
            },
            "type": "indicator"
          },
          "operator": "less_than",
          "right": {
            "type": "constant",
            "value": 45
          }
        },
        {
          "left": {
            "field": "close",
            "type": "price"
          },
          "operator": "crossed_above",
          "right": {
            "chart_ref": {
              "symbol": "STOCK:USO",
              "timeframe": "1d"
            },
            "field": "lower",
            "indicator": {
              "name": "bollinger_bands",
              "period": 20,
              "std_dev": 2
            },
            "type": "indicator"
          }
        },
        {
          "left": {
            "field": "low",
            "type": "price"
          },
          "operator": "less_than_or_equal",
          "right": {
            "rank": 1,
            "type": "support_level"
          }
        },
        {
          "left": {
            "field": "close",
            "type": "price"
          },
          "operator": "greater_than",
          "right": {
            "rank": 1,
            "type": "support_level"
          }
        }
      ],
      "direction": "long",
      "enabled": true,
      "id": "entry_1_uso",
      "name": "ROC/RSI/BB Crossover Long (USO@1d)",
      "priority": 2,
      "trade_symbol": "STOCK:USO"
    }
  ],
  "exit_rules": [
    {
      "applies_to": "both",
      "conditions": [
        {
          "left": {
            "chart_ref": {
              "symbol": "STOCK:XLI",
              "timeframe": "1d"
            },
            "indicator": {
              "name": "rsi",
              "period": 14
            },
            "type": "indicator"
          },
          "operator": "greater_than",
          "right": {
            "type": "constant",
            "value": 60
          }
        }
      ],
      "enabled": true,
      "id": "exit_1_xli",
      "name": "Position Exit Rule (XLI@1d)",
      "priority": 1,
      "purpose": "signal",
      "target_symbol": "STOCK:XLI"
    },
    {
      "applies_to": "both",
      "conditions": [
        {
          "left": {
            "chart_ref": {
              "symbol": "STOCK:USO",
              "timeframe": "1d"
            },
            "indicator": {
              "name": "rsi",
              "period": 14
            },
            "type": "indicator"
          },
          "operator": "greater_than",
          "right": {
            "type": "constant",
            "value": 60
          }
        }
      ],
      "enabled": true,
      "id": "exit_1_uso",
      "name": "Position Exit Rule (USO@1d)",
      "priority": 2,
      "purpose": "signal",
      "target_symbol": "STOCK:USO"
    },
    {
      "applies_to": "both",
      "conditions": [
        {
          "left": {
            "field": "close",
            "type": "price"
          },
          "operator": "greater_than_or_equal",
          "right": {
            "chart_ref": {
              "symbol": "STOCK:XLI",
              "timeframe": "1d"
            },
            "ratio": 1272,
            "type": "fibonacci_extension"
          }
        }
      ],
      "enabled": true,
      "id": "exit_2_xli",
      "name": "TP: Fib Extension 127.2% (XLI@1d)",
      "priority": 97,
      "purpose": "take_profit",
      "target_symbol": "STOCK:XLI"
    },
    {
      "applies_to": "both",
      "conditions": [
        {
          "left": {
            "field": "close",
            "type": "price"
          },
          "operator": "greater_than_or_equal",
          "right": {
            "chart_ref": {
              "symbol": "STOCK:USO",
              "timeframe": "1d"
            },
            "ratio": 1272,
            "type": "fibonacci_extension"
          }
        }
      ],
      "enabled": true,
      "id": "exit_2_uso",
      "name": "TP: Fib Extension 127.2% (USO@1d)",
      "priority": 98,
      "purpose": "take_profit",
      "target_symbol": "STOCK:USO"
    },
    {
      "applies_to": "both",
      "conditions": [
        {
          "left": {
            "field": "close",
            "type": "price"
          },
          "operator": "less_than",
          "right": {
            "rank": 2,
            "type": "support_level"
          }
        }
      ],
      "enabled": true,
      "id": "exit_3_xli",
      "name": "SL: Below Support[2] (XLI@1d)",
      "priority": 100,
      "purpose": "stop_loss",
      "target_symbol": "STOCK:XLI"
    },
    {
      "applies_to": "both",
      "conditions": [
        {
          "left": {
            "field": "close",
            "type": "price"
          },
          "operator": "less_than",
          "right": {
            "rank": 2,
            "type": "support_level"
          }
        }
      ],
      "enabled": true,
      "id": "exit_3_uso",
      "name": "SL: Below Support[2] (USO@1d)",
      "priority": 101,
      "purpose": "stop_loss",
      "target_symbol": "STOCK:USO"
    },
    {
      "applies_to": "both",
      "conditions": [
        {
          "left": {
            "field": "unrealized_pnl_percent",
            "type": "position"
          },
          "operator": "less_than_or_equal",
          "right": {
            "type": "constant",
            "value": -2.431433333333333
          }
        }
      ],
      "enabled": true,
      "id": "exit_4",
      "name": "Stop Loss at 2.4%",
      "priority": 100,
      "purpose": "stop_loss"
    },
    {
      "applies_to": "both",
      "conditions": [
        {
          "left": {
            "field": "unrealized_pnl_percent",
            "type": "position"
          },
          "operator": "greater_than_or_equal",
          "right": {
            "type": "constant",
            "value": 4.862866666666666
          }
        }
      ],
      "enabled": true,
      "id": "exit_5",
      "name": "Take Profit at 4.9%",
      "priority": 100,
      "purpose": "take_profit"
    }
  ],
  "position_sizing": {
    "max_position_percent": 25,
    "method": {
      "risk_percent": 2.431433333333333,
      "support_stop_rank": 2,
      "type": "fixed_risk"
    },
    "min_position_value": 100
  },
  "trigger_timeframe": "1d",
  "version": 1
}

Indicator configuration

{
  "indicators": [
    {
      "name": "roc",
      "period": 1
    },
    {
      "name": "rsi",
      "period": 14
    },
    {
      "name": "bollinger_bands",
      "period": 20,
      "std_dev": 2
    },
    {
      "name": "roc",
      "period": 1
    },
    {
      "name": "rsi",
      "period": 14
    },
    {
      "name": "bollinger_bands",
      "period": 20,
      "std_dev": 2
    }
  ]
}

Parsed strategy

{
  "data_dependencies": [
    {
      "symbol": "STOCK:XLI",
      "timeframe": "1d"
    },
    {
      "symbol": "STOCK:USO",
      "timeframe": "1d"
    }
  ],
  "entry_rules": [
    {
      "conditions": [
        {
          "left": {
            "chart_ref": {
              "symbol": "STOCK:XLI",
              "timeframe": "1d"
            },
            "indicator": {
              "name": "roc",
              "period": 1
            },
            "type": "indicator"
          },
          "operator": "less_than",
          "right": {
            "type": "constant",
            "value": -3
          }
        },
        {
          "left": {
            "chart_ref": {
              "symbol": "STOCK:XLI",
              "timeframe": "1d"
            },
            "indicator": {
              "name": "rsi",
              "period": 14
            },
            "type": "indicator"
          },
          "operator": "less_than",
          "right": {
            "type": "constant",
            "value": 45
          }
        },
        {
          "left": {
            "field": "close",
            "type": "price"
          },
          "operator": "crossed_above",
          "right": {
            "chart_ref": {
              "symbol": "STOCK:XLI",
              "timeframe": "1d"
            },
            "field": "lower",
            "indicator": {
              "name": "bollinger_bands",
              "period": 20,
              "std_dev": 2
            },
            "type": "indicator"
          }
        },
        {
          "left": {
            "field": "low",
            "type": "price"
          },
          "operator": "less_than_or_equal",
          "right": {
            "rank": 1,
            "type": "support_level"
          }
        },
        {
          "left": {
            "field": "close",
            "type": "price"
          },
          "operator": "greater_than",
          "right": {
            "rank": 1,
            "type": "support_level"
          }
        }
      ],
      "direction": "long",
      "enabled": true,
      "id": "entry_1_xli",
      "name": "ROC/RSI/BB Crossover Long (XLI@1d)",
      "priority": 1,
      "trade_symbol": "STOCK:XLI"
    },
    {
      "conditions": [
        {
          "left": {
            "chart_ref": {
              "symbol": "STOCK:USO",
              "timeframe": "1d"
            },
            "indicator": {
              "name": "roc",
              "period": 1
            },
            "type": "indicator"
          },
          "operator": "less_than",
          "right": {
            "type": "constant",
            "value": -3
          }
        },
        {
          "left": {
            "chart_ref": {
              "symbol": "STOCK:USO",
              "timeframe": "1d"
            },
            "indicator": {
              "name": "rsi",
              "period": 14
            },
            "type": "indicator"
          },
          "operator": "less_than",
          "right": {
            "type": "constant",
            "value": 45
          }
        },
        {
          "left": {
            "field": "close",
            "type": "price"
          },
          "operator": "crossed_above",
          "right": {
            "chart_ref": {
              "symbol": "STOCK:USO",
              "timeframe": "1d"
            },
            "field": "lower",
            "indicator": {
              "name": "bollinger_bands",
              "period": 20,
              "std_dev": 2
            },
            "type": "indicator"
          }
        },
        {
          "left": {
            "field": "low",
            "type": "price"
          },
          "operator": "less_than_or_equal",
          "right": {
            "rank": 1,
            "type": "support_level"
          }
        },
        {
          "left": {
            "field": "close",
            "type": "price"
          },
          "operator": "greater_than",
          "right": {
            "rank": 1,
            "type": "support_level"
          }
        }
      ],
      "direction": "long",
      "enabled": true,
      "id": "entry_1_uso",
      "name": "ROC/RSI/BB Crossover Long (USO@1d)",
      "priority": 2,
      "trade_symbol": "STOCK:USO"
    }
  ],
  "exit_rules": [
    {
      "applies_to": "both",
      "conditions": [
        {
          "left": {
            "chart_ref": {
              "symbol": "STOCK:XLI",
              "timeframe": "1d"
            },
            "indicator": {
              "name": "rsi",
              "period": 14
            },
            "type": "indicator"
          },
          "operator": "greater_than",
          "right": {
            "type": "constant",
            "value": 60
          }
        }
      ],
      "enabled": true,
      "id": "exit_1_xli",
      "name": "Position Exit Rule (XLI@1d)",
      "priority": 1,
      "purpose": "signal",
      "target_symbol": "STOCK:XLI"
    },
    {
      "applies_to": "both",
      "conditions": [
        {
          "left": {
            "chart_ref": {
              "symbol": "STOCK:USO",
              "timeframe": "1d"
            },
            "indicator": {
              "name": "rsi",
              "period": 14
            },
            "type": "indicator"
          },
          "operator": "greater_than",
          "right": {
            "type": "constant",
            "value": 60
          }
        }
      ],
      "enabled": true,
      "id": "exit_1_uso",
      "name": "Position Exit Rule (USO@1d)",
      "priority": 2,
      "purpose": "signal",
      "target_symbol": "STOCK:USO"
    },
    {
      "applies_to": "both",
      "conditions": [
        {
          "left": {
            "field": "close",
            "type": "price"
          },
          "operator": "greater_than_or_equal",
          "right": {
            "chart_ref": {
              "symbol": "STOCK:XLI",
              "timeframe": "1d"
            },
            "ratio": 1272,
            "type": "fibonacci_extension"
          }
        }
      ],
      "enabled": true,
      "id": "exit_2_xli",
      "name": "TP: Fib Extension 127.2% (XLI@1d)",
      "priority": 97,
      "purpose": "take_profit",
      "target_symbol": "STOCK:XLI"
    },
    {
      "applies_to": "both",
      "conditions": [
        {
          "left": {
            "field": "close",
            "type": "price"
          },
          "operator": "greater_than_or_equal",
          "right": {
            "chart_ref": {
              "symbol": "STOCK:USO",
              "timeframe": "1d"
            },
            "ratio": 1272,
            "type": "fibonacci_extension"
          }
        }
      ],
      "enabled": true,
      "id": "exit_2_uso",
      "name": "TP: Fib Extension 127.2% (USO@1d)",
      "priority": 98,
      "purpose": "take_profit",
      "target_symbol": "STOCK:USO"
    },
    {
      "applies_to": "both",
      "conditions": [
        {
          "left": {
            "field": "close",
            "type": "price"
          },
          "operator": "less_than",
          "right": {
            "rank": 2,
            "type": "support_level"
          }
        }
      ],
      "enabled": true,
      "id": "exit_3_xli",
      "name": "SL: Below Support[2] (XLI@1d)",
      "priority": 100,
      "purpose": "stop_loss",
      "target_symbol": "STOCK:XLI"
    },
    {
      "applies_to": "both",
      "conditions": [
        {
          "left": {
            "field": "close",
            "type": "price"
          },
          "operator": "less_than",
          "right": {
            "rank": 2,
            "type": "support_level"
          }
        }
      ],
      "enabled": true,
      "id": "exit_3_uso",
      "name": "SL: Below Support[2] (USO@1d)",
      "priority": 101,
      "purpose": "stop_loss",
      "target_symbol": "STOCK:USO"
    },
    {
      "applies_to": "both",
      "conditions": [
        {
          "left": {
            "field": "unrealized_pnl_percent",
            "type": "position"
          },
          "operator": "less_than_or_equal",
          "right": {
            "type": "constant",
            "value": -2.431433333333333
          }
        }
      ],
      "enabled": true,
      "id": "exit_4",
      "name": "Stop Loss at 2.4%",
      "priority": 100,
      "purpose": "stop_loss"
    },
    {
      "applies_to": "both",
      "conditions": [
        {
          "left": {
            "field": "unrealized_pnl_percent",
            "type": "position"
          },
          "operator": "greater_than_or_equal",
          "right": {
            "type": "constant",
            "value": 4.862866666666666
          }
        }
      ],
      "enabled": true,
      "id": "exit_5",
      "name": "Take Profit at 4.9%",
      "priority": 100,
      "purpose": "take_profit"
    }
  ],
  "position_sizing": {
    "max_position_percent": 25,
    "method": {
      "risk_percent": 2.431433333333333,
      "support_stop_rank": 2,
      "type": "fixed_risk"
    },
    "min_position_value": 100
  },
  "trigger_timeframe": "1d",
  "version": 1
}

Strategy instructions

Trading agent generated from recommendation idea 'Peace talks ease oil shock fears — buy shipping and airline stocks on the dip'. Thesis: The spike in oil prices caused by the Iran war has squeezed companies that depend heavily on fuel, like airlines and shipping firms. With peace talks reportedly on track and Kuwait suddenly shipping oil to Asia again, the global oil shortage might be easing faster than expected. If oil keeps dropping, transportation and logistics companies will see their fuel costs plummet, giving their profits a sudden boost. This creates a great opportunity to buy these beaten-down stocks while they are still cheap.

Performance

No trade count, win rate, or realized P&L figures are provided in this public preview. The thesis and shared rules do not establish a performance record.

What this public preview can establish

  • The dated rule snapshot above shows the conditions evaluated at that time. It does not prove a current trigger or executed trade.
  • Technical strategy fields are shared above. Inspect the actual conditions and check when they were evaluated before relying on them.
  • No trade count, win rate, or P&L figure is published in this preview. It cannot establish a performance record.

Explore

How CommonQuant researches and tests strategies · Public paper-trading record and its limits · Discover public strategies