Like many other investment writers, I've discussed hundreds, if not thousands, of stocks over the years, and it would be impractical for me to buy and hold each and every one I like. So, it makes sense that one of the top questions I get asked is what stocks I actually own in my own portfolio. With that in mind, here's why Bank of America (BAC -1.07%), Realty Income (O 0.24%), and National Oilwell Varco (NOV 0.64%) are my three biggest stock holdings right now.

The best value in banking

In the interest of full disclosure, Bank of America was not my largest stock holding until a few months ago. Previously, more stable and predictable banks such as Toronto-Dominion Bank were my biggest holdings in the financial sector. However, when Bank of America plunged into the $11-range earlier in 2016, it was simply too attractive to pass up.

BAC Chart

Even after a recent rebound shares trade for just 60% of book value, an incredibly low valuation considering just how far the bank has come since the financial crisis. Management has done a good job of improving credit quality, reducing expenses (especially in regards to the branch network), and growing deposits and quality loans.

The reason for the low valuation is simple -- the bank is struggling to produce a decent level of profitability. During the first quarter, the bank only managed a return on assets (ROA) of 0.5%, half of the industry benchmark of 1%. Until interest rates move higher, profitability will continue to be a struggle. In addition, like its peers, Bank of America has a substantial level of exposure to the energy industry in its lending portfolio, and there are concerns that persistently low oil prices could lead to a wave of defaults.

However, I think the rock-bottom valuation more than compensates investors for any risks. I plan on keeping these shares for the long run, and this entry price creates quite an interesting opportunity.

Steady income and market-beating performance

I've written before that rock-solid REITs can be a great way to build wealth, and create an income stream once you're retired. Realty Income is simply the best-in-breed.

Realty Income invests mainly in freestanding retail properties with tenants that have little threat of online competition. For example, drug stores are a large portion of Realty Income's portfolio (Walgreens is the single largest tenant), and this is a type of business people generally have to physically visit.

The tenants sign long-term "net" leases, generally with 15 to 20-year initial lease terms, and with annual rent increases built right in. Under a net lease, the tenants pay variable expenses, such as taxes, maintenance, and building insurance, so these are long-term, steady income streams.

It's hard to argue with Realty Income's performance. Because of its investment strategy, occupancy has never dropped below 96%, and the company has built an investment-grade credit rating, which allows it access to inexpensive funding for any attractive acquisitions it comes across. Since its 1994 IPO, Realty Income has delivered average annual total returns of 17.8% -- nearly double the S&P 500 during that time period. Realty Income has increased its dividend 74 quarters in a row, currently yielding right around 4% annually, spread over monthly dividend payments.

No other vendor

One of my favorite investment strategies is to load up on best-in-breed companies when entire sectors get hammered. Over the past two years or so, this has been the oil sector, so National Oilwell Varco became a major holding of mine.

National Oilwell Varco has a dominant market share, with about 80% of the offshore drilling rig market and a large portion of land-based rigs. In addition, the company's standardized rig designs mean that customers will keep coming back for replacement parts as old ones wear out. National Oilwell Varco has such a dominant presence in its field that its initials are said to stand for "No Other Vendor."

With persistently low oil prices and plunging profits across the industry, many companies are not maintaining their oil rigs well, a point the company made in its year-end 2015 conference call. Well, at some point all of these old rigs will need new parts -- in other words, there is a large backlog of business building up.

I'm confident that oil will eventually turn around -- and the fact that it is already well above its first-quarter lows could help profits turn around sooner than many think. When the industry does turn around, National Oilwell Varco will be in a good position to rebound strongly.

Brent Crude Oil Spot Price Chart

Important points about my largest stock holdings

There are a few points I would like to make, in order to keep this in perspective. First of all, I strongly believe in maintaining a well-diversified portfolio. Between my accounts (retirement and general brokerage), I own over 30 stocks, and my largest holdings only represent about 5% of my total portfolio's value.

Second, it's important to keep the right stocks in the right accounts. For example, Bank of America is on the riskier side and doesn't pay a large dividend, so it makes sense to hold it in a taxable brokerage account that I'm not depending on for retirement. On the other hand, Realty Income is a stable, income generating stock, so it makes more sense in my retirement account.

Finally, many of my stock positions are of similar sizes, so my top three changes rather frequently. In fact, before its recent price drop, Alphabet(GOOG -1.96%) was my third-largest stock holding. So, take this top three with a grain of salt.

Having said all of that, I'm more confident in these three stocks than most others, but only over a long time frame. National Oilwell Varco, for example, could drop significantly if oil were to plunge again. However, I'm confident in the company's business model and management, and believe that over time the reward will be worth the risk.