Does a stock/bond that stays at level price lose money over time?
This question can be broken up into two pieces:
- Can any stock or bond lose money over time?
Bond
At maturity the face value (or par value) of the bond is paid back to the holder. For example, if a bond was issued by issuer ABC which had a face value of $100, then after all the interest payments were made, and the issuer didn't go bankrupt, then the issuer would repay the bond holder the amount of the bond. It is called the 'face value' as back in the day when physical paper was used, the amount was printed on the face of the certificate.
However, this doesn't mean that face value is what you paid for it. Bonds can be bought at a "premium" (above the par value) and at a "discount" (below the par value). Often this premium and discount reflects the prevailing rates of the bond market compared to the amount that the issuer is paying, and the bond market's assessments of the issuer's risk of default (not being able to make the payments).
So - if you bought a bond at a discount or 'par' and the issuer did not default, and you were willing to hold the bond to maturity, you would not 'lose money'. If you bought bonds at a 'premium' then you would not receive the difference between the premium and the par value, but hopefully that would be made up by the interest payments between the time that you purchased the bond and maturity.
Stock
Stock on the other hand doesn't 'mature' in the same way that bonds do. Instead investors are supposed to receive a perpetual stream of dividends, and the price should generally reflect the market's expectation of future dividends.
Because stock is generally more risky than bonds (the amount of the dividend can be varied; bond holders have higher priority in liquidation, etc.) investors generally expect a higher return from stock than from bonds.
However, a company could decide to simply decrease or stop paying dividends altogether (though could continue to pay bond holders) which in turn would cause the market price to drop. As a result, if you had to sell rather than wait for the company to turn-around (which could be a very long wait) you would potentially lose money.
- Does a stock or bond that stays at level price lose money over time?
Financing
It really depends on another factor which is - where did the money come from to acquire the position? If the money is borrowed (e.g. from your broker in a margin account)?
If so, then it is likely you will have to pay your broker interest on that money. If the amount of that interest exceeds the interest or dividends you receive from the stock or bond, then you are losing money by holding the position. If the net interest is still positive, then you are not losing money.
Inflation
As the government prints more money, the value of currency is diluted. As a result, we have a rate of inflation (e.g. many central bank targets are about 2%). One can argue that you're losing money if all of the returns (interest payments from the bond or dividend payments from your stock including financing and taxes) from your position are below the rate of inflation (e.g. 2%).
Some would argue that one should therefore invest in an asset like gold which will increase in value with inflation, though when you sell your position you will likely have to pay capital gains tax and there may be other places where you will get a better return.