Explore more topics
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

Jump to a section

TL;DR

The five largest qualifying dividend growers returned 44.80% versus SPY's 33.99% from January 2, 2025 through October 7, 2026. Starting in 2014, the same rules returned 340.90% versus 419.23%. Each test starts with $10,000 and reinvests dividends; the strategy pays 0.1% stock transaction fees while the stored SPY baseline pays no candidate commissions. Inspect all three periods and actual rebalances before selecting a variant.

See the strategy in action

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.

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.

Compare all three completed backtests

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.
Same dividend rules across three starting dates

Scale: 0 to 419.23 % · zero baseline

From January 2, 2025

  • Five dividend growers+44.8%
  • SPY baseline+33.99%

From January 3, 2022

  • Five dividend growers+134.94%
  • SPY baseline+73.13%

From January 2, 2014

  • Five dividend growers+340.9%
  • SPY baseline+419.23%

Independent $10,000 starts, all ending October 7, 2026; these periods overlap. Dividends reinvested. Candidate trades pay 0.1%; the stored SPY baseline has no candidate commissions.

Show the table · 3 rows, 6 columns

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

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

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.

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": "Five largest dividend growers",
  "cash": 10000,
  "buyingPower": 10000,
  "supportsCrypto": false,
  "alertsEnabled": false
}

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.