Property or Stocks?

Its a question that’s being asked over and over again – which is a better investment – housing or the stock market? It’s also one that’s easy to answer looking at the numbers. For this post I’ll be looking at returns from 1 Jan 2000 to 1 Mar 2020 – a time span that’s seen major crashes in both markets and also some spectacular rallies. For the housing data I’m going to use the Case-Schiller U.S. National Housing Index and for stock market returns I’m going to use S&P 500 index in the form of the exchange traded fund SPY (SPDR S&P 500 ETF Trust). While the U.S. National Housing Index is useful to illustrate a point there is no “U.S. National House”, so I’ve included charts for 20 major cities and returns for 370 towns and cities at the end.

Capital Only

So first the simplest case – just capital growth. If you invested $100 each in the housing market in SPY on 1 January 2000 and received no rent or dividends this is how your investments would fare

Returns on $100 invested in SPY vs the US National Housing Market – Capital Only. Full chart here

Housing outperformed stocks from 2000 to 2011 because there was no dotcom housing crash as there was in stocks. Between 2008 and 2010 they both crashed, but stocks more so. In the recovery from 2011 onward, stocks handily outperformed housing. So for your $100 investment in January 2000, in March 2020 you’d have $220 in SPY and $175 in housing. A win for stocks

Capital and Income

Now lets throw in rent and dividends. Assuming that you drew your income and saved it, what would your total capital plus income be twenty years later? For this I’m going to assume a 5% yield on housing and take the SPY dividends as they were distributed quarterly.

Returns on $100 invested in SPY vs the US National Housing Market with Dividends and Rent. Full chart here

For $100 invested in January 2000, you’d have a total of $281 in SPY and $320 in housing. Housing is starting to look better. The U.S. National average hides a wide variation – if you invested in New York you’d have $232 with a 2% yield, while Midland, TX would give you $711 with a 5% yield.

Dividend Reinvestment

The magic of stocks is in dividend reinvestment. When you get your dividend each quarter you can invest it back into SPY whereas you can’t use your rent to buy a fraction of a new house each month. For arguments sake lets assume you can though and compare the returns

Returns on $100 invested in SPY vs the US National Housing Market with Dividends and Rent Reinvested. Full chart here

Dividend reinvestment amplifies your returns. In a rising market each dollar of dividend goes on to earn even more, but if you invested just as the market was about to drop, you’d lose more money than if you’d just kept the dividends aside. Stocks tend to go up in the long term, so dividend reinvestment pays well. Your $100 invested in January 2000 would give you $378 in SPY and $425 in housing in March 2020. Just prior to that though SPY was winning with at $481 in February 2020, but the market started crashing since.


If the magic of stocks is dividend reinvestment, the magic of housing is leverage. Its easy to get a loan for a house, but not that easy to get one to invest in the stock market. For a start, lets see why. The chart below shows the net equity+returns on a 5x leveraged investment with a 4% interest rate. For $100 invested you’d get $500 worth of assets and pay 4% interest on $400 for the life of the investment assuming no capital repayment. The capital appreciation and income are yours to keep as long as you keep paying interest.

Returns on 5x Leveraged $100 invested in SPY vs the US National Housing Market with Dividends and Rent Paid Out. Full chart here

In the chart above both investments are leveraged, amplifying gains and losses. I’ve added an extra grid line at 80 because that’s the level at which you’d get a margin call on a $100 stock loan and have to liquidate your portfolio or put in additional funds. This happened twice, once in November 2000 and then again in September 2008. Also twice the overall value of the leveraged stocks went below 0 – in August 2001 and October 2010. If you didn’t have extra cash lying around, you’d be wiped out. Though the capital value of housing fell in 2008 to 2011, the 6% rent managed to keep the returns flat. For your pain, you’d have $682 in SPY and $877 in housing in March 2020.

So now the most common case – a no leverage investment in stocks and a 5x leveraged investment in housing. Why 5x? Because I’m assuming you put 20% down, so a $100 investment will give you $500 worth of property.

Returns on $100 invested in SPY (no leverage) vs 5x leverage in the US National Housing Market with Dividends and Rent Paid Out. Full chart here

This is the case for housing – leverage on a stable asset amplifies your returns with the downside risk mitigated by rents. Of course there will be void periods, repairs and tenant issues but as long as you have a cash reserve to tide your investment through these you returns should be far less volatile than stocks.

The charts below show the returns above for 20 major cities in the US. Select a city and return type to see how your $100 investment would have fared in different places. These numbers are based on the Case-Schiller Housing Index.

Lastly, the table below shows the total return for 370 cities and towns if you had invested $100 in January 2000 and achieved a 5% net yield. These numbers are based on the Federal Reserves All Transactions Index.

