Worked product example

Five dividend growers: rules and three completed backtests

Inspect an existing five-stock dividend strategy, its original rules, costs and three completed historical periods, including its longer-period loss relative to SPY.

As of 2026-10-10

See the strategy in action

Five qualifying dividend growers, equal weights and $10,000 initial capital. The 2025 run returned 44.80% versus the stored SPY baseline's 33.99%, with 24.33% maximum drawdown. The longer 2014 run lagged SPY; inspect all three periods below.

  1. 1. Open the example

    Choose Try in Aurora above. Review the request and the exact rules, then choose Start in Aurora.

  2. 2. Inspect the draft

    Send the prepared request when you are ready. Aurora checks the strategy and shows its rules before saving or testing anything.

  3. 3. Run your own test

    Ask Aurora to propose the dates, starting capital, fees and benchmark. Review those inputs before approving a backtest, then compare its completed chart and orders.

All 490 recorded daily closes: dividend strategy returned 44.80% versus SPY 33.99% from January 2, 2025 through October 7, 2026
Actual stored daily closes with $10,000 initial capital. Candidate stock trades pay 0.1% commissions; the SPY baseline pays no candidate commissions. This is a historical comparison with different holdings and costs.

Compare all three completed backtests

Inspect all periods and trading costs

This saved dividend portfolio has three completed historical periods. The same rules ran on October 8, 2026; each run starts with $10,000, reinvests dividends, permits fractional shares and charges 0.1% of stock transaction notional.

The strategy selects the five largest companies by market value among the SP500 universe that meet its ten-year consecutive dividend-increase test, gives each equal weight and targets 100% deployment. Rebalancing triggers when portfolio value equals initial value or at least 30 days have passed since a filled buy. Inspect the returned holdings and timestamps to see the actual rebalance cadence.

All three windows appear below. The 2014 window returned less than SPY. To explore the stock selection, follow the rebalance events and the companies returned by each universe query at its decision time.

The stored SPY baseline invests the full initial capital in fractional shares and reinvests dividends with no candidate commissions. The strategy pays 0.1% stock transaction fees and changes its holdings. Curves show recorded daily closes; the reported maximum drawdown uses the engine's observations. Compare fees, holdings and exposure alongside each return.

2025-01-0244.80%33.99%24.33%49$24.15
2022-01-03134.94%73.13%24.16%153$103.47
2014-01-02340.90%419.23%24.16%422$331.98
Actual 2022 dividend strategy and SPY daily-close return history
Recorded daily closes from the 2022 run; $10,000 initial capital. Candidate stock trades pay 0.1%; SPY has no candidate commissions.
Actual 2014 dividend strategy and SPY daily-close return history
Recorded daily closes from the 2014 run; $10,000 initial capital. Candidate stock trades pay 0.1%; SPY has no candidate commissions.

Review the saved rules before continuing

Inspect and download the exact strategy rules

These are the rules used in the completed backtests. NexusTrade validated this review configuration on October 10. The Aurora action above opens this exact configuration for review. Loading it starts no backtest and activates no trading.

JSON
{
  "initialValue": 10000,
  "supportsFractionalShares": true,
  "dividendPolicy": "reinvest",
  "strategies": [
    {
      "active": true,
      "condition": {
        "lhs": null,
        "rhs": null,
        "comparison": null,
        "type": "Or",
        "conditions": [
          {
            "lhs": {
              "compound": false,
              "targetAssets": [],
              "type": "PortfolioValue"
            },
            "rhs": {
              "compound": false,
              "targetAssets": [],
              "type": "InitialValue"
            },
            "comparison": "equal",
            "type": "Base"
          },
          {
            "lhs": {
              "compound": false,
              "targetAssets": [],
              "side": "Buy",
              "type": "DaysSinceOrder",
              "orderStatus": "Filled"
            },
            "rhs": {
              "compound": false,
              "targetAssets": [],
              "value": 30,
              "type": "Value"
            },
            "comparison": "greaterThanOrEqual",
            "type": "Base"
          }
        ]
      },
      "action": {
        "type": "DynamicRebalance",
        "universe": {
          "source": "SP500"
        },
        "pipeline": [
          {
            "type": "Filter",
            "condition": {
              "lhs": {
                "compound": true,
                "targetAssets": [],
                "type": "ConsecutiveIncrease",
                "maxLength": 1,
                "period": "Year",
                "lookback": 10,
                "indicators": [
                  {
                    "compound": false,
                    "targetAsset": {
                      "type": "",
                      "symbol": ""
                    },
                    "targetAssets": [],
                    "type": "LastDividend"
                  }
                ]
              },
              "rhs": {
                "compound": false,
                "targetAssets": [],
                "value": 10,
                "type": "Value"
              },
              "comparison": "greaterThanOrEqual",
              "type": "Base"
            }
          },
          {
            "type": "SelectTop",
            "metric": {
              "compound": false,
              "targetAsset": {
                "type": "",
                "symbol": ""
              },
              "targetAssets": [],
              "type": "Fundamental",
              "metric": "marketCap"
            },
            "limit": 5,
            "direction": "Highest"
          }
        ],
        "weightIndicator": {
          "compound": false,
          "targetAssets": [],
          "value": 1,
          "type": "Value"
        },
        "deploymentPercent": {
          "compound": false,
          "targetAssets": [],
          "value": 100,
          "type": "Value"
        }
      },
      "orderExecution": {
        "type": "Market"
      },
      "automaticOrderApproval": false,
      "name": "Rebalance five qualifying dividend growers"
    }
  ],
  "name": "Five largest dividend growers",
  "cash": 10000,
  "buyingPower": 10000,
  "supportsCrypto": false,
  "alertsEnabled": false
}
Aurora · AI research assistant

Try this in Aurora

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