When a JPMorgan strategist says rate hikes are back on the table and credit spre
Created
Thesis
When a JPMorgan strategist says rate hikes are back on the table and credit spreads are at a top, it means markets are pricing in a perfect-scenario economy that leaves no room for error. The difference between what safe bonds and risky bonds pay has narrowed to a sliver, meaning investors are collecting almost no extra cushion for taking on default risk. With jobs growth expected at roughly 80,000 — a very soft number — any surprise weakness on Friday could jolt the market into repricing that risk. That kind of shock widening in credit spreads tends to hit junk bond funds the fastest and hardest.
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: Bearish Momentum Confirmation Short (HYG@1d) (4 conditions)
- Exit: Overbought RSI / Trend Exhaustion Exit (HYG@1d) (3 conditions)
- Exit: TP: Fib Extension 127.2% (HYG@1d) (1 condition)
- Exit: SL: Fib Retracement 61.8% (HYG@1d) (1 condition)
- Exit: Stop Loss at 2.0% (1 condition)
- Exit: Take Profit at 4.0% (1 condition)
Shared strategy rules
Rule configuration
{
"data_dependencies": [
{
"symbol": "STOCK:HYG",
"timeframe": "1d"
}
],
"entry_rules": [
{
"conditions": [
{
"left": {
"chart_ref": {
"symbol": "STOCK:HYG",
"timeframe": "1d"
},
"field": "close",
"type": "price"
},
"operator": "less_than",
"right": {
"chart_ref": {
"symbol": "STOCK:HYG",
"timeframe": "1d"
},
"indicator": {
"name": "ema",
"period": 50
},
"type": "indicator"
}
},
{
"left": {
"chart_ref": {
"symbol": "STOCK:HYG",
"timeframe": "1d"
},
"field": "histogram",
"indicator": {
"fast": 12,
"name": "macd",
"signal": 9,
"slow": 26
},
"type": "indicator"
},
"operator": "less_than",
"right": {
"type": "constant",
"value": 0
}
},
{
"left": {
"chart_ref": {
"symbol": "STOCK:HYG",
"timeframe": "1d"
},
"indicator": {
"name": "adx",
"period": 14
},
"type": "indicator"
},
"operator": "greater_than",
"right": {
"type": "constant",
"value": 20
}
},
{
"left": {
"chart_ref": {
"symbol": "STOCK:HYG",
"timeframe": "1d"
},
"indicator": {
"name": "rsi",
"period": 14
},
"type": "indicator"
},
"operator": "greater_than",
"right": {
"type": "constant",
"value": 55
}
}
],
"direction": "short",
"enabled": true,
"id": "entry_1",
"name": "Bearish Momentum Confirmation Short (HYG@1d)",
"priority": 1,
"trade_symbol": "STOCK:HYG"
}
],
"exit_rules": [
{
"applies_to": "both",
"conditions": [
{
"left": {
"chart_ref": {
"symbol": "STOCK:HYG",
"timeframe": "1d"
},
"indicator": {
"name": "rsi",
"period": 14
},
"type": "indicator"
},
"operator": "greater_than",
"right": {
"type": "constant",
"value": 70
}
},
{
"left": {
"chart_ref": {
"symbol": "STOCK:HYG",
"timeframe": "1d"
},
"indicator": {
"name": "adx",
"period": 14
},
"type": "indicator"
},
"operator": "less_than",
"right": {
"type": "constant",
"value": 20
}
},
{
"left": {
"field": "holding_period_bars",
"type": "position"
},
"operator": "greater_than_or_equal",
"right": {
"type": "constant",
"value": 40
}
}
],
"enabled": true,
"id": "exit_1",
"name": "Overbought RSI / Trend Exhaustion Exit (HYG@1d)",
"priority": 1,
"purpose": "signal"
},
{
"applies_to": "both",
"conditions": [
{
"left": {
"chart_ref": {
"symbol": "STOCK:HYG",
"timeframe": "1d"
},
"field": "close",
"type": "price"
},
"operator": "less_than_or_equal",
"right": {
"chart_ref": {
"symbol": "STOCK:HYG",
"timeframe": "1d"
},
"ratio": 1272,
"type": "fibonacci_extension"
}
}
],
"enabled": true,
"id": "exit_2",
"name": "TP: Fib Extension 127.2% (HYG@1d)",
"priority": 97,
"purpose": "take_profit",
"target_symbol": "STOCK:HYG"
},
{
"applies_to": "both",
"conditions": [
{
"left": {
"chart_ref": {
"symbol": "STOCK:HYG",
"timeframe": "1d"
},
"field": "close",
"type": "price"
},
"operator": "greater_than",
"right": {
"chart_ref": {
"symbol": "STOCK:HYG",
"timeframe": "1d"
},
"ratio": 618,
"type": "fibonacci_retracement"
}
}
],
"enabled": true,
"id": "exit_3",
"name": "SL: Fib Retracement 61.8% (HYG@1d)",
"priority": 100,
"purpose": "stop_loss",
"target_symbol": "STOCK:HYG"
},
{
"applies_to": "both",
"conditions": [
{
"left": {
"field": "unrealized_pnl_percent",
"type": "position"
},
"operator": "less_than_or_equal",
"right": {
"type": "constant",
"value": -2
}
}
],
"enabled": true,
"id": "exit_4",
"name": "Stop Loss at 2.0%",
"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
}
}
],
"enabled": true,
"id": "exit_5",
"name": "Take Profit at 4.0%",
"priority": 100,
"purpose": "take_profit"
}
],
"position_sizing": {
"max_position_percent": 25,
"method": {
"fib_stop_ratio": 618,
"risk_percent": 2,
"type": "fixed_risk"
},
"min_position_value": 100
},
"trigger_timeframe": "1d",
"version": 1
}Indicator configuration
{
"indicators": [
{
"name": "ema",
"period": 50
},
{
"name": "adx",
"period": 14
},
{
"name": "rsi",
"period": 14
},
{
"fast": 12,
"name": "macd",
"signal": 9,
"slow": 26
}
]
}Parsed strategy
{
"data_dependencies": [
{
"symbol": "STOCK:HYG",
"timeframe": "1d"
}
],
"entry_rules": [
{
"conditions": [
{
"left": {
"chart_ref": {
"symbol": "STOCK:HYG",
"timeframe": "1d"
},
"field": "close",
"type": "price"
},
"operator": "less_than",
"right": {
"chart_ref": {
"symbol": "STOCK:HYG",
"timeframe": "1d"
},
"indicator": {
"name": "ema",
"period": 50
},
"type": "indicator"
}
},
{
"left": {
"chart_ref": {
"symbol": "STOCK:HYG",
"timeframe": "1d"
},
"field": "histogram",
"indicator": {
"fast": 12,
"name": "macd",
"signal": 9,
"slow": 26
},
"type": "indicator"
},
"operator": "less_than",
"right": {
"type": "constant",
"value": 0
}
},
{
"left": {
"chart_ref": {
"symbol": "STOCK:HYG",
"timeframe": "1d"
},
"indicator": {
"name": "adx",
"period": 14
},
"type": "indicator"
},
"operator": "greater_than",
"right": {
"type": "constant",
"value": 20
}
},
{
"left": {
"chart_ref": {
"symbol": "STOCK:HYG",
"timeframe": "1d"
},
"indicator": {
"name": "rsi",
"period": 14
},
"type": "indicator"
},
"operator": "greater_than",
"right": {
"type": "constant",
"value": 55
}
}
],
"direction": "short",
"enabled": true,
"id": "entry_1",
"name": "Bearish Momentum Confirmation Short (HYG@1d)",
"priority": 1,
"trade_symbol": "STOCK:HYG"
}
],
"exit_rules": [
{
"applies_to": "both",
"conditions": [
{
"left": {
"chart_ref": {
"symbol": "STOCK:HYG",
"timeframe": "1d"
},
"indicator": {
"name": "rsi",
"period": 14
},
"type": "indicator"
},
"operator": "greater_than",
"right": {
"type": "constant",
"value": 70
}
},
{
"left": {
"chart_ref": {
"symbol": "STOCK:HYG",
"timeframe": "1d"
},
"indicator": {
"name": "adx",
"period": 14
},
"type": "indicator"
},
"operator": "less_than",
"right": {
"type": "constant",
"value": 20
}
},
{
"left": {
"field": "holding_period_bars",
"type": "position"
},
"operator": "greater_than_or_equal",
"right": {
"type": "constant",
"value": 40
}
}
],
"enabled": true,
"id": "exit_1",
"name": "Overbought RSI / Trend Exhaustion Exit (HYG@1d)",
"priority": 1,
"purpose": "signal"
},
{
"applies_to": "both",
"conditions": [
{
"left": {
"chart_ref": {
"symbol": "STOCK:HYG",
"timeframe": "1d"
},
"field": "close",
"type": "price"
},
"operator": "less_than_or_equal",
"right": {
"chart_ref": {
"symbol": "STOCK:HYG",
"timeframe": "1d"
},
"ratio": 1272,
"type": "fibonacci_extension"
}
}
],
"enabled": true,
"id": "exit_2",
"name": "TP: Fib Extension 127.2% (HYG@1d)",
"priority": 97,
"purpose": "take_profit",
"target_symbol": "STOCK:HYG"
},
{
"applies_to": "both",
"conditions": [
{
"left": {
"chart_ref": {
"symbol": "STOCK:HYG",
"timeframe": "1d"
},
"field": "close",
"type": "price"
},
"operator": "greater_than",
"right": {
"chart_ref": {
"symbol": "STOCK:HYG",
"timeframe": "1d"
},
"ratio": 618,
"type": "fibonacci_retracement"
}
}
],
"enabled": true,
"id": "exit_3",
"name": "SL: Fib Retracement 61.8% (HYG@1d)",
"priority": 100,
"purpose": "stop_loss",
"target_symbol": "STOCK:HYG"
},
{
"applies_to": "both",
"conditions": [
{
"left": {
"field": "unrealized_pnl_percent",
"type": "position"
},
"operator": "less_than_or_equal",
"right": {
"type": "constant",
"value": -2
}
}
],
"enabled": true,
"id": "exit_4",
"name": "Stop Loss at 2.0%",
"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
}
}
],
"enabled": true,
"id": "exit_5",
"name": "Take Profit at 4.0%",
"priority": 100,
"purpose": "take_profit"
}
],
"position_sizing": {
"max_position_percent": 25,
"method": {
"fib_stop_ratio": 618,
"risk_percent": 2,
"type": "fixed_risk"
},
"min_position_value": 100
},
"trigger_timeframe": "1d",
"version": 1
}Strategy instructions
Trading agent generated from recommendation idea 'When a JPMorgan strategist says rate hikes are back on the table and credit spreads are at a top, it means markets are pricing in a perfect-scenario economy that leaves no room for error. The difference between what safe bonds and risky bonds pay has narr'. Thesis: When a JPMorgan strategist says rate hikes are back on the table and credit spreads are at a top, it means markets are pricing in a perfect-scenario economy that leaves no room for error. The difference between what safe bonds and risky bonds pay has narrowed to a sliver, meaning investors are collecting almost no extra cushion for taking on default risk. With jobs growth expected at roughly 80,000 — a very soft number — any surprise weakness on Friday could jolt the market into repricing that risk. That kind of shock widening in credit spreads tends to hit junk bond funds the fastest and hardest.
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