Iran peace deal floods the market with oil — short energy stocks and oil funds
Created
Thesis
The agreement to reopen the Strait of Hormuz takes a major geopolitical risk premium off the table, causing Wall Street banks to slash their price forecasts. With a wave of new supply expected to hit the market and prices already breaking below the $80 mark, the trend for oil is clearly pointing down. Companies that drill and refine oil, like ExxonMobil and Chevron, usually see their profit margins shrink when crude prices fall. Betting against oil and major oil companies as this new supply floods the market is a straightforward way to play the news.
Strategy approach
Build a trend-following strategy that enters short on USO (or CL futures). Entry condition: price closes below the lower Bollinger Band (20, 2) on the Daily timeframe. Exit condition: price closes above the 20-day Simple Moving Average, or hold for a maximum of 15 trading days. Target a 5% to 8% downside move.
Markets and timeframes
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: BB Signal Short (USO@4h) (1 condition)
- Entry: BB Signal Short (XOM@4h) (1 condition)
- Entry: BB Signal Short (CVX@4h) (1 condition)
- Exit: Position Exit Rule (USO@4h) (1 condition)
- Exit: Position Exit Rule (XOM@4h) (1 condition)
- Exit: Position Exit Rule (CVX@4h) (1 condition)
- Exit: Stop Loss at 5.0% (1 condition)
- Exit: Stop Loss at 5.0% (1 condition)
- Exit: Stop Loss at 5.0% (1 condition)
- Exit: Take Profit at 8.0% (1 condition)
- Exit: Take Profit at 8.0% (1 condition)
- Exit: Take Profit at 8.0% (1 condition)
Shared strategy rules
Rule configuration
{
"data_dependencies": [
{
"symbol": "USO",
"timeframe": "4h"
},
{
"symbol": "XOM",
"timeframe": "4h"
},
{
"symbol": "CVX",
"timeframe": "4h"
}
],
"entry_rules": [
{
"conditions": [
{
"left": {
"field": "close",
"type": "price"
},
"operator": "less_than",
"right": {
"chart_ref": {
"symbol": "USO",
"timeframe": "4h"
},
"field": "lower",
"indicator": {
"name": "bollinger_bands",
"period": 20,
"std_dev": 2
},
"type": "indicator"
}
}
],
"direction": "short",
"enabled": true,
"id": "entry_1_uso",
"name": "BB Signal Short (USO@4h)",
"priority": 1,
"trade_symbol": "USO"
},
{
"conditions": [
{
"left": {
"field": "close",
"type": "price"
},
"operator": "less_than",
"right": {
"chart_ref": {
"symbol": "XOM",
"timeframe": "4h"
},
"field": "lower",
"indicator": {
"name": "bollinger_bands",
"period": 20,
"std_dev": 2
},
"type": "indicator"
}
}
],
"direction": "short",
"enabled": true,
"id": "entry_1_xom",
"name": "BB Signal Short (XOM@4h)",
"priority": 2,
"trade_symbol": "XOM"
},
{
"conditions": [
{
"left": {
"field": "close",
"type": "price"
},
"operator": "less_than",
"right": {
"chart_ref": {
"symbol": "CVX",
"timeframe": "4h"
},
"field": "lower",
"indicator": {
"name": "bollinger_bands",
"period": 20,
"std_dev": 2
},
"type": "indicator"
}
}
],
"direction": "short",
"enabled": true,
"id": "entry_1_cvx",
"name": "BB Signal Short (CVX@4h)",
"priority": 3,
"trade_symbol": "CVX"
}
],
"exit_rules": [
{
"applies_to": "both",
"conditions": [
{
"left": {
"field": "close",
"type": "price"
},
"operator": "greater_than",
"right": {
"chart_ref": {
"symbol": "USO",
"timeframe": "4h"
},
"field": "middle",
"indicator": {
"name": "bollinger_bands",
"period": 20,
"std_dev": 2
},
"type": "indicator"
}
}
],
"enabled": true,
"id": "exit_1_uso",
"name": "Position Exit Rule (USO@4h)",
"priority": 1,
"purpose": "signal",
"target_symbol": "USO"
},
{
"applies_to": "both",
"conditions": [
{
"left": {
"field": "close",
"type": "price"
},
"operator": "greater_than",
"right": {
"chart_ref": {
"symbol": "XOM",
"timeframe": "4h"
},
"field": "middle",
"indicator": {
"name": "bollinger_bands",
"period": 20,
"std_dev": 2
},
"type": "indicator"
}
}
],
"enabled": true,
"id": "exit_1_xom",
"name": "Position Exit Rule (XOM@4h)",
"priority": 2,
"purpose": "signal",
"target_symbol": "XOM"
},
{
"applies_to": "both",
"conditions": [
{
"left": {
"field": "close",
"type": "price"
},
"operator": "greater_than",
"right": {
"chart_ref": {
"symbol": "CVX",
"timeframe": "4h"
},
"field": "middle",
"indicator": {
"name": "bollinger_bands",
"period": 20,
"std_dev": 2
},
"type": "indicator"
}
}
],
"enabled": true,
"id": "exit_1_cvx",
"name": "Position Exit Rule (CVX@4h)",
"priority": 3,
"purpose": "signal",
"target_symbol": "CVX"
},
{
"applies_to": "both",
"conditions": [
{
"left": {
"field": "unrealized_pnl_percent",
"type": "position"
},
"operator": "less_than_or_equal",
"right": {
"type": "constant",
"value": -5
}
}
],
"enabled": true,
"id": "stop_loss_uso",
"name": "Stop Loss at 5.0%",
"priority": 4,
"purpose": "stop_loss",
"target_symbol": "USO"
},
{
"applies_to": "both",
"conditions": [
{
"left": {
"field": "unrealized_pnl_percent",
"type": "position"
},
"operator": "less_than_or_equal",
"right": {
"type": "constant",
"value": -5
}
}
],
"enabled": true,
"id": "stop_loss_xom",
"name": "Stop Loss at 5.0%",
"priority": 5,
"purpose": "stop_loss",
"target_symbol": "XOM"
},
{
"applies_to": "both",
"conditions": [
{
"left": {
"field": "unrealized_pnl_percent",
"type": "position"
},
"operator": "less_than_or_equal",
"right": {
"type": "constant",
"value": -5
}
}
],
"enabled": true,
"id": "stop_loss_cvx",
"name": "Stop Loss at 5.0%",
"priority": 6,
"purpose": "stop_loss",
"target_symbol": "CVX"
},
{
"applies_to": "both",
"conditions": [
{
"left": {
"field": "unrealized_pnl_percent",
"type": "position"
},
"operator": "greater_than_or_equal",
"right": {
"type": "constant",
"value": 8
}
}
],
"enabled": true,
"id": "take_profit_uso",
"name": "Take Profit at 8.0%",
"priority": 7,
"purpose": "take_profit",
"target_symbol": "USO"
},
{
"applies_to": "both",
"conditions": [
{
"left": {
"field": "unrealized_pnl_percent",
"type": "position"
},
"operator": "greater_than_or_equal",
"right": {
"type": "constant",
"value": 8
}
}
],
"enabled": true,
"id": "take_profit_xom",
"name": "Take Profit at 8.0%",
"priority": 8,
"purpose": "take_profit",
"target_symbol": "XOM"
},
{
"applies_to": "both",
"conditions": [
{
"left": {
"field": "unrealized_pnl_percent",
"type": "position"
},
"operator": "greater_than_or_equal",
"right": {
"type": "constant",
"value": 8
}
}
],
"enabled": true,
"id": "take_profit_cvx",
"name": "Take Profit at 8.0%",
"priority": 9,
"purpose": "take_profit",
"target_symbol": "CVX"
}
],
"position_sizing": {
"max_position_percent": 25,
"method": {
"risk_percent": 2,
"stop_loss_percent": 5,
"type": "fixed_risk"
},
"min_position_value": 100
},
"trigger_timeframe": "4h",
"version": 1
}Indicator configuration
{
"indicators": [
{
"name": "bollinger_bands",
"period": 20,
"std_dev": 2
},
{
"name": "bollinger_bands",
"period": 20,
"std_dev": 2
},
{
"name": "bollinger_bands",
"period": 20,
"std_dev": 2
}
]
}Parsed strategy
{
"data_dependencies": [
{
"symbol": "USO",
"timeframe": "4h"
},
{
"symbol": "XOM",
"timeframe": "4h"
},
{
"symbol": "CVX",
"timeframe": "4h"
}
],
"entry_rules": [
{
"conditions": [
{
"left": {
"field": "close",
"type": "price"
},
"operator": "less_than",
"right": {
"chart_ref": {
"symbol": "USO",
"timeframe": "4h"
},
"field": "lower",
"indicator": {
"name": "bollinger_bands",
"period": 20,
"std_dev": 2
},
"type": "indicator"
}
}
],
"direction": "short",
"enabled": true,
"id": "entry_1_uso",
"name": "BB Signal Short (USO@4h)",
"priority": 1,
"trade_symbol": "USO"
},
{
"conditions": [
{
"left": {
"field": "close",
"type": "price"
},
"operator": "less_than",
"right": {
"chart_ref": {
"symbol": "XOM",
"timeframe": "4h"
},
"field": "lower",
"indicator": {
"name": "bollinger_bands",
"period": 20,
"std_dev": 2
},
"type": "indicator"
}
}
],
"direction": "short",
"enabled": true,
"id": "entry_1_xom",
"name": "BB Signal Short (XOM@4h)",
"priority": 2,
"trade_symbol": "XOM"
},
{
"conditions": [
{
"left": {
"field": "close",
"type": "price"
},
"operator": "less_than",
"right": {
"chart_ref": {
"symbol": "CVX",
"timeframe": "4h"
},
"field": "lower",
"indicator": {
"name": "bollinger_bands",
"period": 20,
"std_dev": 2
},
"type": "indicator"
}
}
],
"direction": "short",
"enabled": true,
"id": "entry_1_cvx",
"name": "BB Signal Short (CVX@4h)",
"priority": 3,
"trade_symbol": "CVX"
}
],
"exit_rules": [
{
"applies_to": "both",
"conditions": [
{
"left": {
"field": "close",
"type": "price"
},
"operator": "greater_than",
"right": {
"chart_ref": {
"symbol": "USO",
"timeframe": "4h"
},
"field": "middle",
"indicator": {
"name": "bollinger_bands",
"period": 20,
"std_dev": 2
},
"type": "indicator"
}
}
],
"enabled": true,
"id": "exit_1_uso",
"name": "Position Exit Rule (USO@4h)",
"priority": 1,
"purpose": "signal",
"target_symbol": "USO"
},
{
"applies_to": "both",
"conditions": [
{
"left": {
"field": "close",
"type": "price"
},
"operator": "greater_than",
"right": {
"chart_ref": {
"symbol": "XOM",
"timeframe": "4h"
},
"field": "middle",
"indicator": {
"name": "bollinger_bands",
"period": 20,
"std_dev": 2
},
"type": "indicator"
}
}
],
"enabled": true,
"id": "exit_1_xom",
"name": "Position Exit Rule (XOM@4h)",
"priority": 2,
"purpose": "signal",
"target_symbol": "XOM"
},
{
"applies_to": "both",
"conditions": [
{
"left": {
"field": "close",
"type": "price"
},
"operator": "greater_than",
"right": {
"chart_ref": {
"symbol": "CVX",
"timeframe": "4h"
},
"field": "middle",
"indicator": {
"name": "bollinger_bands",
"period": 20,
"std_dev": 2
},
"type": "indicator"
}
}
],
"enabled": true,
"id": "exit_1_cvx",
"name": "Position Exit Rule (CVX@4h)",
"priority": 3,
"purpose": "signal",
"target_symbol": "CVX"
},
{
"applies_to": "both",
"conditions": [
{
"left": {
"field": "unrealized_pnl_percent",
"type": "position"
},
"operator": "less_than_or_equal",
"right": {
"type": "constant",
"value": -5
}
}
],
"enabled": true,
"id": "stop_loss_uso",
"name": "Stop Loss at 5.0%",
"priority": 4,
"purpose": "stop_loss",
"target_symbol": "USO"
},
{
"applies_to": "both",
"conditions": [
{
"left": {
"field": "unrealized_pnl_percent",
"type": "position"
},
"operator": "less_than_or_equal",
"right": {
"type": "constant",
"value": -5
}
}
],
"enabled": true,
"id": "stop_loss_xom",
"name": "Stop Loss at 5.0%",
"priority": 5,
"purpose": "stop_loss",
"target_symbol": "XOM"
},
{
"applies_to": "both",
"conditions": [
{
"left": {
"field": "unrealized_pnl_percent",
"type": "position"
},
"operator": "less_than_or_equal",
"right": {
"type": "constant",
"value": -5
}
}
],
"enabled": true,
"id": "stop_loss_cvx",
"name": "Stop Loss at 5.0%",
"priority": 6,
"purpose": "stop_loss",
"target_symbol": "CVX"
},
{
"applies_to": "both",
"conditions": [
{
"left": {
"field": "unrealized_pnl_percent",
"type": "position"
},
"operator": "greater_than_or_equal",
"right": {
"type": "constant",
"value": 8
}
}
],
"enabled": true,
"id": "take_profit_uso",
"name": "Take Profit at 8.0%",
"priority": 7,
"purpose": "take_profit",
"target_symbol": "USO"
},
{
"applies_to": "both",
"conditions": [
{
"left": {
"field": "unrealized_pnl_percent",
"type": "position"
},
"operator": "greater_than_or_equal",
"right": {
"type": "constant",
"value": 8
}
}
],
"enabled": true,
"id": "take_profit_xom",
"name": "Take Profit at 8.0%",
"priority": 8,
"purpose": "take_profit",
"target_symbol": "XOM"
},
{
"applies_to": "both",
"conditions": [
{
"left": {
"field": "unrealized_pnl_percent",
"type": "position"
},
"operator": "greater_than_or_equal",
"right": {
"type": "constant",
"value": 8
}
}
],
"enabled": true,
"id": "take_profit_cvx",
"name": "Take Profit at 8.0%",
"priority": 9,
"purpose": "take_profit",
"target_symbol": "CVX"
}
],
"position_sizing": {
"max_position_percent": 25,
"method": {
"risk_percent": 2,
"stop_loss_percent": 5,
"type": "fixed_risk"
},
"min_position_value": 100
},
"trigger_timeframe": "4h",
"version": 1
}Strategy instructions
Trading agent generated from recommendation idea 'Iran peace deal floods the market with oil — short energy stocks and oil funds'. Thesis: The agreement to reopen the Strait of Hormuz takes a major geopolitical risk premium off the table, causing Wall Street banks to slash their price forecasts. With a wave of new supply expected to hit the market and prices already breaking below the $80 mark, the trend for oil is clearly pointing down. Companies that drill and refine oil, like ExxonMobil and Chevron, usually see their profit margins shrink when crude prices fall. Betting against oil and major oil companies as this new supply floods the market is a straightforward way to play the news.
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 thesis and strategy approach describe a market view. They do not show whether an entry or exit condition is currently met.
- 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