GSK just paid $10.6B for a cancer biotech — the M&A frenzy is lifting smaller dr
Created
Thesis
Major pharmaceutical companies are facing a 'patent cliff,' meaning their top-selling drugs will soon lose exclusive rights. To avoid losing revenue, they are rapidly buying up smaller biotech companies with promising new drugs. GSK's massive purchase of Nuvalent signals that this buying frenzy is accelerating. This makes the entire biotech sector highly attractive, as investors will buy up smaller companies hoping they will be the next acquisition target.
Strategy approach
Build a rule-based strategy that enters long IBB or XBI on the daily timeframe when the price closes above the 20-day moving average and the 14-day RSI is between 45 and 65, with a 15-day max hold and a 2.5% trailing stop.
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: SMA/RSI Signal Long (IBB@1d) (3 conditions)
- Entry: SMA/RSI Signal Long (XBI@1d) (3 conditions)
- Exit: Take Profit at 15.0% (1 condition)
- Exit: TP: Fib Extension 127.2% (IBB@1d) (1 condition)
- Exit: TP: Fib Extension 127.2% (XBI@1d) (1 condition)
- Exit: SL: Below Support[2] (IBB@1d) (1 condition)
- Exit: SL: Below Support[2] (XBI@1d) (1 condition)
Shared strategy rules
Rule configuration
{
"data_dependencies": [
{
"symbol": "IBB",
"timeframe": "1d"
},
{
"symbol": "XBI",
"timeframe": "1d"
}
],
"entry_rules": [
{
"conditions": [
{
"left": {
"field": "close",
"type": "price"
},
"operator": "greater_than",
"right": {
"chart_ref": {
"symbol": "IBB",
"timeframe": "1d"
},
"indicator": {
"name": "sma",
"period": 20
},
"type": "indicator"
}
},
{
"left": {
"chart_ref": {
"symbol": "IBB",
"timeframe": "1d"
},
"indicator": {
"name": "rsi",
"period": 14
},
"type": "indicator"
},
"operator": "greater_than",
"right": {
"type": "constant",
"value": 45
}
},
{
"left": {
"chart_ref": {
"symbol": "IBB",
"timeframe": "1d"
},
"indicator": {
"name": "rsi",
"period": 14
},
"type": "indicator"
},
"operator": "less_than",
"right": {
"type": "constant",
"value": 65
}
}
],
"direction": "long",
"enabled": true,
"id": "entry_1_ibb",
"name": "SMA/RSI Signal Long (IBB@1d)",
"priority": 1,
"trade_symbol": "IBB"
},
{
"conditions": [
{
"left": {
"field": "close",
"type": "price"
},
"operator": "greater_than",
"right": {
"chart_ref": {
"symbol": "XBI",
"timeframe": "1d"
},
"indicator": {
"name": "sma",
"period": 20
},
"type": "indicator"
}
},
{
"left": {
"chart_ref": {
"symbol": "XBI",
"timeframe": "1d"
},
"indicator": {
"name": "rsi",
"period": 14
},
"type": "indicator"
},
"operator": "greater_than",
"right": {
"type": "constant",
"value": 45
}
},
{
"left": {
"chart_ref": {
"symbol": "XBI",
"timeframe": "1d"
},
"indicator": {
"name": "rsi",
"period": 14
},
"type": "indicator"
},
"operator": "less_than",
"right": {
"type": "constant",
"value": 65
}
}
],
"direction": "long",
"enabled": true,
"id": "entry_1_xbi",
"name": "SMA/RSI Signal Long (XBI@1d)",
"priority": 2,
"trade_symbol": "XBI"
}
],
"exit_rules": [
{
"applies_to": "both",
"conditions": [
{
"left": {
"field": "unrealized_pnl_percent",
"type": "position"
},
"operator": "greater_than",
"right": {
"type": "constant",
"value": 15
}
}
],
"enabled": true,
"id": "exit_1",
"name": "Take Profit at 15.0%",
"priority": 1,
"purpose": "signal"
},
{
"applies_to": "both",
"conditions": [
{
"left": {
"field": "close",
"type": "price"
},
"operator": "greater_than",
"right": {
"chart_ref": {
"symbol": "IBB",
"timeframe": "1d"
},
"ratio": 1272,
"type": "fibonacci_extension"
}
}
],
"enabled": true,
"id": "exit_2_ibb",
"name": "TP: Fib Extension 127.2% (IBB@1d)",
"priority": 96,
"purpose": "take_profit",
"target_symbol": "IBB"
},
{
"applies_to": "both",
"conditions": [
{
"left": {
"field": "close",
"type": "price"
},
"operator": "greater_than",
"right": {
"chart_ref": {
"symbol": "XBI",
"timeframe": "1d"
},
"ratio": 1272,
"type": "fibonacci_extension"
}
}
],
"enabled": true,
"id": "exit_2_xbi",
"name": "TP: Fib Extension 127.2% (XBI@1d)",
"priority": 97,
"purpose": "take_profit",
"target_symbol": "XBI"
},
{
"applies_to": "both",
"conditions": [
{
"left": {
"field": "close",
"type": "price"
},
"operator": "less_than",
"right": {
"rank": 2,
"type": "support_level"
}
}
],
"enabled": true,
"id": "exit_3_ibb",
"name": "SL: Below Support[2] (IBB@1d)",
"priority": 100,
"purpose": "stop_loss",
"target_symbol": "IBB"
},
{
"applies_to": "both",
"conditions": [
{
"left": {
"field": "close",
"type": "price"
},
"operator": "less_than",
"right": {
"rank": 2,
"type": "support_level"
}
}
],
"enabled": true,
"id": "exit_3_xbi",
"name": "SL: Below Support[2] (XBI@1d)",
"priority": 101,
"purpose": "stop_loss",
"target_symbol": "XBI"
}
],
"position_sizing": {
"max_position_percent": 25,
"method": {
"risk_percent": 2,
"support_stop_rank": 2,
"type": "fixed_risk"
},
"min_position_value": 100
},
"trigger_timeframe": "1d",
"version": 1
}Indicator configuration
{
"indicators": [
{
"name": "sma",
"period": 20
},
{
"name": "rsi",
"period": 14
},
{
"name": "sma",
"period": 20
},
{
"name": "rsi",
"period": 14
}
]
}Parsed strategy
{
"data_dependencies": [
{
"symbol": "IBB",
"timeframe": "1d"
},
{
"symbol": "XBI",
"timeframe": "1d"
}
],
"entry_rules": [
{
"conditions": [
{
"left": {
"field": "close",
"type": "price"
},
"operator": "greater_than",
"right": {
"chart_ref": {
"symbol": "IBB",
"timeframe": "1d"
},
"indicator": {
"name": "sma",
"period": 20
},
"type": "indicator"
}
},
{
"left": {
"chart_ref": {
"symbol": "IBB",
"timeframe": "1d"
},
"indicator": {
"name": "rsi",
"period": 14
},
"type": "indicator"
},
"operator": "greater_than",
"right": {
"type": "constant",
"value": 45
}
},
{
"left": {
"chart_ref": {
"symbol": "IBB",
"timeframe": "1d"
},
"indicator": {
"name": "rsi",
"period": 14
},
"type": "indicator"
},
"operator": "less_than",
"right": {
"type": "constant",
"value": 65
}
}
],
"direction": "long",
"enabled": true,
"id": "entry_1_ibb",
"name": "SMA/RSI Signal Long (IBB@1d)",
"priority": 1,
"trade_symbol": "IBB"
},
{
"conditions": [
{
"left": {
"field": "close",
"type": "price"
},
"operator": "greater_than",
"right": {
"chart_ref": {
"symbol": "XBI",
"timeframe": "1d"
},
"indicator": {
"name": "sma",
"period": 20
},
"type": "indicator"
}
},
{
"left": {
"chart_ref": {
"symbol": "XBI",
"timeframe": "1d"
},
"indicator": {
"name": "rsi",
"period": 14
},
"type": "indicator"
},
"operator": "greater_than",
"right": {
"type": "constant",
"value": 45
}
},
{
"left": {
"chart_ref": {
"symbol": "XBI",
"timeframe": "1d"
},
"indicator": {
"name": "rsi",
"period": 14
},
"type": "indicator"
},
"operator": "less_than",
"right": {
"type": "constant",
"value": 65
}
}
],
"direction": "long",
"enabled": true,
"id": "entry_1_xbi",
"name": "SMA/RSI Signal Long (XBI@1d)",
"priority": 2,
"trade_symbol": "XBI"
}
],
"exit_rules": [
{
"applies_to": "both",
"conditions": [
{
"left": {
"field": "unrealized_pnl_percent",
"type": "position"
},
"operator": "greater_than",
"right": {
"type": "constant",
"value": 15
}
}
],
"enabled": true,
"id": "exit_1",
"name": "Take Profit at 15.0%",
"priority": 1,
"purpose": "signal"
},
{
"applies_to": "both",
"conditions": [
{
"left": {
"field": "close",
"type": "price"
},
"operator": "greater_than",
"right": {
"chart_ref": {
"symbol": "IBB",
"timeframe": "1d"
},
"ratio": 1272,
"type": "fibonacci_extension"
}
}
],
"enabled": true,
"id": "exit_2_ibb",
"name": "TP: Fib Extension 127.2% (IBB@1d)",
"priority": 96,
"purpose": "take_profit",
"target_symbol": "IBB"
},
{
"applies_to": "both",
"conditions": [
{
"left": {
"field": "close",
"type": "price"
},
"operator": "greater_than",
"right": {
"chart_ref": {
"symbol": "XBI",
"timeframe": "1d"
},
"ratio": 1272,
"type": "fibonacci_extension"
}
}
],
"enabled": true,
"id": "exit_2_xbi",
"name": "TP: Fib Extension 127.2% (XBI@1d)",
"priority": 97,
"purpose": "take_profit",
"target_symbol": "XBI"
},
{
"applies_to": "both",
"conditions": [
{
"left": {
"field": "close",
"type": "price"
},
"operator": "less_than",
"right": {
"rank": 2,
"type": "support_level"
}
}
],
"enabled": true,
"id": "exit_3_ibb",
"name": "SL: Below Support[2] (IBB@1d)",
"priority": 100,
"purpose": "stop_loss",
"target_symbol": "IBB"
},
{
"applies_to": "both",
"conditions": [
{
"left": {
"field": "close",
"type": "price"
},
"operator": "less_than",
"right": {
"rank": 2,
"type": "support_level"
}
}
],
"enabled": true,
"id": "exit_3_xbi",
"name": "SL: Below Support[2] (XBI@1d)",
"priority": 101,
"purpose": "stop_loss",
"target_symbol": "XBI"
}
],
"position_sizing": {
"max_position_percent": 25,
"method": {
"risk_percent": 2,
"support_stop_rank": 2,
"type": "fixed_risk"
},
"min_position_value": 100
},
"trigger_timeframe": "1d",
"version": 1
}Strategy instructions
Trading agent generated from recommendation idea 'GSK just paid $10.6B for a cancer biotech — the M&A frenzy is lifting smaller drug stocks'. Thesis: Major pharmaceutical companies are facing a 'patent cliff,' meaning their top-selling drugs will soon lose exclusive rights. To avoid losing revenue, they are rapidly buying up smaller biotech companies with promising new drugs. GSK's massive purchase of Nuvalent signals that this buying frenzy is accelerating. This makes the entire biotech sector highly attractive, as investors will buy up smaller companies hoping they will be the next acquisition target.
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