Loading…
Public trading strategy

Fed signals rate hikes while Iran floods the market with oil — short the energy

Created

Thesis

The threat of higher interest rates makes the U.S. dollar stronger, and since oil is priced in dollars, a stronger dollar makes oil more expensive for global buyers, naturally pushing the price down. On top of that, the new Iran deal relieves geopolitical tension and opens up a major shipping route, meaning more oil supply will hit the market just as global demand might shrink from higher interest rates. When supply goes up and demand is pressured, oil prices usually fall. Betting against oil, or oil drilling companies, captures this double whammy of bad news for the energy sector.

Strategy approach

Build a trend-following short strategy on USO (United States Oil Fund) using the daily timeframe. Enter short when USO closes below its 20-day simple moving average and the 10-day moving average crosses below the 20-day moving average. Exit the trade if USO closes back above the 20-day moving average. Use a 5% stop loss to protect against a sudden reversal in oil prices.

Markets and timeframes

Latest published rule evaluation

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

USO · 1d

0 of 3 published entry conditions marked met.

  • SMA (10) crossed below SMA (20) — near
  • Price below SMA (50) — far
  • SMA (20) below SMA (50) — far
  • Price below SMA (20) — far

XOP · 1d

0 of 3 published entry conditions marked met.

  • SMA (10) crossed below SMA (20) — near
  • Price below SMA (50) — far
  • SMA (20) below SMA (50) — far
  • Price below SMA (20) — 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: Confirmed Downtrend Fade — Long Reversal (USO@1d) (3 conditions)
  • Exit: Position Exit Rule (USO@1d) (1 condition)
  • Exit: Stop Loss at 5.0% (1 condition)
  • Exit: Take Profit at 10.0% (1 condition)

Shared strategy rules

Rule configuration

{
  "data_dependencies": [
    {
      "symbol": "STOCK:USO",
      "timeframe": "1d"
    }
  ],
  "entry_rules": [
    {
      "conditions": [
        {
          "left": {
            "chart_ref": {
              "symbol": "STOCK:USO",
              "timeframe": "1d"
            },
            "indicator": {
              "name": "sma",
              "period": 10
            },
            "type": "indicator"
          },
          "operator": "crossed_below",
          "right": {
            "chart_ref": {
              "symbol": "STOCK:USO",
              "timeframe": "1d"
            },
            "indicator": {
              "name": "sma",
              "period": 20
            },
            "type": "indicator"
          }
        },
        {
          "left": {
            "field": "close",
            "type": "price"
          },
          "operator": "less_than",
          "right": {
            "chart_ref": {
              "symbol": "STOCK:USO",
              "timeframe": "1d"
            },
            "indicator": {
              "name": "sma",
              "period": 50
            },
            "type": "indicator"
          }
        },
        {
          "left": {
            "chart_ref": {
              "symbol": "STOCK:USO",
              "timeframe": "1d"
            },
            "indicator": {
              "name": "sma",
              "period": 20
            },
            "type": "indicator"
          },
          "operator": "less_than",
          "right": {
            "chart_ref": {
              "symbol": "STOCK:USO",
              "timeframe": "1d"
            },
            "indicator": {
              "name": "sma",
              "period": 50
            },
            "type": "indicator"
          }
        }
      ],
      "direction": "long",
      "enabled": true,
      "id": "entry_1",
      "name": "Confirmed Downtrend Fade — Long Reversal (USO@1d)",
      "priority": 1,
      "trade_symbol": "STOCK:USO"
    }
  ],
  "exit_rules": [
    {
      "applies_to": "both",
      "conditions": [
        {
          "left": {
            "field": "close",
            "type": "price"
          },
          "operator": "less_than",
          "right": {
            "chart_ref": {
              "symbol": "STOCK:USO",
              "timeframe": "1d"
            },
            "indicator": {
              "name": "sma",
              "period": 20
            },
            "type": "indicator"
          }
        }
      ],
      "enabled": true,
      "id": "exit_1",
      "name": "Position Exit Rule (USO@1d)",
      "priority": 1,
      "purpose": "signal",
      "target_symbol": "STOCK:USO"
    },
    {
      "applies_to": "both",
      "conditions": [
        {
          "left": {
            "field": "unrealized_pnl_percent",
            "type": "position"
          },
          "operator": "less_than",
          "right": {
            "type": "constant",
            "value": -5
          }
        }
      ],
      "enabled": true,
      "id": "exit_2",
      "name": "Stop Loss at 5.0%",
      "priority": 100,
      "purpose": "stop_loss",
      "target_symbol": "STOCK:USO"
    },
    {
      "applies_to": "both",
      "conditions": [
        {
          "left": {
            "field": "unrealized_pnl_percent",
            "type": "position"
          },
          "operator": "greater_than_or_equal",
          "right": {
            "type": "constant",
            "value": 10
          }
        }
      ],
      "enabled": true,
      "id": "exit_3",
      "name": "Take Profit at 10.0%",
      "priority": 90,
      "purpose": "take_profit",
      "target_symbol": "STOCK:USO"
    }
  ],
  "position_sizing": {
    "max_position_percent": 25,
    "method": {
      "risk_percent": 2,
      "stop_loss_percent": 5,
      "type": "fixed_risk"
    },
    "min_position_value": 100
  },
  "trigger_timeframe": "1d",
  "version": 3
}

