Wall Street loves the AI storage boom — ride the momentum on Western Digital and
Created
Thesis
Major Wall Street firms are significantly upgrading their outlook on storage companies because the artificial intelligence boom requires massive amounts of data storage. When momentum like this starts and analysts aggressively raise their price targets, the stock usually keeps climbing for weeks as other investors catch on. Buying these strong, trending companies on their good news is a classic way to ride the broader tech wave.
Strategy approach
Build a rule-based momentum strategy that enters long WDC and STX on the daily timeframe when price closes above the 20-day simple moving average and the 14-day RSI is between 55 and 70. Exit if price closes below the 20-day SMA. Use a 10% trailing stop and a maximum holding period of 30 days.
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 (WDC@1d) (3 conditions)
- Entry: SMA/RSI Signal Long (STX@1d) (3 conditions)
- Entry: SMA/RSI Signal Long (MU@1d) (3 conditions)
- Exit: Position Exit Rule (WDC@1d) (1 condition)
- Exit: Position Exit Rule (STX@1d) (1 condition)
- Exit: Position Exit Rule (MU@1d) (1 condition)
- Exit: Take Profit at 10.0% (2 conditions)
- Exit: Take Profit at 20.0% (1 condition)
- Exit: Stop Loss at 10.0% (1 condition)
Shared strategy rules
Rule configuration
{
"data_dependencies": [
{
"symbol": "WDC",
"timeframe": "1d"
},
{
"symbol": "STX",
"timeframe": "1d"
},
{
"symbol": "MU",
"timeframe": "1d"
}
],
"entry_rules": [
{
"conditions": [
{
"left": {
"field": "close",
"type": "price"
},
"operator": "greater_than",
"right": {
"chart_ref": {
"symbol": "WDC",
"timeframe": "1d"
},
"indicator": {
"name": "sma",
"period": 20
},
"type": "indicator"
}
},
{
"left": {
"chart_ref": {
"symbol": "WDC",
"timeframe": "1d"
},
"indicator": {
"name": "rsi",
"period": 14
},
"type": "indicator"
},
"operator": "greater_than",
"right": {
"type": "constant",
"value": 55
}
},
{
"left": {
"chart_ref": {
"symbol": "WDC",
"timeframe": "1d"
},
"indicator": {
"name": "rsi",
"period": 14
},
"type": "indicator"
},
"operator": "less_than",
"right": {
"type": "constant",
"value": 70
}
}
],
"direction": "long",
"enabled": true,
"id": "entry_1_wdc",
"name": "SMA/RSI Signal Long (WDC@1d)",
"priority": 1,
"trade_symbol": "WDC"
},
{
"conditions": [
{
"left": {
"field": "close",
"type": "price"
},
"operator": "greater_than",
"right": {
"chart_ref": {
"symbol": "STX",
"timeframe": "1d"
},
"indicator": {
"name": "sma",
"period": 20
},
"type": "indicator"
}
},
{
"left": {
"chart_ref": {
"symbol": "STX",
"timeframe": "1d"
},
"indicator": {
"name": "rsi",
"period": 14
},
"type": "indicator"
},
"operator": "greater_than",
"right": {
"type": "constant",
"value": 55
}
},
{
"left": {
"chart_ref": {
"symbol": "STX",
"timeframe": "1d"
},
"indicator": {
"name": "rsi",
"period": 14
},
"type": "indicator"
},
"operator": "less_than",
"right": {
"type": "constant",
"value": 70
}
}
],
"direction": "long",
"enabled": true,
"id": "entry_1_stx",
"name": "SMA/RSI Signal Long (STX@1d)",
"priority": 2,
"trade_symbol": "STX"
},
{
"conditions": [
{
"left": {
"field": "close",
"type": "price"
},
"operator": "greater_than",
"right": {
"chart_ref": {
"symbol": "MU",
"timeframe": "1d"
},
"indicator": {
"name": "sma",
"period": 20
},
"type": "indicator"
}
},
{
"left": {
"chart_ref": {
"symbol": "MU",
"timeframe": "1d"
},
"indicator": {
"name": "rsi",
"period": 14
},
"type": "indicator"
},
"operator": "greater_than",
"right": {
"type": "constant",
"value": 55
}
},
{
"left": {
"chart_ref": {
"symbol": "MU",
"timeframe": "1d"
},
"indicator": {
"name": "rsi",
"period": 14
},
"type": "indicator"
},
"operator": "less_than",
"right": {
"type": "constant",
"value": 70
}
}
],
"direction": "long",
"enabled": true,
"id": "entry_1_mu",
"name": "SMA/RSI Signal Long (MU@1d)",
"priority": 3,
"trade_symbol": "MU"
}
],
"exit_rules": [
{
"applies_to": "both",
"conditions": [
{
"left": {
"field": "close",
"type": "price"
},
"operator": "less_than",
"right": {
"chart_ref": {
"symbol": "WDC",
"timeframe": "1d"
},
"indicator": {
"name": "sma",
"period": 20
},
"type": "indicator"
}
}
],
"enabled": true,
"id": "exit_1_wdc",
"name": "Position Exit Rule (WDC@1d)",
"priority": 1,
"purpose": "signal",
"target_symbol": "WDC"
},
{
"applies_to": "both",
"conditions": [
{
"left": {
"field": "close",
"type": "price"
},
"operator": "less_than",
"right": {
"chart_ref": {
"symbol": "STX",
"timeframe": "1d"
},
"indicator": {
"name": "sma",
"period": 20
},
"type": "indicator"
}
}
],
"enabled": true,
"id": "exit_1_stx",
"name": "Position Exit Rule (STX@1d)",
"priority": 2,
"purpose": "signal",
"target_symbol": "STX"
},
{
"applies_to": "both",
"conditions": [
{
"left": {
"field": "close",
"type": "price"
},
"operator": "less_than",
"right": {
"chart_ref": {
"symbol": "MU",
"timeframe": "1d"
},
"indicator": {
"name": "sma",
"period": 20
},
"type": "indicator"
}
}
],
"enabled": true,
"id": "exit_1_mu",
"name": "Position Exit Rule (MU@1d)",
"priority": 3,
"purpose": "signal",
"target_symbol": "MU"
},
{
"applies_to": "both",
"conditions": [
{
"left": {
"field": "unrealized_pnl_percent",
"type": "position"
},
"operator": "greater_than_or_equal",
"right": {
"type": "constant",
"value": 10
}
},
{
"left": {
"field": "unrealized_pnl_percent",
"type": "position"
},
"operator": {
"decreasing": {
"periods": 2
}
},
"right": {
"type": "constant",
"value": 0
}
}
],
"enabled": true,
"id": "exit_2",
"name": "Take Profit at 10.0%",
"priority": 10,
"purpose": "trailing_stop"
},
{
"applies_to": "both",
"conditions": [
{
"left": {
"field": "unrealized_pnl_percent",
"type": "position"
},
"operator": "greater_than_or_equal",
"right": {
"type": "constant",
"value": 20
}
}
],
"enabled": true,
"id": "exit_3",
"name": "Take Profit at 20.0%",
"priority": 11,
"purpose": "take_profit"
},
{
"applies_to": "both",
"conditions": [
{
"left": {
"field": "unrealized_pnl_percent",
"type": "position"
},
"operator": "less_than_or_equal",
"right": {
"type": "constant",
"value": -10
}
}
],
"enabled": true,
"id": "exit_4",
"name": "Stop Loss at 10.0%",
"priority": 10,
"purpose": "stop_loss"
}
],
"position_sizing": {
"max_position_percent": 25,
"method": {
"risk_percent": 2,
"stop_loss_percent": 10,
"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
},
{
"name": "sma",
"period": 20
},
{
"name": "rsi",
"period": 14
}
]
}Parsed strategy
{
"data_dependencies": [
{
"symbol": "WDC",
"timeframe": "1d"
},
{
"symbol": "STX",
"timeframe": "1d"
},
{
"symbol": "MU",
"timeframe": "1d"
}
],
"entry_rules": [
{
"conditions": [
{
"left": {
"field": "close",
"type": "price"
},
"operator": "greater_than",
"right": {
"chart_ref": {
"symbol": "WDC",
"timeframe": "1d"
},
"indicator": {
"name": "sma",
"period": 20
},
"type": "indicator"
}
},
{
"left": {
"chart_ref": {
"symbol": "WDC",
"timeframe": "1d"
},
"indicator": {
"name": "rsi",
"period": 14
},
"type": "indicator"
},
"operator": "greater_than",
"right": {
"type": "constant",
"value": 55
}
},
{
"left": {
"chart_ref": {
"symbol": "WDC",
"timeframe": "1d"
},
"indicator": {
"name": "rsi",
"period": 14
},
"type": "indicator"
},
"operator": "less_than",
"right": {
"type": "constant",
"value": 70
}
}
],
"direction": "long",
"enabled": true,
"id": "entry_1_wdc",
"name": "SMA/RSI Signal Long (WDC@1d)",
"priority": 1,
"trade_symbol": "WDC"
},
{
"conditions": [
{
"left": {
"field": "close",
"type": "price"
},
"operator": "greater_than",
"right": {
"chart_ref": {
"symbol": "STX",
"timeframe": "1d"
},
"indicator": {
"name": "sma",
"period": 20
},
"type": "indicator"
}
},
{
"left": {
"chart_ref": {
"symbol": "STX",
"timeframe": "1d"
},
"indicator": {
"name": "rsi",
"period": 14
},
"type": "indicator"
},
"operator": "greater_than",
"right": {
"type": "constant",
"value": 55
}
},
{
"left": {
"chart_ref": {
"symbol": "STX",
"timeframe": "1d"
},
"indicator": {
"name": "rsi",
"period": 14
},
"type": "indicator"
},
"operator": "less_than",
"right": {
"type": "constant",
"value": 70
}
}
],
"direction": "long",
"enabled": true,
"id": "entry_1_stx",
"name": "SMA/RSI Signal Long (STX@1d)",
"priority": 2,
"trade_symbol": "STX"
},
{
"conditions": [
{
"left": {
"field": "close",
"type": "price"
},
"operator": "greater_than",
"right": {
"chart_ref": {
"symbol": "MU",
"timeframe": "1d"
},
"indicator": {
"name": "sma",
"period": 20
},
"type": "indicator"
}
},
{
"left": {
"chart_ref": {
"symbol": "MU",
"timeframe": "1d"
},
"indicator": {
"name": "rsi",
"period": 14
},
"type": "indicator"
},
"operator": "greater_than",
"right": {
"type": "constant",
"value": 55
}
},
{
"left": {
"chart_ref": {
"symbol": "MU",
"timeframe": "1d"
},
"indicator": {
"name": "rsi",
"period": 14
},
"type": "indicator"
},
"operator": "less_than",
"right": {
"type": "constant",
"value": 70
}
}
],
"direction": "long",
"enabled": true,
"id": "entry_1_mu",
"name": "SMA/RSI Signal Long (MU@1d)",
"priority": 3,
"trade_symbol": "MU"
}
],
"exit_rules": [
{
"applies_to": "both",
"conditions": [
{
"left": {
"field": "close",
"type": "price"
},
"operator": "less_than",
"right": {
"chart_ref": {
"symbol": "WDC",
"timeframe": "1d"
},
"indicator": {
"name": "sma",
"period": 20
},
"type": "indicator"
}
}
],
"enabled": true,
"id": "exit_1_wdc",
"name": "Position Exit Rule (WDC@1d)",
"priority": 1,
"purpose": "signal",
"target_symbol": "WDC"
},
{
"applies_to": "both",
"conditions": [
{
"left": {
"field": "close",
"type": "price"
},
"operator": "less_than",
"right": {
"chart_ref": {
"symbol": "STX",
"timeframe": "1d"
},
"indicator": {
"name": "sma",
"period": 20
},
"type": "indicator"
}
}
],
"enabled": true,
"id": "exit_1_stx",
"name": "Position Exit Rule (STX@1d)",
"priority": 2,
"purpose": "signal",
"target_symbol": "STX"
},
{
"applies_to": "both",
"conditions": [
{
"left": {
"field": "close",
"type": "price"
},
"operator": "less_than",
"right": {
"chart_ref": {
"symbol": "MU",
"timeframe": "1d"
},
"indicator": {
"name": "sma",
"period": 20
},
"type": "indicator"
}
}
],
"enabled": true,
"id": "exit_1_mu",
"name": "Position Exit Rule (MU@1d)",
"priority": 3,
"purpose": "signal",
"target_symbol": "MU"
},
{
"applies_to": "both",
"conditions": [
{
"left": {
"field": "unrealized_pnl_percent",
"type": "position"
},
"operator": "greater_than_or_equal",
"right": {
"type": "constant",
"value": 10
}
},
{
"left": {
"field": "unrealized_pnl_percent",
"type": "position"
},
"operator": {
"decreasing": {
"periods": 2
}
},
"right": {
"type": "constant",
"value": 0
}
}
],
"enabled": true,
"id": "exit_2",
"name": "Take Profit at 10.0%",
"priority": 10,
"purpose": "trailing_stop"
},
{
"applies_to": "both",
"conditions": [
{
"left": {
"field": "unrealized_pnl_percent",
"type": "position"
},
"operator": "greater_than_or_equal",
"right": {
"type": "constant",
"value": 20
}
}
],
"enabled": true,
"id": "exit_3",
"name": "Take Profit at 20.0%",
"priority": 11,
"purpose": "take_profit"
},
{
"applies_to": "both",
"conditions": [
{
"left": {
"field": "unrealized_pnl_percent",
"type": "position"
},
"operator": "less_than_or_equal",
"right": {
"type": "constant",
"value": -10
}
}
],
"enabled": true,
"id": "exit_4",
"name": "Stop Loss at 10.0%",
"priority": 10,
"purpose": "stop_loss"
}
],
"position_sizing": {
"max_position_percent": 25,
"method": {
"risk_percent": 2,
"stop_loss_percent": 10,
"type": "fixed_risk"
},
"min_position_value": 100
},
"trigger_timeframe": "1d",
"version": 1
}Strategy instructions
Trading agent generated from recommendation idea 'Wall Street loves the AI storage boom — ride the momentum on Western Digital and Seagate'. Thesis: Major Wall Street firms are significantly upgrading their outlook on storage companies because the artificial intelligence boom requires massive amounts of data storage. When momentum like this starts and analysts aggressively raise their price targets, the stock usually keeps climbing for weeks as other investors catch on. Buying these strong, trending companies on their good news is a classic way to ride the broader tech wave.
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