{
  "site": "analiti.ca",
  "domain": "analiti.ca",
  "plan_set_version": "etf-plan-1",
  "as_of": "2026-11-04",
  "generated_at": "2026-11-05T10:18:35.609Z",
  "note": "Research output, not advice. Levels are a snapshot for this session, not live prices.",
  "benchmarks": {
    "cash": null,
    "bond": null,
    "equity_ca": null,
    "balanced": null
  },
  "swing": [],
  "hold": {},
  "by_target_year": {
    "retirement": [
      {
        "row_key": "T_RETIRE_40",
        "horizon_years": 40,
        "goal_year": 2066,
        "child_age": null,
        "years_to_18": null,
        "school_years": null,
        "sub_type": "AA_ALL_EQUITY",
        "mix_label": "about 100% stocks / 0% bonds",
        "examples": [
          {
            "aum": 41160000,
            "fee": 0,
            "rank": 1,
            "price": 34.56999969482422,
            "ticker": "MEQT.TO",
            "fund_name": "Mackenzie All-Equity Allocation ETF",
            "tr_1y_pct": 14.997787066299285,
            "worst_drawdown_1y_pct": -7.685473256394459
          },
          {
            "aum": 5946000,
            "fee": 0.13,
            "rank": 2,
            "price": 29.450000762939453,
            "ticker": "EQY.TO",
            "fund_name": "Franklin All-Equity ETF Portfolio Series ETF",
            "tr_1y_pct": 13.267029625533567,
            "worst_drawdown_1y_pct": -6.275225998064804
          },
          {
            "aum": 1021307109.4200001,
            "fee": 0.15,
            "rank": 3,
            "price": 23.299999237060547,
            "ticker": "ZEQT.TO",
            "fund_name": "BMO All-Equity ETF",
            "tr_1y_pct": 13.928480726699966,
            "worst_drawdown_1y_pct": -8.723606363538373
          }
        ],
        "cash_buffer": null,
        "ladder": [],
        "moves_note": "moves to the next row in about 10 years"
      },
      {
        "row_key": "T_RETIRE_30",
        "horizon_years": 30,
        "goal_year": 2056,
        "child_age": null,
        "years_to_18": null,
        "school_years": null,
        "sub_type": "AA_ALL_EQUITY",
        "mix_label": "about 100% stocks / 0% bonds",
        "examples": [
          {
            "aum": 41160000,
            "fee": 0,
            "rank": 1,
            "price": 34.56999969482422,
            "ticker": "MEQT.TO",
            "fund_name": "Mackenzie All-Equity Allocation ETF",
            "tr_1y_pct": 14.997787066299285,
            "worst_drawdown_1y_pct": -7.685473256394459
          },
          {
            "aum": 5946000,
            "fee": 0.13,
            "rank": 2,
            "price": 29.450000762939453,
            "ticker": "EQY.TO",
            "fund_name": "Franklin All-Equity ETF Portfolio Series ETF",
            "tr_1y_pct": 13.267029625533567,
            "worst_drawdown_1y_pct": -6.275225998064804
          },
          {
            "aum": 1021307109.4200001,
            "fee": 0.15,
            "rank": 3,
            "price": 23.299999237060547,
            "ticker": "ZEQT.TO",
            "fund_name": "BMO All-Equity ETF",
            "tr_1y_pct": 13.928480726699966,
            "worst_drawdown_1y_pct": -8.723606363538373
          }
        ],
        "cash_buffer": null,
        "ladder": [],
        "moves_note": "moves to the next row in about 5 years"
      },
      {
        "row_key": "T_RETIRE_25",
        "horizon_years": 25,
        "goal_year": 2051,
        "child_age": null,
        "years_to_18": null,
        "school_years": null,
        "sub_type": "AA_ALL_EQUITY",
        "mix_label": "about 100% stocks / 0% bonds",
        "examples": [
          {
            "aum": 41160000,
            "fee": 0,
            "rank": 1,
            "price": 34.56999969482422,
            "ticker": "MEQT.TO",
            "fund_name": "Mackenzie All-Equity Allocation ETF",
            "tr_1y_pct": 14.997787066299285,
            "worst_drawdown_1y_pct": -7.685473256394459
          },
          {
            "aum": 5946000,
            "fee": 0.13,
            "rank": 2,
            "price": 29.450000762939453,
            "ticker": "EQY.TO",
            "fund_name": "Franklin All-Equity ETF Portfolio Series ETF",
            "tr_1y_pct": 13.267029625533567,
            "worst_drawdown_1y_pct": -6.275225998064804
          },
          {
            "aum": 1021307109.4200001,
            "fee": 0.15,
            "rank": 3,
            "price": 23.299999237060547,
            "ticker": "ZEQT.TO",
            "fund_name": "BMO All-Equity ETF",
            "tr_1y_pct": 13.928480726699966,
            "worst_drawdown_1y_pct": -8.723606363538373
          }
        ],
        "cash_buffer": null,
        "ladder": [],
        "moves_note": "moves to the next row in about 5 years"
      },
      {
        "row_key": "T_RETIRE_20",
        "horizon_years": 20,
        "goal_year": 2046,
        "child_age": null,
        "years_to_18": null,
        "school_years": null,
        "sub_type": "AA_GROWTH",
        "mix_label": "about 80% stocks / 20% bonds",
        "examples": [
          {
            "aum": 1353500,
            "fee": 0.13,
            "rank": 1,
            "price": 26.979999542236328,
            "ticker": "GRO.TO",
            "fund_name": "Franklin Growth ETF Portfolio Series ETF",
            "tr_1y_pct": 12.090151845258013,
            "worst_drawdown_1y_pct": -5.806702182301171
          },
          {
            "aum": 807004425,
            "fee": 0.15,
            "rank": 2,
            "price": 19.399999618530273,
            "ticker": "ZGRO.TO",
            "fund_name": "BMO Growth ETF",
            "tr_1y_pct": 10.915819685036542,
            "worst_drawdown_1y_pct": -6.873978364027633
          },
          {
            "aum": 449988000,
            "fee": 0.15,
            "rank": 3,
            "price": 29.610000610351562,
            "ticker": "TGRO.TO",
            "fund_name": "TD Growth ETF Portfolio",
            "tr_1y_pct": 12.023350097819163,
            "worst_drawdown_1y_pct": -7.207207207207189
          }
        ],
        "cash_buffer": null,
        "ladder": [],
        "moves_note": "moves to the next row in about 5 years"
      },
      {
        "row_key": "T_RETIRE_15",
        "horizon_years": 15,
        "goal_year": 2041,
        "child_age": null,
        "years_to_18": null,
        "school_years": null,
        "sub_type": "AA_GROWTH",
        "mix_label": "about 80% stocks / 20% bonds",
        "examples": [
          {
            "aum": 1353500,
            "fee": 0.13,
            "rank": 1,
            "price": 26.979999542236328,
            "ticker": "GRO.TO",
            "fund_name": "Franklin Growth ETF Portfolio Series ETF",
            "tr_1y_pct": 12.090151845258013,
            "worst_drawdown_1y_pct": -5.806702182301171
          },
          {
            "aum": 807004425,
            "fee": 0.15,
            "rank": 2,
            "price": 19.399999618530273,
            "ticker": "ZGRO.TO",
            "fund_name": "BMO Growth ETF",
            "tr_1y_pct": 10.915819685036542,
            "worst_drawdown_1y_pct": -6.873978364027633
          },
          {
            "aum": 449988000,
            "fee": 0.15,
            "rank": 3,
            "price": 29.610000610351562,
            "ticker": "TGRO.TO",
            "fund_name": "TD Growth ETF Portfolio",
            "tr_1y_pct": 12.023350097819163,
            "worst_drawdown_1y_pct": -7.207207207207189
          }
        ],
        "cash_buffer": null,
        "ladder": [],
        "moves_note": "moves to the next row in about 5 years"
      },
      {
        "row_key": "T_RETIRE_10",
        "horizon_years": 10,
        "goal_year": 2036,
        "child_age": null,
        "years_to_18": null,
        "school_years": null,
        "sub_type": "AA_BALANCED",
        "mix_label": "about 60% stocks / 40% bonds",
        "examples": [
          {
            "aum": 328724000,
            "fee": 0,
            "rank": 1,
            "price": 27.350000381469727,
            "ticker": "PABF.TO",
            "fund_name": "Purpose Active Balanced Fund ETF",
            "tr_1y_pct": 10.246549321512589,
            "worst_drawdown_1y_pct": -5.459981664059709
          },
          {
            "aum": 666045240,
            "fee": 0.15,
            "rank": 2,
            "price": 16.049999237060547,
            "ticker": "ZBAL.TO",
            "fund_name": "BMO Balanced ETF",
            "tr_1y_pct": 7.816194041881075,
            "worst_drawdown_1y_pct": -5.813951196023459
          },
          {
            "aum": 388542000,
            "fee": 0.15,
            "rank": 3,
            "price": 22.6299991607666,
            "ticker": "TBAL.TO",
            "fund_name": "TD Balanced ETF Portfolio",
            "tr_1y_pct": 8.47459018065031,
            "worst_drawdown_1y_pct": -5.984465520642567
          }
        ],
        "cash_buffer": null,
        "ladder": [],
        "moves_note": "moves to the next row in about 5 years"
      },
      {
        "row_key": "T_RETIRE_5",
        "horizon_years": 5,
        "goal_year": 2031,
        "child_age": null,
        "years_to_18": null,
        "school_years": null,
        "sub_type": "AA_CONSERVATIVE",
        "mix_label": "about 40% stocks / 60% bonds",
        "examples": [
          {
            "aum": 78593750,
            "fee": 0,
            "rank": 1,
            "price": 25.229999542236328,
            "ticker": "PACF.TO",
            "fund_name": "Purpose Active Conservative Fund ETF",
            "tr_1y_pct": 3.9336678195020847,
            "worst_drawdown_1y_pct": -4.6401898978176925
          },
          {
            "aum": 133769999.99999999,
            "fee": 0.15,
            "rank": 2,
            "price": 17.389999389648438,
            "ticker": "TCON.TO",
            "fund_name": "TD Conservative ETF Portfolio",
            "tr_1y_pct": 5.681234770490717,
            "worst_drawdown_1y_pct": -5.064032734453983
          },
          {
            "aum": 118454850,
            "fee": 0.15,
            "rank": 3,
            "price": 13.1899995803833,
            "ticker": "ZCON.TO",
            "fund_name": "BMO Conservative ETF",
            "tr_1y_pct": 5.113325625763299,
            "worst_drawdown_1y_pct": -4.538462712214553
          }
        ],
        "cash_buffer": null,
        "ladder": [],
        "moves_note": "This is the shortest horizon row. Retirement money is spent over decades after the goal year, so the table never goes to all cash."
      }
    ],
    "resp": [
      {
        "row_key": "T_RESP_AGE_0",
        "horizon_years": null,
        "goal_year": null,
        "child_age": 0,
        "years_to_18": 18,
        "school_years": [
          2044,
          2045,
          2046,
          2047
        ],
        "sub_type": "AA_GROWTH",
        "mix_label": "about 80% stocks / 20% bonds",
        "examples": [
          {
            "aum": 1353500,
            "fee": 0.13,
            "rank": 1,
            "price": 26.979999542236328,
            "ticker": "GRO.TO",
            "fund_name": "Franklin Growth ETF Portfolio Series ETF",
            "tr_1y_pct": 12.090151845258013,
            "worst_drawdown_1y_pct": -5.806702182301171
          },
          {
            "aum": 807004425,
            "fee": 0.15,
            "rank": 2,
            "price": 19.399999618530273,
            "ticker": "ZGRO.TO",
            "fund_name": "BMO Growth ETF",
            "tr_1y_pct": 10.915819685036542,
            "worst_drawdown_1y_pct": -6.873978364027633
          },
          {
            "aum": 449988000,
            "fee": 0.15,
            "rank": 3,
            "price": 29.610000610351562,
            "ticker": "TGRO.TO",
            "fund_name": "TD Growth ETF Portfolio",
            "tr_1y_pct": 12.023350097819163,
            "worst_drawdown_1y_pct": -7.207207207207189
          }
        ],
        "cash_buffer": null,
        "ladder": [],
        "moves_note": "moves to the next row in about 3 years"
      },
      {
        "row_key": "T_RESP_AGE_3",
        "horizon_years": null,
        "goal_year": null,
        "child_age": 3,
        "years_to_18": 15,
        "school_years": [
          2041,
          2042,
          2043,
          2044
        ],
        "sub_type": "AA_GROWTH",
        "mix_label": "about 80% stocks / 20% bonds",
        "examples": [
          {
            "aum": 1353500,
            "fee": 0.13,
            "rank": 1,
            "price": 26.979999542236328,
            "ticker": "GRO.TO",
            "fund_name": "Franklin Growth ETF Portfolio Series ETF",
            "tr_1y_pct": 12.090151845258013,
            "worst_drawdown_1y_pct": -5.806702182301171
          },
          {
            "aum": 807004425,
            "fee": 0.15,
            "rank": 2,
            "price": 19.399999618530273,
            "ticker": "ZGRO.TO",
            "fund_name": "BMO Growth ETF",
            "tr_1y_pct": 10.915819685036542,
            "worst_drawdown_1y_pct": -6.873978364027633
          },
          {
            "aum": 449988000,
            "fee": 0.15,
            "rank": 3,
            "price": 29.610000610351562,
            "ticker": "TGRO.TO",
            "fund_name": "TD Growth ETF Portfolio",
            "tr_1y_pct": 12.023350097819163,
            "worst_drawdown_1y_pct": -7.207207207207189
          }
        ],
        "cash_buffer": null,
        "ladder": [],
        "moves_note": "moves to the next row in about 3 years"
      },
      {
        "row_key": "T_RESP_AGE_6",
        "horizon_years": null,
        "goal_year": null,
        "child_age": 6,
        "years_to_18": 12,
        "school_years": [
          2038,
          2039,
          2040,
          2041
        ],
        "sub_type": "AA_BALANCED",
        "mix_label": "about 60% stocks / 40% bonds",
        "examples": [
          {
            "aum": 328724000,
            "fee": 0,
            "rank": 1,
            "price": 27.350000381469727,
            "ticker": "PABF.TO",
            "fund_name": "Purpose Active Balanced Fund ETF",
            "tr_1y_pct": 10.246549321512589,
            "worst_drawdown_1y_pct": -5.459981664059709
          },
          {
            "aum": 666045240,
            "fee": 0.15,
            "rank": 2,
            "price": 16.049999237060547,
            "ticker": "ZBAL.TO",
            "fund_name": "BMO Balanced ETF",
            "tr_1y_pct": 7.816194041881075,
            "worst_drawdown_1y_pct": -5.813951196023459
          },
          {
            "aum": 388542000,
            "fee": 0.15,
            "rank": 3,
            "price": 22.6299991607666,
            "ticker": "TBAL.TO",
            "fund_name": "TD Balanced ETF Portfolio",
            "tr_1y_pct": 8.47459018065031,
            "worst_drawdown_1y_pct": -5.984465520642567
          }
        ],
        "cash_buffer": null,
        "ladder": [],
        "moves_note": "moves to the next row in about 3 years"
      },
      {
        "row_key": "T_RESP_AGE_9",
        "horizon_years": null,
        "goal_year": null,
        "child_age": 9,
        "years_to_18": 9,
        "school_years": [
          2035,
          2036,
          2037,
          2038
        ],
        "sub_type": "AA_BALANCED",
        "mix_label": "about 60% stocks / 40% bonds",
        "examples": [
          {
            "aum": 328724000,
            "fee": 0,
            "rank": 1,
            "price": 27.350000381469727,
            "ticker": "PABF.TO",
            "fund_name": "Purpose Active Balanced Fund ETF",
            "tr_1y_pct": 10.246549321512589,
            "worst_drawdown_1y_pct": -5.459981664059709
          },
          {
            "aum": 666045240,
            "fee": 0.15,
            "rank": 2,
            "price": 16.049999237060547,
            "ticker": "ZBAL.TO",
            "fund_name": "BMO Balanced ETF",
            "tr_1y_pct": 7.816194041881075,
            "worst_drawdown_1y_pct": -5.813951196023459
          },
          {
            "aum": 388542000,
            "fee": 0.15,
            "rank": 3,
            "price": 22.6299991607666,
            "ticker": "TBAL.TO",
            "fund_name": "TD Balanced ETF Portfolio",
            "tr_1y_pct": 8.47459018065031,
            "worst_drawdown_1y_pct": -5.984465520642567
          }
        ],
        "cash_buffer": null,
        "ladder": [],
        "moves_note": "moves to the next row in about 3 years"
      },
      {
        "row_key": "T_RESP_AGE_12",
        "horizon_years": null,
        "goal_year": null,
        "child_age": 12,
        "years_to_18": 6,
        "school_years": [
          2032,
          2033,
          2034,
          2035
        ],
        "sub_type": "AA_CONSERVATIVE",
        "mix_label": "about 40% stocks / 60% bonds",
        "examples": [
          {
            "aum": 78593750,
            "fee": 0,
            "rank": 1,
            "price": 25.229999542236328,
            "ticker": "PACF.TO",
            "fund_name": "Purpose Active Conservative Fund ETF",
            "tr_1y_pct": 3.9336678195020847,
            "worst_drawdown_1y_pct": -4.6401898978176925
          },
          {
            "aum": 133769999.99999999,
            "fee": 0.15,
            "rank": 2,
            "price": 17.389999389648438,
            "ticker": "TCON.TO",
            "fund_name": "TD Conservative ETF Portfolio",
            "tr_1y_pct": 5.681234770490717,
            "worst_drawdown_1y_pct": -5.064032734453983
          },
          {
            "aum": 118454850,
            "fee": 0.15,
            "rank": 3,
            "price": 13.1899995803833,
            "ticker": "ZCON.TO",
            "fund_name": "BMO Conservative ETF",
            "tr_1y_pct": 5.113325625763299,
            "worst_drawdown_1y_pct": -4.538462712214553
          }
        ],
        "cash_buffer": null,
        "ladder": [
          {
            "label": "bonds that mature when the money is needed",
            "ticker": "RGQU.TO",
            "fund_name": "RBC Target 2032 Canadian Government Bond ETF CAD",
            "target_year": 2032
          },
          {
            "label": "bonds that mature when the money is needed",
            "ticker": "RQU.TO",
            "fund_name": "RBC Target 2032 Canadian Corporate Bond ETF CAD",
            "target_year": 2032
          },
          {
            "label": "bonds that mature when the money is needed",
            "ticker": "RUQU-U.TO",
            "fund_name": "RBC Target 2032 U.S. Corporate Bond ETF USD",
            "target_year": 2032
          },
          {
            "label": "bonds that mature when the money is needed",
            "ticker": "RUQU.TO",
            "fund_name": "RBC Target 2032 U.S. Corporate Bond ETF CAD",
            "target_year": 2032
          }
        ],
        "moves_note": "moves to the next row in about 3 years"
      },
      {
        "row_key": "T_RESP_AGE_15",
        "horizon_years": null,
        "goal_year": null,
        "child_age": 15,
        "years_to_18": 3,
        "school_years": [
          2029,
          2030,
          2031,
          2032
        ],
        "sub_type": "AA_CONSERVATIVE",
        "mix_label": "about 40% stocks / 60% bonds",
        "examples": [
          {
            "aum": 78593750,
            "fee": 0,
            "rank": 1,
            "price": 25.229999542236328,
            "ticker": "PACF.TO",
            "fund_name": "Purpose Active Conservative Fund ETF",
            "tr_1y_pct": 3.9336678195020847,
            "worst_drawdown_1y_pct": -4.6401898978176925
          },
          {
            "aum": 133769999.99999999,
            "fee": 0.15,
            "rank": 2,
            "price": 17.389999389648438,
            "ticker": "TCON.TO",
            "fund_name": "TD Conservative ETF Portfolio",
            "tr_1y_pct": 5.681234770490717,
            "worst_drawdown_1y_pct": -5.064032734453983
          },
          {
            "aum": 118454850,
            "fee": 0.15,
            "rank": 3,
            "price": 13.1899995803833,
            "ticker": "ZCON.TO",
            "fund_name": "BMO Conservative ETF",
            "tr_1y_pct": 5.113325625763299,
            "worst_drawdown_1y_pct": -4.538462712214553
          }
        ],
        "cash_buffer": null,
        "ladder": [
          {
            "label": "bonds that mature when the money is needed",
            "ticker": "CTMB.TO",
            "fund_name": "CI Target 2029 Investment Grade Bond Fund - ETF C$ Series",
            "target_year": 2029
          },
          {
            "label": "bonds that mature when the money is needed",
            "ticker": "MTBB.TO",
            "fund_name": "Mackenzie Target 2029 North American IG Corporate Bond ETF",
            "target_year": 2029
          },
          {
            "label": "bonds that mature when the money is needed",
            "ticker": "NTGD.TO",
            "fund_name": "NBI Target 2029 Investment Grade Bond Fund - ETF Series",
            "target_year": 2029
          },
          {
            "label": "bonds that mature when the money is needed",
            "ticker": "RGQR.TO",
            "fund_name": "RBC Target 2029 Government Bond ETF",
            "target_year": 2029
          },
          {
            "label": "bonds that mature when the money is needed",
            "ticker": "RQR.TO",
            "fund_name": "RBC Target 2029 Canadian Corporate Bond ETF",
            "target_year": 2029
          },
          {
            "label": "bonds that mature when the money is needed",
            "ticker": "RUQR-U.TO",
            "fund_name": "RBC Target 2029 U.S. Corporate Bond ETF",
            "target_year": 2029
          },
          {
            "label": "bonds that mature when the money is needed",
            "ticker": "RUQR.TO",
            "fund_name": "RBC Target 2029 U.S. Corporate Bond ETF",
            "target_year": 2029
          },
          {
            "label": "bonds that mature when the money is needed",
            "ticker": "TBCI.TO",
            "fund_name": "TD Target 2029 Investment Grade Bond ETF",
            "target_year": 2029
          },
          {
            "label": "bonds that mature when the money is needed",
            "ticker": "ZXCQ.TO",
            "fund_name": "BMO Target 2029 Canadian Corporate Bond ETF",
            "target_year": 2029
          },
          {
            "label": "bonds that mature when the money is needed",
            "ticker": "CTMC.TO",
            "fund_name": "CI Target 2030 Investment Grade Bond Fund - ETF C$ Series",
            "target_year": 2030
          },
          {
            "label": "bonds that mature when the money is needed",
            "ticker": "NTGE.TO",
            "fund_name": "NBI Target 2030 Investment Grade Bond Fund - ETF Series",
            "target_year": 2030
          },
          {
            "label": "bonds that mature when the money is needed",
            "ticker": "RGQS.TO",
            "fund_name": "RBC Target 2030 Canadian Government Bond ETF",
            "target_year": 2030
          },
          {
            "label": "bonds that mature when the money is needed",
            "ticker": "RQS.TO",
            "fund_name": "RBC Target 2030 Canadian Corporate Bond Index ETF",
            "target_year": 2030
          },
          {
            "label": "bonds that mature when the money is needed",
            "ticker": "RUQS-U.TO",
            "fund_name": "RBC Target 2030 U.S. Corporate Bond ETF",
            "target_year": 2030
          },
          {
            "label": "bonds that mature when the money is needed",
            "ticker": "RUQS.TO",
            "fund_name": "RBC Target 2030 U.S. Corporate Bond ETF",
            "target_year": 2030
          },
          {
            "label": "bonds that mature when the money is needed",
            "ticker": "TBCJ.TO",
            "fund_name": "TD Target 2030 Investment Grade Bond ETF",
            "target_year": 2030
          },
          {
            "label": "bonds that mature when the money is needed",
            "ticker": "NTGF.TO",
            "fund_name": "NBI Target 2031 Investment Grade Bond Fund - ETF Series",
            "target_year": 2031
          },
          {
            "label": "bonds that mature when the money is needed",
            "ticker": "RGQT.TO",
            "fund_name": "RBC Target 2031 Canadian Government Bond ETF",
            "target_year": 2031
          },
          {
            "label": "bonds that mature when the money is needed",
            "ticker": "RQT.TO",
            "fund_name": "RBC Target 2031 Canadian Corporate Bond ETF",
            "target_year": 2031
          },
          {
            "label": "bonds that mature when the money is needed",
            "ticker": "RUQT-U.TO",
            "fund_name": "RBC Target 2031 U.S. Corporate Bond ETF",
            "target_year": 2031
          },
          {
            "label": "bonds that mature when the money is needed",
            "ticker": "RUQT.TO",
            "fund_name": "RBC Target 2031 U.S. Corporate Bond ETF",
            "target_year": 2031
          },
          {
            "label": "bonds that mature when the money is needed",
            "ticker": "TBCK.TO",
            "fund_name": "TD Target 2031 Investment Grade Bond Fund - ETF Series",
            "target_year": 2031
          },
          {
            "label": "bonds that mature when the money is needed",
            "ticker": "RGQU.TO",
            "fund_name": "RBC Target 2032 Canadian Government Bond ETF CAD",
            "target_year": 2032
          },
          {
            "label": "bonds that mature when the money is needed",
            "ticker": "RQU.TO",
            "fund_name": "RBC Target 2032 Canadian Corporate Bond ETF CAD",
            "target_year": 2032
          },
          {
            "label": "bonds that mature when the money is needed",
            "ticker": "RUQU-U.TO",
            "fund_name": "RBC Target 2032 U.S. Corporate Bond ETF USD",
            "target_year": 2032
          },
          {
            "label": "bonds that mature when the money is needed",
            "ticker": "RUQU.TO",
            "fund_name": "RBC Target 2032 U.S. Corporate Bond ETF CAD",
            "target_year": 2032
          }
        ],
        "moves_note": "This is the oldest age row. RESP money is spent over about four years starting at 18, so the table ends in bonds that mature in those years, plus cash."
      }
    ]
  }
}
