The money that you invest in stocks needs to be money that you do not need immediately. This does not mean that it is not money that you will not need for 20-30 years. If you have money that you are confident you will not require for decades, you should probably invest that money in your own home. Follow the old Benjamin Franklin saying, "A penny saved is a penny earned." (Yes, I know he probably didn't say this).
If you currently pay 7% interest on your home loan, any extra money that you apply to your mortgage will immediately give you a 7% return for the balance of your mortgage term. Therefore, if you pay a one-time extra $1,000 on a 7% mortgage that has 23 years left on it, then it will result in $5,002.04 that you did not have to pay over the course of the 23 years. This is a guaranteed return: over the course of 23 years you will be more than $5,000 wealthier due to that one-time investment.
Your home mortgage is the safest "buy and hold" investment that you can make! You already know that you pay a certain percentage. If you pay the loan off early, you effectively get that loan percentage as an investment return.
The same logic also applies to your auto loan and credit cards. This is typically more short-term debt than your home. Quick payoff on any short-term debt will guarantee you the quickest and best investment strategy. You are not spending those pennies, you are saving them. Benjamin Franklin will be proud of your efforts to pay off your short-term and long-term debt quickly and efficiently.