Fox buys Roku for $22B as streaming wars heat up — play the takeover premium
Created
Thesis
When one company agrees to buy another, the target company's stock usually rockets up to just below the buyout price. However, the stock often trades at a slight discount to the final deal price because there's a small chance regulators might block the merger or the financing falls through. With Roku trading at a four-year high, there is still a small gap between today's price and the actual buyout value. Investors can buy Roku now and essentially collect that gap as free money if the deal closes successfully over the coming months.
Strategy approach
Build an arbitrage/spread strategy on Daily timeframe. Monitor the spread between ROKU price and the implied acquisition price of the Fox deal (stated at $22 billion enterprise value). Enter long ROKU if the stock price lags the implied deal value by more than 3%. Exit when the spread narrows to under 1%, with a 5% hard stop loss in case the deal faces regulatory rejection.
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: ROC/ADX Signal Long (ROKU@1d) (5 conditions)
- Entry: ROC/ADX Signal Long (FOXA@1d) (5 conditions)
- Exit: ROC Threshold Exit (ROKU@1d) (1 condition)
- Exit: ROC Threshold Exit (FOXA@1d) (1 condition)
- Exit: TP: Fib Extension 127.2% (ROKU@1d) (1 condition)
- Exit: TP: Fib Extension 127.2% (FOXA@1d) (1 condition)
- Exit: SL: Below Support[2] (ROKU@1d) (1 condition)
- Exit: SL: Below Support[2] (FOXA@1d) (1 condition)
Shared strategy rules
Rule configuration
{
"data_dependencies": [
{
"symbol": "ROKU",
"timeframe": "1d"
},
{
"symbol": "FOXA",
"timeframe": "1d"
}
],
"entry_rules": [
{
"conditions": [
{
"left": {
"chart_ref": {
"symbol": "ROKU",
"timeframe": "1d"
},
"indicator": {
"name": "roc",
"period": 1
},
"type": "indicator"
},
"operator": "less_than",
"right": {
"type": "constant",
"value": -3
}
},
{
"left": {
"chart_ref": {
"symbol": "ROKU",
"timeframe": "1d"
},
"field": "adx",
"indicator": {
"name": "adx",
"period": 14
},
"type": "indicator"
},
"operator": "greater_than",
"right": {
"type": "constant",
"value": 20
}
},
{
"left": {
"field": "close",
"type": "price"
},
"operator": "greater_than",
"right": {
"type": "constant",
"value": 0
}
},
{
"left": {
"field": "low",
"type": "price"
},
"operator": "less_than_or_equal",
"right": {
"chart_ref": {
"symbol": "ROKU",
"timeframe": "1d"
},
"ratio": 618,
"type": "fibonacci_retracement"
}
},
{
"left": {
"field": "close",
"type": "price"
},
"operator": "greater_than",
"right": {
"chart_ref": {
"symbol": "ROKU",
"timeframe": "1d"
},
"ratio": 618,
"type": "fibonacci_retracement"
}
}
],
"direction": "long",
"enabled": true,
"id": "entry_1_roku",
"name": "ROC/ADX Signal Long (ROKU@1d)",
"priority": 1,
"trade_symbol": "ROKU"
},
{
"conditions": [
{
"left": {
"chart_ref": {
"symbol": "FOXA",
"timeframe": "1d"
},
"indicator": {
"name": "roc",
"period": 1
},
"type": "indicator"
},
"operator": "less_than",
"right": {
"type": "constant",
"value": -3
}
},
{
"left": {
"chart_ref": {
"symbol": "FOXA",
"timeframe": "1d"
},
"field": "adx",
"indicator": {
"name": "adx",
"period": 14
},
"type": "indicator"
},
"operator": "greater_than",
"right": {
"type": "constant",
"value": 20
}
},
{
"left": {
"field": "close",
"type": "price"
},
"operator": "greater_than",
"right": {
"type": "constant",
"value": 0
}
},
{
"left": {
"field": "low",
"type": "price"
},
"operator": "less_than_or_equal",
"right": {
"chart_ref": {
"symbol": "FOXA",
"timeframe": "1d"
},
"ratio": 618,
"type": "fibonacci_retracement"
}
},
{
"left": {
"field": "close",
"type": "price"
},
"operator": "greater_than",
"right": {
"chart_ref": {
"symbol": "FOXA",
"timeframe": "1d"
},
"ratio": 618,
"type": "fibonacci_retracement"
}
}
],
"direction": "long",
"enabled": true,
"id": "entry_1_foxa",
"name": "ROC/ADX Signal Long (FOXA@1d)",
"priority": 2,
"trade_symbol": "FOXA"
}
],
"exit_rules": [
{
"applies_to": "both",
"conditions": [
{
"left": {
"chart_ref": {
"symbol": "ROKU",
"timeframe": "1d"
},
"indicator": {
"name": "roc",
"period": 1
},
"type": "indicator"
},
"operator": "greater_than",
"right": {
"type": "constant",
"value": -1
}
}
],
"enabled": true,
"id": "exit_1_roku",
"name": "ROC Threshold Exit (ROKU@1d)",
"priority": 1,
"purpose": "signal",
"target_symbol": "ROKU"
},
{
"applies_to": "both",
"conditions": [
{
"left": {
"chart_ref": {
"symbol": "FOXA",
"timeframe": "1d"
},
"indicator": {
"name": "roc",
"period": 1
},
"type": "indicator"
},
"operator": "greater_than",
"right": {
"type": "constant",
"value": -1
}
}
],
"enabled": true,
"id": "exit_1_foxa",
"name": "ROC Threshold Exit (FOXA@1d)",
"priority": 2,
"purpose": "signal",
"target_symbol": "FOXA"
},
{
"applies_to": "both",
"conditions": [
{
"left": {
"field": "close",
"type": "price"
},
"operator": "greater_than_or_equal",
"right": {
"chart_ref": {
"symbol": "ROKU",
"timeframe": "1d"
},
"ratio": 1272,
"type": "fibonacci_extension"
}
}
],
"enabled": true,
"id": "exit_2_roku",
"name": "TP: Fib Extension 127.2% (ROKU@1d)",
"priority": 96,
"purpose": "take_profit",
"target_symbol": "ROKU"
},
{
"applies_to": "both",
"conditions": [
{
"left": {
"field": "close",
"type": "price"
},
"operator": "greater_than_or_equal",
"right": {
"chart_ref": {
"symbol": "FOXA",
"timeframe": "1d"
},
"ratio": 1272,
"type": "fibonacci_extension"
}
}
],
"enabled": true,
"id": "exit_2_foxa",
"name": "TP: Fib Extension 127.2% (FOXA@1d)",
"priority": 97,
"purpose": "take_profit",
"target_symbol": "FOXA"
},
{
"applies_to": "both",
"conditions": [
{
"left": {
"field": "close",
"type": "price"
},
"operator": "less_than",
"right": {
"rank": 2,
"type": "support_level"
}
}
],
"enabled": true,
"id": "exit_3_roku",
"name": "SL: Below Support[2] (ROKU@1d)",
"priority": 100,
"purpose": "stop_loss",
"target_symbol": "ROKU"
},
{
"applies_to": "both",
"conditions": [
{
"left": {
"field": "close",
"type": "price"
},
"operator": "less_than",
"right": {
"rank": 2,
"type": "support_level"
}
}
],
"enabled": true,
"id": "exit_3_foxa",
"name": "SL: Below Support[2] (FOXA@1d)",
"priority": 101,
"purpose": "stop_loss",
"target_symbol": "FOXA"
}
],
"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": 1
}Indicator configuration
{
"indicators": [
{
"name": "roc",
"period": 1
},
{
"name": "adx",
"period": 14
},
{
"name": "roc",
"period": 1
},
{
"name": "adx",
"period": 14
}
]
}Parsed strategy
{
"data_dependencies": [
{
"symbol": "ROKU",
"timeframe": "1d"
},
{
"symbol": "FOXA",
"timeframe": "1d"
}
],
"entry_rules": [
{
"conditions": [
{
"left": {
"chart_ref": {
"symbol": "ROKU",
"timeframe": "1d"
},
"indicator": {
"name": "roc",
"period": 1
},
"type": "indicator"
},
"operator": "less_than",
"right": {
"type": "constant",
"value": -3
}
},
{
"left": {
"chart_ref": {
"symbol": "ROKU",
"timeframe": "1d"
},
"field": "adx",
"indicator": {
"name": "adx",
"period": 14
},
"type": "indicator"
},
"operator": "greater_than",
"right": {
"type": "constant",
"value": 20
}
},
{
"left": {
"field": "close",
"type": "price"
},
"operator": "greater_than",
"right": {
"type": "constant",
"value": 0
}
},
{
"left": {
"field": "low",
"type": "price"
},
"operator": "less_than_or_equal",
"right": {
"chart_ref": {
"symbol": "ROKU",
"timeframe": "1d"
},
"ratio": 618,
"type": "fibonacci_retracement"
}
},
{
"left": {
"field": "close",
"type": "price"
},
"operator": "greater_than",
"right": {
"chart_ref": {
"symbol": "ROKU",
"timeframe": "1d"
},
"ratio": 618,
"type": "fibonacci_retracement"
}
}
],
"direction": "long",
"enabled": true,
"id": "entry_1_roku",
"name": "ROC/ADX Signal Long (ROKU@1d)",
"priority": 1,
"trade_symbol": "ROKU"
},
{
"conditions": [
{
"left": {
"chart_ref": {
"symbol": "FOXA",
"timeframe": "1d"
},
"indicator": {
"name": "roc",
"period": 1
},
"type": "indicator"
},
"operator": "less_than",
"right": {
"type": "constant",
"value": -3
}
},
{
"left": {
"chart_ref": {
"symbol": "FOXA",
"timeframe": "1d"
},
"field": "adx",
"indicator": {
"name": "adx",
"period": 14
},
"type": "indicator"
},
"operator": "greater_than",
"right": {
"type": "constant",
"value": 20
}
},
{
"left": {
"field": "close",
"type": "price"
},
"operator": "greater_than",
"right": {
"type": "constant",
"value": 0
}
},
{
"left": {
"field": "low",
"type": "price"
},
"operator": "less_than_or_equal",
"right": {
"chart_ref": {
"symbol": "FOXA",
"timeframe": "1d"
},
"ratio": 618,
"type": "fibonacci_retracement"
}
},
{
"left": {
"field": "close",
"type": "price"
},
"operator": "greater_than",
"right": {
"chart_ref": {
"symbol": "FOXA",
"timeframe": "1d"
},
"ratio": 618,
"type": "fibonacci_retracement"
}
}
],
"direction": "long",
"enabled": true,
"id": "entry_1_foxa",
"name": "ROC/ADX Signal Long (FOXA@1d)",
"priority": 2,
"trade_symbol": "FOXA"
}
],
"exit_rules": [
{
"applies_to": "both",
"conditions": [
{
"left": {
"chart_ref": {
"symbol": "ROKU",
"timeframe": "1d"
},
"indicator": {
"name": "roc",
"period": 1
},
"type": "indicator"
},
"operator": "greater_than",
"right": {
"type": "constant",
"value": -1
}
}
],
"enabled": true,
"id": "exit_1_roku",
"name": "ROC Threshold Exit (ROKU@1d)",
"priority": 1,
"purpose": "signal",
"target_symbol": "ROKU"
},
{
"applies_to": "both",
"conditions": [
{
"left": {
"chart_ref": {
"symbol": "FOXA",
"timeframe": "1d"
},
"indicator": {
"name": "roc",
"period": 1
},
"type": "indicator"
},
"operator": "greater_than",
"right": {
"type": "constant",
"value": -1
}
}
],
"enabled": true,
"id": "exit_1_foxa",
"name": "ROC Threshold Exit (FOXA@1d)",
"priority": 2,
"purpose": "signal",
"target_symbol": "FOXA"
},
{
"applies_to": "both",
"conditions": [
{
"left": {
"field": "close",
"type": "price"
},
"operator": "greater_than_or_equal",
"right": {
"chart_ref": {
"symbol": "ROKU",
"timeframe": "1d"
},
"ratio": 1272,
"type": "fibonacci_extension"
}
}
],
"enabled": true,
"id": "exit_2_roku",
"name": "TP: Fib Extension 127.2% (ROKU@1d)",
"priority": 96,
"purpose": "take_profit",
"target_symbol": "ROKU"
},
{
"applies_to": "both",
"conditions": [
{
"left": {
"field": "close",
"type": "price"
},
"operator": "greater_than_or_equal",
"right": {
"chart_ref": {
"symbol": "FOXA",
"timeframe": "1d"
},
"ratio": 1272,
"type": "fibonacci_extension"
}
}
],
"enabled": true,
"id": "exit_2_foxa",
"name": "TP: Fib Extension 127.2% (FOXA@1d)",
"priority": 97,
"purpose": "take_profit",
"target_symbol": "FOXA"
},
{
"applies_to": "both",
"conditions": [
{
"left": {
"field": "close",
"type": "price"
},
"operator": "less_than",
"right": {
"rank": 2,
"type": "support_level"
}
}
],
"enabled": true,
"id": "exit_3_roku",
"name": "SL: Below Support[2] (ROKU@1d)",
"priority": 100,
"purpose": "stop_loss",
"target_symbol": "ROKU"
},
{
"applies_to": "both",
"conditions": [
{
"left": {
"field": "close",
"type": "price"
},
"operator": "less_than",
"right": {
"rank": 2,
"type": "support_level"
}
}
],
"enabled": true,
"id": "exit_3_foxa",
"name": "SL: Below Support[2] (FOXA@1d)",
"priority": 101,
"purpose": "stop_loss",
"target_symbol": "FOXA"
}
],
"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": 1
}Strategy instructions
Trading agent generated from recommendation idea 'Fox buys Roku for $22B as streaming wars heat up — play the takeover premium'. Thesis: When one company agrees to buy another, the target company's stock usually rockets up to just below the buyout price. However, the stock often trades at a slight discount to the final deal price because there's a small chance regulators might block the merger or the financing falls through. With Roku trading at a four-year high, there is still a small gap between today's price and the actual buyout value. Investors can buy Roku now and essentially collect that gap as free money if the deal closes successfully over the coming months.
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