Loading…
Public trading strategy

SpaceX's record IPO is sucking air out of smaller space stocks — buy the dip on

Created

Thesis

When a massive company like SpaceX goes public, it often sucks all the money and attention out of its smaller competitors temporarily. Reports show that smaller space stocks like Rocket Lab and Intuitive Machines crashed as investors rushed to buy SpaceX instead. However, the broader space industry is actually gaining momentum and validation from this IPO. This panic selling in smaller space stocks is likely an overreaction, creating a buying opportunity for these companies once the SpaceX hype settles.

Strategy approach

Build a mean-reversion strategy on RKLB, SATS, RDW, and LUNR. Enter long on the daily timeframe when the stock's RSI(14) drops below 30. Set a stop loss at 5% below the entry price, and take profit when the price crosses back above the 20-day Simple Moving Average (SMA). Hold for a maximum of 15 trading 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: Oversold RSI Long (SATS@1d) (5 conditions)
  • Exit: Take Profit at 15.0% (SATS@1d) (2 conditions)
  • Exit: SL: Fib Retracement 61.8% (SATS@1d) (1 condition)
  • Exit: SL: Below Support[2] (SATS@1d) (1 condition)
  • Exit: SL: Fib Retracement 50.0% (SATS@1d) (1 condition)
  • Exit: SL: Below Support[1] (SATS@1d) (1 condition)

Shared strategy rules

Rule configuration

{
  "data_dependencies": [
    {
      "symbol": "SATS",
      "timeframe": "1d"
    }
  ],
  "entry_rules": [
    {
      "conditions": [
        {
          "left": {
            "chart_ref": {
              "symbol": "SATS",
              "timeframe": "1d"
            },
            "indicator": {
              "name": "rsi",
              "period": 14
            },
            "type": "indicator"
          },
          "operator": "less_than",
          "right": {
            "type": "constant",
            "value": 30
          }
        },
        {
          "left": {
            "field": "low",
            "type": "price"
          },
          "operator": "less_than_or_equal",
          "right": {
            "rank": 2,
            "type": "support_level"
          }
        },
        {
          "left": {
            "field": "close",
            "type": "price"
          },
          "operator": "greater_than",
          "right": {
            "rank": 2,
            "type": "support_level"
          }
        },
        {
          "left": {
            "field": "low",
            "type": "price"
          },
          "operator": "less_than_or_equal",
          "right": {
            "rank": 1,
            "type": "support_level"
          }
        },
        {
          "left": {
            "field": "close",
            "type": "price"
          },
          "operator": "greater_than",
          "right": {
            "rank": 1,
            "type": "support_level"
          }
        }
      ],
      "direction": "long",
      "enabled": true,
      "id": "entry_1",
      "name": "Oversold RSI Long (SATS@1d)",
      "priority": 1,
      "trade_symbol": "SATS"
    }
  ],
  "exit_rules": [
    {
      "applies_to": "both",
      "conditions": [
        {
          "left": {
            "field": "close",
            "type": "price"
          },
          "operator": "crossed_above",
          "right": {
            "chart_ref": {
              "symbol": "SATS",
              "timeframe": "1d"
            },
            "indicator": {
              "name": "sma",
              "period": 20
            },
            "type": "indicator"
          }
        },
        {
          "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% (SATS@1d)",
      "priority": 1,
      "purpose": "signal"
    },
    {
      "applies_to": "both",
      "conditions": [
        {
          "left": {
            "field": "close",
            "type": "price"
          },
          "operator": "greater_than_or_equal",
          "right": {
            "chart_ref": {
              "symbol": "SATS",
              "timeframe": "1d"
            },
            "ratio": 618,
            "type": "fibonacci_retracement"
          }
        }
      ],
      "enabled": true,
      "id": "exit_2",
      "name": "SL: Fib Retracement 61.8% (SATS@1d)",
      "priority": 97,
      "purpose": "take_profit",
      "target_symbol": "SATS"
    },
    {
      "applies_to": "both",
      "conditions": [
        {
          "left": {
            "field": "close",
            "type": "price"
          },
          "operator": "less_than",
          "right": {
            "rank": 2,
            "type": "support_level"
          }
        }
      ],
      "enabled": true,
      "id": "exit_3",
      "name": "SL: Below Support[2] (SATS@1d)",
      "priority": 100,
      "purpose": "stop_loss",
      "target_symbol": "SATS"
    },
    {
      "applies_to": "long",
      "conditions": [
        {
          "left": {
            "field": "close",
            "type": "price"
          },
          "operator": "greater_than_or_equal",
          "right": {
            "chart_ref": {
              "symbol": "SATS",
              "timeframe": "1d"
            },
            "ratio": 500,
            "type": "fibonacci_retracement"
          }
        }
      ],
      "enabled": true,
      "id": "exit_4",
      "name": "SL: Fib Retracement 50.0% (SATS@1d)",
      "priority": 97,
      "purpose": "take_profit"
    },
    {
      "applies_to": "long",
      "conditions": [
        {
          "left": {
            "field": "close",
            "type": "price"
          },
          "operator": "less_than",
          "right": {
            "rank": 1,
            "type": "support_level"
          }
        }
      ],
      "enabled": true,
      "id": "exit_5",
      "name": "SL: Below Support[1] (SATS@1d)",
      "priority": 100,
      "purpose": "stop_loss"
    }
  ],
  "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": "rsi",
      "period": 14
    },
    {
      "name": "sma",
      "period": 20
    }
  ]
}

