Explore more topics
Platform comparison · reviewed October 10, 2026

NexusTrade vs Robinhood Agents: research, rules and account control

Compare NexusTrade strategy testing with Robinhood native Agents and its separate external-agent MCP connection.

As of 2026-10-10

Jump to a section

TL;DR

Use NexusTrade for explicit strategy rules, historical tests and a separate paper portfolio. Robinhood native Agents work inside its brokerage app, while an external assistant uses a separate Robinhood Trading MCP connection. External agents can read connected accounts but trade only in the Agentic account. Connecting both services in Claude Code does not transfer NexusTrade rules into native Robinhood Agents. Verify each returned account before proposing an order.

Inspect an actual NexusTrade strategy

NexusTrade library preview showing the actual Google moving-average buy and sell rule cards
Actual library preview captured October 10, 2026. Both saved rule cards are visible. This is a configuration example, not a backtest result.
  1. Buy 100% of the available cash in GOOG whenever GOOG's 50-day average price is at or above its 200-day average price and days since the last filled buy order of GOOG is above 14 and days since the last filled buy order of GOOG is above 3.

    Buy GOOG 50 Day GOOG SMA ≥ 200 Day GOOG SMA and # of Days Since the Last Filled Buy Order of GOOG > Constant 14 and # of Days Since the Last Filled Buy Order of GOOG > Constant 3

  2. Sell 100% of the portfolio worth of GOOG whenever GOOG's 50-day average price is at or below its 200-day average price and days since the last filled buy order of GOOG is above 14 and days since the last filled sell order of GOOG is above 3.

    Sell 100% GOOG 50 Day GOOG SMA ≤ 200 Day GOOG SMA and # of Days Since the Last Filled Buy Order of GOOG > Constant 14 and # of Days Since the Last Filled Sell Order of GOOG > Constant 3

Worked example: keep the strategy and account identities separate

Inspect the actual Google recipe below in NexusTrade. The conditions, cooldowns and sizing are saved portfolio rules. Use the NexusTrade MCP tools to review the candidate and test record; use a Robinhood account read only to confirm holdings and buying power. Discovering both services does not transfer the rules or establish a supported native import.

Give Claude Code the request below after separately connecting the two servers. The expected output is a sourced comparison of the saved rule and the identified account, with no order. If the client cannot identify which service returned an account, stop and fix server naming or authentication before continuing.

Use NexusTrade to inspect the Google moving-average recipe, including both saved rule cards, cooldowns and allocation units. Use robinhood-trading only for a read-only summary of the authenticated accounts and holdings. Label every response by service and account. Explain any account or instrument constraint. Do not place trades, activate an Agent, or assume native strategy import.

Choose the account and artifact

NexusTrade library preview showing the actual Google moving-average buy and sell rule cards
Actual library preview captured October 10, 2026. Both saved rule cards are visible. This is a configuration example, not a backtest result.
Step 1 of 3

Inspect an actual NexusTrade strategy

NexusTrade vs Robinhood: source evidence dated 2026-10-10.

Universe
GOOG
Buy state
50-day SMA ≥ 200-day SMA
Buy sizing
100% of buying power
Sell state
50-day SMA ≤ 200-day SMA
Sell sizing
100% of portfolio value
Cooldowns
Buy: >14 and >3 days; sell: last buy >14, last sell >3 days
What you should see

The saved conditions and actions match the product artifact; their sizing and units are visible above.

Step 2 of 3

Do I need native mobile assistance or an inspectable strategy experiment?

NexusTrade is the stronger fit when your research should produce explicit rules, historical test records and a separate paper portfolio. Robinhood native Agents are a good fit when you want an assistant inside its mobile brokerage app and the controls of its dedicated Agentic account. External agents use a separate Robinhood Trading MCP connection with its own authentication and account scope.

Robinhood native Agents overview
What you should see

Open the workflow that fits your task and review its account requirements before connecting.

Step 3 of 3

Connect Claude Code to NexusTrade

Open the workflow that fits your task and review its account requirements before connecting.

Connect Claude Code to NexusTrade
What you should see

Keep reporting dates and units beside the answer, and inspect its original citations.

Choose NexusTrade for a saved testing workflow before brokerage actions

NexusTrade is the stronger fit when your research should produce explicit rules, historical test records and a separate paper portfolio. Robinhood native Agents are a good fit when you want an assistant inside its mobile brokerage app and the controls of its dedicated Agentic account. External agents use a separate Robinhood Trading MCP connection with its own authentication and account scope.

Understand account scope before considering execution

Robinhood documents native Agents in the mobile app and an external-agent connection. Per-trade approvals are on by default in the native workflow. External agents can read connected accounts but trade only in the Agentic account. Verify your current eligibility and approval settings rather than treating an authenticated server as permission for every action.