Return of $100 invested in January 2010 with capital appreciation and 5% rent
LocationTotal Return 2000-2020
Abilene, TX583.35
Akron, OH472.9
Albany, GA490.19
Albany-Schenectady-Troy, NY622.89
Albuquerque, NM554.15
Alexandria, LA557.18
Allentown-Bethlehem-Easton, PA-NJ582.81
Altoona, PA560.49
Amarillo, TX545.24
Ames, IA541.97
Anchorage, AK610.16
Ann Arbor, MI502.55
Anniston-Oxford, AL531.87
Appleton, WI516.07
Asheville, NC618.16
Athens-Clarke County, GA546.42
Atlanta-Sandy Springs-Alpharetta, GA528.46
Atlantic City-Hammonton, NJ620.15
Auburn-Opelika, AL558.9
Augusta-Richmond County, GA-SC545.06
Austin-Round Rock-Georgetown, TX633.22
Bakersfield-Delano, CA648.9
Baltimore-Columbia-Towson, MD641.37
Bangor, ME595.79
Barnstable Town, MA658.06
Baton Rouge, LA567.34
Battle Creek, MI477.38
Bay City, MI453.69
Beaumont-Port Arthur, TX559.88
Bellingham, WA675.6
Bend, OR664.23
Billings, MT621.59
Binghamton, NY572.92
Birmingham-Hoover, AL540.13
Bismarck, ND637.85
Blacksburg-Christiansburg, VA567.86
Bloomington, IN564.35
Boise City, ID615.76
Boulder, CO609.53
Bowling Green, KY527.79
Bremerton-Silverdale-Port Orchard, WA645.4
Bridgeport-Stamford-Norwalk, CT571.46
Brownsville-Harlingen, TX534.74
Brunswick, GA569.87
Buffalo-Cheektowaga, NY574.27
Burlington, NC485.06
Burlington-South Burlington, VT630.22
Cambridge-Newton-Framingham, MA606.98
Camden, NJ601.89
Canton-Massillon, OH473.22
Cape Coral-Fort Myers, FL643.11
Cape Girardeau, MO-IL531.92
Carson City, NV625.02
Casper, WY666.13
Cedar Rapids, IA506.9
Champaign-Urbana, IL533.02
Charleston, WV505.42
Charleston-North Charleston, SC629.96
Charlotte-Concord-Gastonia, NC-SC544.88
Charlottesville, VA643.99
Chattanooga, TN-GA559.43
Cheyenne, WY607.53
Chicago-Naperville-Evanston, IL539.83
Chico, CA679.19
Cincinnati, OH-KY-IN501.52
Clarksville, TN-KY549.91
Cleveland, TN545.92
Cleveland-Elyria, OH464.39
Coeur d'Alene, ID641.56
College Station-Bryan, TX602.15
Colorado Springs, CO570.16
Columbia, MO538.72
Columbia, SC530.7
Columbus, GA-AL517.8
Columbus, IN513.01
Columbus, OH519.9
Corpus Christi, TX578.4
Corvallis, OR607.08
Crestview-Fort Walton Beach-Destin, FL634.55
Cumberland, MD-WV567.83
Dallas-Plano-Irving, TX577.97
Dalton, GA525.31
Danville, IL507.93
Davenport-Moline-Rock Island, IA-IL525.76
Dayton-Kettering, OH470.47
Decatur, AL507.37
Decatur, IL492.87
Deltona-Daytona Beach-Ormond Beach, FL638.88
Denver-Aurora-Lakewood, CO597.85
Des Moines-West Des Moines, IA531.28
Detroit-Dearborn-Livonia, MI433.07
Dothan, AL529.37
Dover, DE587.66
Dubuque, IA557.19
Duluth, MN-WI600.93
Durham-Chapel Hill, NC556.27
Eau Claire, WI549.47
El Centro, CA599.57
El Paso, TX573.2
Elizabethtown-Fort Knox, KY548.74
Elkhart-Goshen, IN500.67
Elmira, NY558.05
Enid, OK578.92
Erie, PA521.4
Eugene-Springfield, OR604.11
Evansville, IN-KY505.68
Fairbanks, AK573.74
Fargo, ND-MN613.75
Farmington, NM574.3
Fayetteville, NC513.74
Fayetteville-Springdale-Rogers, AR562.03
Flagstaff, AZ634.37
Flint, MI435.32
Florence, SC520.1
Florence-Muscle Shoals, AL540.21
Fond du Lac, WI505.28
Fort Collins, CO591.1
Fort Smith, AR-OK532.38
Fort Wayne, IN490.42
Fort Worth-Arlington-Grapevine, TX570.83
Frederick-Gaithersburg-Rockville, MD663.17
Fresno, CA659.32
Ft. Lauderdale-Pompano Beach-Sunrise, FL691.27
Gadsden, AL529.93
Gainesville, FL621.94
Gainesville, GA529.78
Gary, IN519.43
Glens Falls, NY638.19
Goldsboro, NC517
Grand Forks, ND-MN612.36
Grand Junction, CO607.23
Grand Rapids-Kentwood, MI506.13
Great Falls, MT592.43
Greeley, CO568.99
Green Bay, WI505.77
Greensboro-High Point, NC491.81
Greenville, NC496.52
Greenville-Anderson, SC546.51
Gulfport-Biloxi, MS544.44
Hagerstown-Martinsburg, MD-WV596.12
Hanford-Corcoran, CA630.08
Harrisburg-Carlisle, PA550.12
Harrisonburg, VA590.78
Hartford-East Hartford-Middletown, CT561.98
Hattiesburg, MS542.88
Hickory-Lenoir-Morganton, NC512.42
Hinesville, GA542.5
Hot Springs, AR572.05
Houma-Thibodaux, LA589.82
Houston-The Woodlands-Sugar Land, TX601.92
Huntington-Ashland, WV-KY-OH539.98
Huntsville, AL539.36
Idaho Falls, ID586.07
Indianapolis-Carmel-Anderson, IN506.32
Iowa City, IA539.78
Ithaca, NY620.68
Jackson, MI459.75
Jackson, MS522.79
Jackson, TN479.13
Jacksonville, FL620.2
Jacksonville, NC583.98
Janesville-Beloit, WI506.51
Jefferson City, MO520.07
Johnson City, TN558.52
Johnstown, PA540.25
Jonesboro, AR510.14
Joplin, MO526.26
Kalamazoo-Portage, MI496.59
Kankakee, IL501.06
Kansas City, MO-KS533.91
Kennewick-Richland, WA591.91
Killeen-Temple, TX547.28
Kingsport-Bristol, TN-VA558.48
Kingston, NY658.71
Knoxville, TN567.5
Kokomo, IN448.5
La Crosse-Onalaska, WI-MN563.9
Lafayette, LA565.4
Lake Charles, LA577.61
Lake County-Kenosha County, IL-WI504.87
Lake Havasu City-Kingman, AZ648.05
Lakeland-Winter Haven, FL604.88
Lancaster, PA573.68
Lansing-East Lansing, MI472.89
Laredo, TX560.62
Las Cruces, NM554.51
Las Vegas-Henderson-Paradise, NV594.47
Lawrence, KS536.64
Lawton, OK529.06
Lebanon, PA555.81
Lewiston, ID-WA622.32
Lewiston-Auburn, ME612.05
Lexington-Fayette, KY541.35
Lima, OH499.76
Lincoln, NE528.81
Little Rock-North Little Rock-Conway, AR533.45
Logan, UT-ID560.87
Longview, TX580.23
Longview, WA584.07
Los Angeles-Long Beach-Glendale, CA723.93
Louisville/Jefferson County, KY-IN530.13
Lubbock, TX553.06
Lynchburg, VA565.91
Macon-Bibb County, GA489.27
Madera-Chowchilla, CA639.86
Madison, WI550.35
Manchester-Nashua, NH609.22
Manhattan, KS576.99
Mankato, MN569.31
Mansfield, OH463.49
McAllen-Edinburg-Mission, TX539.45
Medford, OR625.9
Memphis, TN-MS-AR489.77
Merced, CA637.6
Miami-Miami Beach-Kendall, FL708.48
Michigan City-La Porte, IN519.58
Midland, TX711.23
Milwaukee-Waukesha, WI543.93
Minneapolis-St. Paul-Bloomington, MN-WI576.68
Missoula, MT642.27
Mobile, AL539.82
Modesto, CA651.11
Monroe, LA547.5
Monroe, MI458.7
Montgomery, AL493.08
Morgantown, WV605.09
Morristown, TN538.74
Mount Vernon-Anacortes, WA626.02
Muncie, IN477.57
Muskegon, MI484.13
Myrtle Beach-Conway-North Myrtle Beach, SC-NC568.49
Napa, CA678.1
Naples-Marco Island, FL675
Nashville-Davidson--Murfreesboro--Franklin, TN587.26
Nassau County-Suffolk County, NY661.14
New Brunswick-Lakewood, NJ645.64
New Haven-Milford, CT577.85
New Orleans-Metairie, LA584.11
Newark, NJ-PA615.29
Niles, MI530.99
North Port-Sarasota-Bradenton, FL643.28
Norwich-New London, CT575.14
Oakland-Berkeley-Livermore, CA675.04
Ocala, FL591.2
Ocean City, NJ683.99
Odessa, TX681.57
Ogden-Clearfield, UT564.27
Oklahoma City, OK570.31
Olympia-Lacey-Tumwater, WA625.12
Omaha-Council Bluffs, NE-IA527.24
Orlando-Kissimmee-Sanford, FL627.67
Oshkosh-Neenah, WI515.09
Owensboro, KY521.25
Oxnard-Thousand Oaks-Ventura, CA671.82
Palm Bay-Melbourne-Titusville, FL644.38
Panama City, FL625.76
Parkersburg-Vienna, WV525.04
Pensacola-Ferry Pass-Brent, FL587.3
Peoria, IL501.48
Philadelphia, PA674.88
Phoenix-Mesa-Chandler, AZ622.2
Pine Bluff, AR534.85
Pittsburgh, PA567.17
Pittsfield, MA596.54
Pocatello, ID572.83
Port St. Lucie, FL654.41
Portland-South Portland, ME628.72
Portland-Vancouver-Hillsboro, OR-WA630.81
Poughkeepsie-Newburgh-Middletown, NY607.59
Prescott Valley-Prescott, AZ619.4
Providence-Warwick, RI-MA635.51
Provo-Orem, UT570.05
Pueblo, CO531.87
Punta Gorda, FL627.15
Racine, WI528.53
Raleigh-Cary, NC543.63
Rapid City, SD603.4
Reading, PA566.67
Redding, CA657.35
Reno, NV617.28
Richmond, VA600.21
Riverside-San Bernardino-Ontario, CA685.44
Roanoke, VA558.44
Rochester, MN547.21
Rochester, NY525.93
Rockford, IL471.72
Rockingham County-Strafford County, NH605.47
Rocky Mount, NC472.89
Rome, GA511.43
Sacramento-Roseville-Folsom, CA658.23
Saginaw, MI447.11
Salem, OR588.48
Salinas, CA644.55
Salisbury, MD-DE631.73
Salt Lake City, UT599.44
San Angelo, TX626.82
San Antonio-New Braunfels, TX606.2
San Diego-Chula Vista-Carlsbad, CA687.21
San Francisco-San Mateo-Redwood City, CA686.03
San Jose-Sunnyvale-Santa Clara, CA652.79
San Luis Obispo-Paso Robles, CA682.42
Santa Cruz-Watsonville, CA637.28
Santa Fe, NM592.76
Santa Rosa-Petaluma, CA644.73
Savannah, GA593.58
Scranton-Wilkes-Barre, PA549.35
Seattle-Bellevue-Kent, WA641.78
Sebastian-Vero Beach, FL641.11
Sheboygan, WI514.98
Sherman-Denison, TX570.94
Shreveport-Bossier City, LA565.19
Sioux City, IA-NE-SD532.21
Sioux Falls, SD564.99
South Bend-Mishawaka, IN-MI511.12
Spartanburg, SC512.68
Spokane-Spokane Valley, WA616.01
Springfield, IL501.29
Springfield, MA595.45
Springfield, MO527
Springfield, OH477.25
St. Cloud, MN566.85
St. George, UT587.05
St. Joseph, MO-KS527.26
St. Louis, MO-IL545.25
State College, PA593.26
Stockton, CA637.89
Sumter, SC535.62
Syracuse, NY564.83
Tacoma-Lakewood, WA631.4
Tallahassee, FL583.95
Tampa-St. Petersburg-Clearwater, FL650.55
Terre Haute, IN504.45
Texarkana, TX-Texarkana, AR554.05
Toledo, OH462.39
Topeka, KS532.15
Trenton-Princeton, NJ605.8
Tucson, AZ585.78
Tulsa, OK535.97
Tuscaloosa, AL541.58
Tyler, TX566.6
Utica-Rome, NY611.37
Valdosta, GA520.43
Vallejo, CA643.85
Victoria, TX592.38
Vineland-Bridgeton, NJ581.26
Virginia Beach-Norfolk-Newport News, VA-NC641.55
Visalia, CA615.8
Waco, TX584.14
Warner Robins, GA492.84
Warren-Troy-Farmington Hills, MI454.48
Washington-Arlington-Alexandria, DC-VA-MD-WV688.24
Waterloo-Cedar Falls, IA552.2
Wausau-Weston, WI517.71
Weirton-Steubenville, WV-OH517.01
Wenatchee-East Wenatchee-East Wenatchee, WA618.15
West Palm Beach-Boca Raton-Boynton Beach, FL678.63
Wheeling, WV-OH536.5
Wichita Falls, TX537.67
Wichita, KS520.05
Williamsport, PA569.74
Wilmington, DE-MD-NJ593.47
Wilmington, NC582.06
Winchester, VA-WV620.06
Winston-Salem, NC504.01
Worcester, MA-CT592.44
Yakima, WA568.62
York-Hanover, PA559.44
Youngstown-Warren-Boardman, OH-PA476.89
Yuba City, CA664.71
Yuma, AZ585.15

See also – U.S. Rental Yield Map by Micro Areas