NVIDIA stock (NVDA, US67066G1040) has recently exploded. Though the profits also significantly grew, the stock bubble is definitely overproportional to fundamentals. Most likely this is due the deep learning hype. So I bought a put option on NVIDIA and even if it expires worthless, I still consider it as a nearly perfect trade and explain why.
As I have already reported, deep learning and big data do have future but so far there is much more hype than breakthroughs. I mostly considered financial branch (and trading in particular) but nowadays the really big hype takes place in automotive. Though I cannot speak for the whole branch, I know Daimler AG very well, and in particular, its arrogant and technically incompetent management. They (and likely most of other traditional big players) would do nothing if there were no Tesla, Google Car ... and now NVIDIA itself in cooperation with Baidu. So Daimler, BMW and Volkswagen try to catch up but lacking essential technical knowledge at management level they go in the wrong direction. For instance, Daimler CEO Zetsche states: "hardware-oriented projects have priority since the software as such will not move you from point A to point B". Had Mr. Zetsche read a little bit more about IT, he would probably be aware that, e.g. the breakthrough in computer vision is primarily due to deep convolutional neural networks (algorithmic invention). The adoption of appropriate hardware (GPUs) was though very helpful but still played secondary role. Anyway, the hype is created since the market sees that "conventional" automotive does have interest in autonomous cars.
Ironically, I do have pretty deep knowledge of GPUs. I got donated Tesla K20 from nVIDIA Academic Partnership Program. I affirmed and do affirm that NVIDIA's graphics processing units are unbeatable for the Monte-Carlo simulation. I also think that the GPUs are very efficient for deep learning and, in particular, computer vision. But I also know that the GPUs is not the only technology for deep learning (e.g. FPGA can be even faster) and obviously NVIDIA is not the only company, which produces respective hardware. And of course letting a robocar even perfectly recognize objects on road and traffic signs is not yet sufficient for (legal) admission of robocars (which will likely take a decade). Putting it all together, this is the first sign of the bubble.
Now let us have a look at NVIDIA's fundamentals. Surprisingly, it is not so easy to find reliable data! I took historical EPS from MarketWatch, which is rather a lower bound, e.g. ComDirect reports somewhat higher historical EPS. As to the forecast, from what I found I consider the data from NASDAQ website as most trustworthy. So the EPS data are as follows:
Year | EPS: Historical / Consensus Forecast |
2015 | 1.14 USD |
2016 | 1.13 USD |
2017 | 2.43 USD (forecast) |
2018 | 2.77 USD (forecast) |
2019 | 3.15 USD (forecast) |
By the way, OnVista website (which is very popular in Germany) reports €11.79 as estimated earnings per share in 2018. Though the expected earnings per share is a nearly a triple of its historical counterpart, the stock has quadrupled within a year! This is the second reason for me to consider the NVIDIA stock as overheated.
Still I find going short too risky, since the market might stay much longer irrational than I can stay solvent. But I find buying a put option to be a perfect decision. In worst case I lose not more than the option premium and in the best case I make even more than 100% profit.
The only question is whether a put option at an appropriate price (i.e. implied volatility) is available for me as retail investor. Well, in Germany the retail traders can basically trade no option but rather Optionsscheine. The latter are essentially options, however, they are issued by banks which are market makers (and thus there are credibility and price manipulation risks). However, I keep my position small and thus can accept these risks. Unfortunately, NVIDIA is an American company and it is not from DJ30, so the German banks reluctantly issue the Optionsscheine on it (those with implied volatility higher than 100% or with unreasonable bid-ask spread are immediately rejected). However, there is an acceptable one: DE000TD7GK51. It is as follows: strike = $90.00, expiry date = 11.01.2019, bid-ask spread = 2.8% and the implied volatility = 47.5%. Still not cheap but let us compare it to the historical volatility.
library(quantmod) getSymbols("NVDA") chartSeries(NVDA) dates = index(NVDA) closePrices = NVDA[,4] library(lubridate) idx1 = which(year(dates)==2016) nDAYS1 = length(idx1) rets1 = diff(closePrices[idx1]) / closePrices[idx1[2:nDAYS1]] histVolaOneYear = sd(rets1)*sqrt(nDAYS1) #0.41 idx2 = which(year(dates)==2015) nDAYS2 = length(idx2) rets2 = diff(closePrices[idx2]) / closePrices[idx2[2:nDAYS2]] histVolaTwoYears = (nDAYS2*sd(rets2)*sqrt(nDAYS2) + nDAYS1*histVolaOneYear) / (nDAYS1 + nDAYS2)
So the historical volatility for the last year is 41% and for the last two years it is 37%. As we see, the difference is significant, however, the optionsschein is issued in EUR, which adds a little bit more volatility, according to comdirect it is 44.6% for the last year and 37.2% for the last three years. And since there is also a dividend yield of 0.53%, the implied volatility of 47.5% does not seem to be prohibitive. Moreover, as I priced the option with volatility=44.6% and dividendYield=0.0053, I got optionPrice=17.35, which was very close to the current market ask price (note that this Optionschein has the split ratio 10:1). Last but not least, I look at the price of the "genuine" options on NASDAQ, it was only a little bit cheaper than the price of the Optionsschein.
Finally, let us calculate the price of option in a year, depending on the price and implied volatility of the underlying.
library(RQuantLib) AmericanOption("put", underlying=102, strike=90, dividendYield=0.0053, riskFreeRate=0.01, maturity=2, volatility=0.44, engine="CrankNicolson") vola = 0.475 + seq(from=-0.25, to=0.25, by=0.01) price = 102 + seq(from=-50, to=50, by=2) optionPrice = array(0.0, dim=51*51) volatility = array(0.0, dim=51*51) underlyingPrice = array(0.0, dim=51*51) j=0; for(p in 1:51) { for(k in 1:51) { j = j+1; res = AmericanOption("put", underlying=price[p], strike=90, dividendYield=0.0053, riskFreeRate=0.01, maturity=1, volatility=vola[k], engine="CrankNicolson") optionPrice[j] = res$value volatility[j] = vola[k] underlyingPrice[j] = price[p] } } library(scatterplot3d) s3d <- scatterplot3d(underlyingPrice, volatility, optionPrice, main="Option Price in 1 Year") idx = which(round(optionPrice, 0)==17) idx2 = which(underlyingPrice==60) s3d$points(underlyingPrice[idx],volatility[idx],optionPrice[idx], type="h", col="red", lwd=2) s3d$points(underlyingPrice[idx2],volatility[idx2],optionPrice[idx2], type="h", col="green", lwd=1) #s3d$plane3d(17.3, 0, 0, lty="dotted", lwd=3, col="blue")
Red pillars show the break-even frontier, whereas the greens show the option price w.r.t. the future implied volatility, given the price of NVIDIA stock will fall to 60 USD (what I expect from fundamental point of view). This universe of possible scenarios suits my risk-reward preference quite good. And even if the NVIDIA stock continues growing in near future, I left aside some capital in order to add to the position (reminder: averaging losses is generally bad, planning in advance to add may be good).
P.S. I call it a nearly perfect trade because a really perfect trade would be to go long in NVIDIA stock a year ago. I do program NVIDIA's GPU cards and I was aware of deep learning and computer vision hype, so I must admit: I missed a perfect opportunity. However, the art of trading is not to regret a missed opportunity but rather to quickly find a new one. And this put is good enough, though I expect "merely" about 100% profit (compared to more than 200% if I went long in stock a year ago), a put suites my portfolio very well, because it makes it a little bit more market neutral. And though I am aware that my option can expire worthless, I dare to call it "a nearly perfect" trade in advance. The arguments against NVIDIA stock are sufficiently grave and due to my strict money management I don't need to be right everytime.
FinViz - an advanced stock screener (both for technical and fundamental traders)