Compare brokerage fees and account restrictions separately from NexusTrade subscription and research usage. No matched performance or fill-speed result is supplied here. The actual NexusTrade rule preview is the evidence for its inspectable strategy workflow.

Compare the workflow

Show the table · 4 rows, 3 columns

Scroll sideways to compare all columns. Select a heading to sort.

AuthoringAurora creates explicit portfolio rulesNative agent conversation and skills
Historical and paper evidenceSaved backtests and separate paper deploymentNative app research and brokerage actions; confirm the simulation workflow you need
Account actionsSelect an eligible connected brokerage account for a live portfolioDedicated Robinhood Agentic account
External clientNexusTrade MCP with OAuthRobinhood Trading MCP with separate authentication

Connect Claude Code to both services

Use the command below for Robinhood, open /mcp in Claude Code, select robinhood-trading and authenticate. Add NexusTrade separately with its own server URL and OAuth. Ask for a read-only account summary from each server before proposing any trade.

Robinhood says external agents can read all connected Robinhood accounts but can place trades only in the Agentic account. Keep the server name and target account in each proposed action. Connecting both services does not transfer a NexusTrade strategy into Robinhood native Agents.

Shell
claude mcp add robinhood-trading --transport http https://agent.robinhood.com/mcp/trading

Check a missing tool or failed account read

If a read fails, check the named server and complete its authentication in /mcp before retrying. Confirm which service returned each account and its identity. An account from NexusTrade and an account from Robinhood are separate records; do not treat discovery of both servers as authorization for a brokerage action.

What the saved rules mean

Inspect the complete conditions and allocation export

The buy rule checks whether the 50-day moving average is at least the 200-day average, with more than 14 days since the last buy and an additional more-than-3-day buy check. The sell rule checks the inverse state, with more than 14 days since the last buy and more than 3 days since the last sell. These are state checks with cooldowns. They do not require a new crossing event.

The JSON below retains the library conditions and actions while omitting editor forms, generated identifiers and timestamps. It is a semantic export for inspection, not a saved customer portfolio.

The buy spends 100% of buying power; the sell uses 100% of portfolio value. Equality meets both moving-average comparisons. There is no explicit zero-position entry guard. Review those details before changing the recipe or translating it to another engine.