Indicator configuration

{
  "indicators": [
    {
      "name": "sma",
      "period": 10
    },
    {
      "name": "sma",
      "period": 20
    }
  ]
}

Parsed strategy

{
  "data_dependencies": [
    {
      "symbol": "STOCK:USO",
      "timeframe": "1d"
    }
  ],
  "entry_rules": [
    {
      "conditions": [
        {
          "left": {
            "chart_ref": {
              "symbol": "STOCK:USO",
              "timeframe": "1d"
            },
            "indicator": {
              "name": "sma",
              "period": 10
            },
            "type": "indicator"
          },
          "operator": "crossed_below",
          "right": {
            "chart_ref": {
              "symbol": "STOCK:USO",
              "timeframe": "1d"
            },
            "indicator": {
              "name": "sma",
              "period": 20
            },
            "type": "indicator"
          }
        },
        {
          "left": {
            "field": "close",
            "type": "price"
          },
          "operator": "less_than",
          "right": {
            "chart_ref": {
              "symbol": "STOCK:USO",
              "timeframe": "1d"
            },
            "indicator": {
              "name": "sma",
              "period": 50
            },
            "type": "indicator"
          }
        },
        {
          "left": {
            "chart_ref": {
              "symbol": "STOCK:USO",
              "timeframe": "1d"
            },
            "indicator": {
              "name": "sma",
              "period": 20
            },
            "type": "indicator"
          },
          "operator": "less_than",
          "right": {
            "chart_ref": {
              "symbol": "STOCK:USO",
              "timeframe": "1d"
            },
            "indicator": {
              "name": "sma",
              "period": 50
            },
            "type": "indicator"
          }
        }
      ],
      "direction": "long",
      "enabled": true,
      "id": "entry_1",
      "name": "Confirmed Downtrend Fade — Long Reversal (USO@1d)",
      "priority": 1,
      "trade_symbol": "STOCK:USO"
    }
  ],
  "exit_rules": [
    {
      "applies_to": "both",
      "conditions": [
        {
          "left": {
            "field": "close",
            "type": "price"
          },
          "operator": "less_than",
          "right": {
            "chart_ref": {
              "symbol": "STOCK:USO",
              "timeframe": "1d"
            },
            "indicator": {
              "name": "sma",
              "period": 20
            },
            "type": "indicator"
          }
        }
      ],
      "enabled": true,
      "id": "exit_1",
      "name": "Position Exit Rule (USO@1d)",
      "priority": 1,
      "purpose": "signal",
      "target_symbol": "STOCK:USO"
    },
    {
      "applies_to": "both",
      "conditions": [
        {
          "left": {
            "field": "unrealized_pnl_percent",
            "type": "position"
          },
          "operator": "less_than",
          "right": {
            "type": "constant",
            "value": -5
          }
        }
      ],
      "enabled": true,
      "id": "exit_2",
      "name": "Stop Loss at 5.0%",
      "priority": 100,
      "purpose": "stop_loss",
      "target_symbol": "STOCK:USO"
    },
    {
      "applies_to": "both",
      "conditions": [
        {
          "left": {
            "field": "unrealized_pnl_percent",
            "type": "position"
          },
          "operator": "greater_than_or_equal",
          "right": {
            "type": "constant",
            "value": 10
          }
        }
      ],
      "enabled": true,
      "id": "exit_3",
      "name": "Take Profit at 10.0%",
      "priority": 90,
      "purpose": "take_profit",
      "target_symbol": "STOCK:USO"
    }
  ],
  "position_sizing": {
    "max_position_percent": 25,
    "method": {
      "risk_percent": 2,
      "stop_loss_percent": 5,
      "type": "fixed_risk"
    },
    "min_position_value": 100
  },
  "trigger_timeframe": "1d",
  "version": 3
}

Strategy instructions

Trading agent generated from recommendation idea 'Fed signals rate hikes while Iran floods the market with oil — short the energy patch'. Thesis: The threat of higher interest rates makes the U.S. dollar stronger, and since oil is priced in dollars, a stronger dollar makes oil more expensive for global buyers, naturally pushing the price down. On top of that, the new Iran deal relieves geopolitical tension and opens up a major shipping route, meaning more oil supply will hit the market just as global demand might shrink from higher interest rates. When supply goes up and demand is pressured, oil prices usually fall. Betting against oil, or oil drilling companies, captures this double whammy of bad news for the energy sector.

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