Parsed strategy

{
  "data_dependencies": [
    {
      "symbol": "SATS",
      "timeframe": "1d"
    }
  ],
  "entry_rules": [
    {
      "conditions": [
        {
          "left": {
            "chart_ref": {
              "symbol": "SATS",
              "timeframe": "1d"
            },
            "indicator": {
              "name": "rsi",
              "period": 14
            },
            "type": "indicator"
          },
          "operator": "less_than",
          "right": {
            "type": "constant",
            "value": 30
          }
        },
        {
          "left": {
            "field": "low",
            "type": "price"
          },
          "operator": "less_than_or_equal",
          "right": {
            "rank": 2,
            "type": "support_level"
          }
        },
        {
          "left": {
            "field": "close",
            "type": "price"
          },
          "operator": "greater_than",
          "right": {
            "rank": 2,
            "type": "support_level"
          }
        },
        {
          "left": {
            "field": "low",
            "type": "price"
          },
          "operator": "less_than_or_equal",
          "right": {
            "rank": 1,
            "type": "support_level"
          }
        },
        {
          "left": {
            "field": "close",
            "type": "price"
          },
          "operator": "greater_than",
          "right": {
            "rank": 1,
            "type": "support_level"
          }
        }
      ],
      "direction": "long",
      "enabled": true,
      "id": "entry_1",
      "name": "Oversold RSI Long (SATS@1d)",
      "priority": 1,
      "trade_symbol": "SATS"
    }
  ],
  "exit_rules": [
    {
      "applies_to": "both",
      "conditions": [
        {
          "left": {
            "field": "close",
            "type": "price"
          },
          "operator": "crossed_above",
          "right": {
            "chart_ref": {
              "symbol": "SATS",
              "timeframe": "1d"
            },
            "indicator": {
              "name": "sma",
              "period": 20
            },
            "type": "indicator"
          }
        },
        {
          "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% (SATS@1d)",
      "priority": 1,
      "purpose": "signal"
    },
    {
      "applies_to": "both",
      "conditions": [
        {
          "left": {
            "field": "close",
            "type": "price"
          },
          "operator": "greater_than_or_equal",
          "right": {
            "chart_ref": {
              "symbol": "SATS",
              "timeframe": "1d"
            },
            "ratio": 618,
            "type": "fibonacci_retracement"
          }
        }
      ],
      "enabled": true,
      "id": "exit_2",
      "name": "SL: Fib Retracement 61.8% (SATS@1d)",
      "priority": 97,
      "purpose": "take_profit",
      "target_symbol": "SATS"
    },
    {
      "applies_to": "both",
      "conditions": [
        {
          "left": {
            "field": "close",
            "type": "price"
          },
          "operator": "less_than",
          "right": {
            "rank": 2,
            "type": "support_level"
          }
        }
      ],
      "enabled": true,
      "id": "exit_3",
      "name": "SL: Below Support[2] (SATS@1d)",
      "priority": 100,
      "purpose": "stop_loss",
      "target_symbol": "SATS"
    },
    {
      "applies_to": "long",
      "conditions": [
        {
          "left": {
            "field": "close",
            "type": "price"
          },
          "operator": "greater_than_or_equal",
          "right": {
            "chart_ref": {
              "symbol": "SATS",
              "timeframe": "1d"
            },
            "ratio": 500,
            "type": "fibonacci_retracement"
          }
        }
      ],
      "enabled": true,
      "id": "exit_4",
      "name": "SL: Fib Retracement 50.0% (SATS@1d)",
      "priority": 97,
      "purpose": "take_profit"
    },
    {
      "applies_to": "long",
      "conditions": [
        {
          "left": {
            "field": "close",
            "type": "price"
          },
          "operator": "less_than",
          "right": {
            "rank": 1,
            "type": "support_level"
          }
        }
      ],
      "enabled": true,
      "id": "exit_5",
      "name": "SL: Below Support[1] (SATS@1d)",
      "priority": 100,
      "purpose": "stop_loss"
    }
  ],
  "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 'SpaceX's record IPO is sucking air out of smaller space stocks — buy the dip on Rocket Lab and competitors'. Thesis: When a massive company like SpaceX goes public, it often sucks all the money and attention out of its smaller competitors temporarily. Reports show that smaller space stocks like Rocket Lab and Intuitive Machines crashed as investors rushed to buy SpaceX instead. However, the broader space industry is actually gaining momentum and validation from this IPO. This panic selling in smaller space stocks is likely an overreaction, creating a buying opportunity for these companies once the SpaceX hype settles.

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