JSON
View complete record
[
  {
    "name": "Buy 100% of the available cash in GOOG whenever GOOG's 50-day average price is at or above its 200-day average price and days since the last filled buy order of GOOG is above 14 and days since the last filled buy order of GOOG is above 3.",
    "userId": null,
    "active": true,
    "condition": {
      "name": "50 Day GOOG SMA ≥ 200 Day GOOG SMA and # of Days Since the Last Filled Buy Order of GOOG > Constant 14 and # of Days Since the Last Filled Buy Order of GOOG > Constant 3",
      "type": "And",
      "description": "All conditions must be true",
      "example": "If Apple's price is up today but down for the week.",
      "conditions": [
        {
          "lhs": {
            "compound": false,
            "targetAsset": {
              "name": "GOOG",
              "type": "Stock",
              "symbol": "GOOG"
            },
            "targetAssets": [],
            "window": {
              "length": 50,
              "interval": "Day"
            },
            "type": "SimpleMovingAverage",
            "name": "50 Day GOOG SMA"
          },
          "rhs": {
            "compound": false,
            "targetAsset": {
              "name": "GOOG",
              "type": "Stock",
              "symbol": "GOOG"
            },
            "targetAssets": [],
            "window": {
              "length": 200,
              "interval": "Day"
            },
            "type": "SimpleMovingAverage",
            "name": "200 Day GOOG SMA"
          },
          "name": "50 Day GOOG SMA ≥ 200 Day GOOG SMA",
          "comparison": "greaterThanOrEqual",
          "type": "Base",
          "description": "Left-Hand indicator (comparator) Right-Hand Indicator",
          "example": "If the Rate of Change of Apple's price is > the Value 0."
        },
        {
          "lhs": {
            "compound": false,
            "targetAssets": [
              {
                "name": "GOOG",
                "type": "Stock",
                "symbol": "GOOG"
              }
            ],
            "side": "Buy",
            "type": "DaysSinceOrder",
            "orderStatus": "Filled",
            "name": "# of Days Since the Last Filled Buy Order of GOOG"
          },
          "rhs": {
            "compound": false,
            "targetAssets": [],
            "value": 14,
            "type": "Value",
            "name": "Constant 14"
          },
          "name": "# of Days Since the Last Filled Buy Order of GOOG > Constant 14",
          "comparison": "greaterThan",
          "type": "Base",
          "description": "Left-Hand indicator (comparator) Right-Hand Indicator",
          "example": "If the Rate of Change of Apple's price is > the Value 0."
        },
        {
          "lhs": {
            "compound": false,
            "targetAssets": [
              {
                "name": "GOOG",
                "type": "Stock",
                "symbol": "GOOG"
              }
            ],
            "side": "Buy",
            "type": "DaysSinceOrder",
            "orderStatus": "Filled",
            "name": "# of Days Since the Last Filled Buy Order of GOOG"
          },
          "rhs": {
            "compound": false,
            "targetAssets": [],
            "value": 3,
            "type": "Value",
            "name": "Constant 3"
          },
          "name": "# of Days Since the Last Filled Buy Order of GOOG > Constant 3",
          "comparison": "greaterThan",
          "type": "Base",
          "description": "Left-Hand indicator (comparator) Right-Hand Indicator",
          "example": "If the Rate of Change of Apple's price is > the Value 0."
        }
      ]
    },
    "action": {
      "type": "Buy",
      "targetAsset": {
        "name": "GOOG",
        "type": "Stock",
        "symbol": "GOOG"
      },
      "amount": {
        "type": "percent of buying power",
        "amount": 100
      }
    },
    "orderExecution": {
      "type": "Market"
    },
    "automaticOrderApproval": false
  },
  {
    "name": "Sell 100% of the portfolio worth of GOOG whenever GOOG's 50-day average price is at or below its 200-day average price and days since the last filled buy order of GOOG is above 14 and days since the last filled sell order of GOOG is above 3.",
    "userId": null,
    "active": true,
    "condition": {
      "name": "50 Day GOOG SMA ≤ 200 Day GOOG SMA and # of Days Since the Last Filled Buy Order of GOOG > Constant 14 and # of Days Since the Last Filled Sell Order of GOOG > Constant 3",
      "type": "And",
      "description": "All conditions must be true",
      "example": "If Apple's price is up today but down for the week.",
      "conditions": [
        {
          "lhs": {
            "compound": false,
            "targetAsset": {
              "name": "GOOG",
              "type": "Stock",
              "symbol": "GOOG"
            },
            "targetAssets": [],
            "window": {
              "length": 50,
              "interval": "Day"
            },
            "type": "SimpleMovingAverage",
            "name": "50 Day GOOG SMA"
          },
          "rhs": {
            "compound": false,
            "targetAsset": {
              "name": "GOOG",
              "type": "Stock",
              "symbol": "GOOG"
            },
            "targetAssets": [],
            "window": {
              "length": 200,
              "interval": "Day"
            },
            "type": "SimpleMovingAverage",
            "name": "200 Day GOOG SMA"
          },
          "name": "50 Day GOOG SMA ≤ 200 Day GOOG SMA",
          "comparison": "lessThanOrEqual",
          "type": "Base",
          "description": "Left-Hand indicator (comparator) Right-Hand Indicator",
          "example": "If the Rate of Change of Apple's price is > the Value 0."
        },
        {
          "lhs": {
            "compound": false,
            "targetAssets": [
              {
                "name": "GOOG",
                "type": "Stock",
                "symbol": "GOOG"
              }
            ],
            "side": "Buy",
            "type": "DaysSinceOrder",
            "orderStatus": "Filled",
            "name": "# of Days Since the Last Filled Buy Order of GOOG"
          },
          "rhs": {
            "compound": false,
            "targetAssets": [],
            "value": 14,
            "type": "Value",
            "name": "Constant 14"
          },
          "name": "# of Days Since the Last Filled Buy Order of GOOG > Constant 14",
          "comparison": "greaterThan",
          "type": "Base",
          "description": "Left-Hand indicator (comparator) Right-Hand Indicator",
          "example": "If the Rate of Change of Apple's price is > the Value 0."
        },
        {
          "lhs": {
            "compound": false,
            "targetAssets": [
              {
                "name": "GOOG",
                "type": "Stock",
                "symbol": "GOOG"
              }
            ],
            "side": "Sell",
            "type": "DaysSinceOrder",
            "orderStatus": "Filled",
            "name": "# of Days Since the Last Filled Sell Order of GOOG"
          },
          "rhs": {
            "compound": false,
            "targetAssets": [],
            "value": 3,
            "type": "Value",
            "name": "Constant 3"
          },
          "name": "# of Days Since the Last Filled Sell Order of GOOG > Constant 3",
          "comparison": "greaterThan",
          "type": "Base",
          "description": "Left-Hand indicator (comparator) Right-Hand Indicator",
          "example": "If the Rate of Change of Apple's price is > the Value 0."
        }
      ]
    },
    "action": {
      "type": "Sell",
      "targetAsset": {
        "name": "GOOG",
        "type": "Stock",
        "symbol": "GOOG"
      },
      "amount": {
        "type": "percent of portfolio",
        "amount": 100
      }
    },
    "orderExecution": {
      "type": "Market"
    },
    "automaticOrderApproval": false
  }
]

Continue exploring

Discussion

Sign in or create a free account to join the discussion.

No comments yet.

Aurora · AI research assistant

Try this in Aurora

Edit the request, then open it in Aurora. You choose when to send it.