Many experienced investors will tell you that some of the best stocks in their portfolios were bought during bear markets. As legendary investor Shelby Collum Davis said, "You make most of your money in a bear market, you just don't realize it at the time."

While the market has climbed out of bear market territory, the S&P 500 is still down 12% year-to-date (YTD), and there are plenty of excellent stocks that are available at discounted prices.

However, to paraphrase another famous investor, Warren Buffett, the key is to buy great companies at a fair price rather than fair companies at great prices. Here are two great companies -- both under $100 per share -- that would make good long-term additions to a portfolio.

Charles Schwab: $70 per share

Charles Schwab Corp. (SCHW -0.37%) is the largest brokerage firm in the U.S. with $6.8 trillion in total client assets. While the stock price is down about 17% YTD to about $70 per share, its stock price and earnings have been steadily rising throughout the past decade. Over the last 10 years, Schwab has posted an annualized return of about 18%, and its annual net income has gone from about $900 million 10 years ago to $5.8 billion as of June 30 -- an annualized growth rate of about 20%.

Those numbers show how the financial services giant has been able to steadily grow over the years. And with its acquisition of TD Ameritrade in 2020, which it will begin the process of integrating into Schwab in the second half of this year, the firm should have additional earnings power with the efficiencies and scale gained after the combination.

Schwab has posted excellent results through this market downturn, with a 13% year-over-year increase in revenue to $5.1 billion and a 34% increase in net income to $1.8 billion in the most recent quarter. Also, Schwab added 1 million new accounts in the quarter and now has about 34 million active accounts, up 5% year-over-year.

SCHW Chart

SCHW data by YCharts

For a growth stock its valuation is reasonable, with a forward price-to-earnings (P/E) ratio of less than 18, down from 23 a year ago, and a P/E-to-growth (PEG) ratio of 0.92, which means it's undervalued in relation to its long-term growth expectations. As a market leader with some $146 billion in cash, a 44% operating margin, and lots of growth potential, it is a good buy at its recent price.

Bank of America: $35 per share

Like Charles Schwab, Bank of America (BAC -1.53%) is a giant in its industry. It is the second-largest bank in the country with some $3.1 trillion in total assets. Bank of America has been a steady grower as well, with the stock price returning 16% on an annualized basis over the past 10 years. Further, net income has increased about 21% per year on an annualized basis over the past 10 years through the second quarter.

Bank of America has also performed relatively well through this current market. In the second quarter, the bank generated a 6% increase in revenue to $22.7 billion, and net interest income was up 22% year-over-year to $12.4 billion. Also, average loan and lease balances were up 12% to $1 trillion year-over-year. That is a good sign for a bank in this economy, which has had two consecutive quarters of declining gross domestic product (GDP).

With interest rates continuing to rise, this is a good time to invest in Bank of America because rising rates should drive net interest income higher in the short run. Over the long term, Bank of America is a terrific value right now with a forward P/E ratio of 10, down from 14 a year ago, and a price-to-book (P/B) of 1.1, down from 1.4 in the second quarter of 2021.

Its value, stability, and steady growth are a few reasons Bank of America is the second-largest holding in Buffettʻs portfolio at Berkshire Hathaway (BRK.A -0.03%) (BRK.B 0.05%).

These are two great companies and two giants in their respective industries that not only have fantastic track records, but also the stability and strength to weather various market cycles and remain leaders. And stocks of both are well under $100.