Short Google Drive tutorial based on the FFP spreadsheet

FFP released their semi-annual results last Friday which prompted me to update my Google Drive spreadsheet that tracks the NAV of the company in real-time. The spreadsheet is publicly accessible using this link and currently looks as follows:

FFP NAV spreadsheet

In the past months NAV/share has been going up while the discount has been getting a bit smaller, so that’s obviously good news for me, but that is not what I want to talk about. What I want to focus on is on how you can create a spreadsheet like this with real time prices, and specifically how to incorporate price data when the standard =GoogleFinance() function is unavailable. This is a recurring issue when you use Google Drive because foreign exchanges are often not supported. The FFP spreadsheet ran into this problem for the first time because FFP now owns Peugeot warrants and it has made an investment in a Mauritius listed stock.

The easy way

Step one in adding a quote that is not supported by Google Drive is finding a webpage that does have a quote. Bloomberg.com or ft.com are often a good source for foreign stocks. With the =ImportHTML() function it easy to grab data from a webpage. It is limited since it can only get stuff that is presented in a table or a list on the webpage, but luckily Bloomberg does have some relevant stuff in a table. To grab for example the latest price for Fujimak (A Japanese company I own) you can use the following command:

=ImportHTML("http://www.bloomberg.com/quote/5965:JP", "table", 1)

The first argument specifies on what web page the data can be found, the second argument specifies if you want to grab it from a list or a table and the last argument specifies the number of the table or list (there are often a couple of different tables on one page). Because Bloomberg doesn’t have a quote for the Peugeot warrants nor for the CIEL group on its website we have to take a slightly more complicated path.

The hard way: CIEL Group

If you want to be able to access everything you can use the =ImportXML() function. It takes two arguments: an URL and a XPath query. The XPath language can be used to select nodes in a HTML document (plenty of tutorials available online), but we don’t need a lot of fancy stuff to find a quote. You could use "\\div" as a XPath and you would basically get the whole HTML page dumped in your spreadsheet. This isn’t a very neat solution because there is a high risk that something will change in the page and that the cell that contains the latest price is suddenly moved: breaking the spreadsheet. The better solution is to specifically search for the HTML element that contains the price.

The latest price of the CIEL group can be found here on the site of the Mauritius stock exchange. Right-click in Google Chrome on the price and select “inspect element” and you will see a bunch of HTML code with one highlighted line, a div with the id “general_price_details”:

Finding the div id

We can now select this specific element with the following XPath query:

=ImportXML(B19, "//div[@id='general_price_details']")

Getting the warrant price

The price for the Peugeot warrants can be found on the site of the Euronext stock exchange. Here things are made even a bit more complex because the website is designed in such a way that the price is loaded asynchronously with the main page.  We can once again use the Google Chrome development tools to figure out where the data is coming from.

Right-click on any page element and select “inspect element”. Select the “Network” tab and refresh the page by pressing F5. You will see a list of all kinds of files that are loaded by your browser when the page is rendered. Most of the files are small images, scripts and style sheets, but there is also a small HTML page that contains the price data. We need to copy the URL of this page to Google Drive for our =ImportXML() function:

Finding the page with the Peugeot warrants  price

We can now import the price in Google Drive using this command (B3 refers to the URL):

=ImportXML(B3, "//div[@class='quote with-label']")

There remains one tricky issue that needs to be resolved. Google tries to automatically convert the price data to a number, but the Euronext website uses a comma as a decimal mark while Google drive expects a point. When the price is for example €1,641 Google drive translates this to €1641 (and it is easily fixed by a division by one thousand). If the price is €1,64 Drive doesn’t recognize a number, and we need to remove the €-sign and convert the comma to a point our self. This can be done with the following command:

=VALUE(RIGHT(REGEXREPLACE(D3, ",", "."), 5))

Hopefully this was educational!

Disclosure

Author is long FFP

Exited UTStarcom

I bought UTStarcom (UTSI) a bit more than one and a half year ago. My main reason for buying the stock was the cash rich balance sheet combined with a history of share repurchases. I’m not very pleased with how I valued the cash balance of the company in my initial analysis. Focusing more on NCAV would have been a better idea since it accounts for all liabilities on the balance sheet. Buying a stock at 1.1x NCAV doesn’t sound as attractive as buying a stock with more than $4.5/share in cash for less than $3/share.

Since then the amount of cash/share has steadily dropped thanks to a combination of investments in ‘exciting’ new ventures (so far all with negative earnings), capex, negative operating cash flow and some share repurchases. Those investments might work out in the end, but I have no idea on how to value them and how to track them. I also don’t really want to take a leap of faith with the current management team. Given that the stock has been going up for no apparent reason the past month I thought that this was a decent time to exit.

Disclosure

No position in UTSI anymore

 

Earnings season updates (AWDR.OL, CNRD, CLP.L, PVCS.L)

Awilco Drilling (AWDR.OL)

Awilco Drilling reported excellent results for the second quarter of 2014 with a revenue of $66.3 million and a revenue efficiency of 99.7%. There were however a bunch of one-time items that impacted the financials statements. Interest expense was artificially high because of costs related to the debt refinancing, the tax rate almost tripled and operating cash flow was relative low due to a big jump in receivables. The tax rate for this quarter was almost 22%, a lot higher than the roughly 8% the company paid in the past. Those low rates are unfortunately a thing of the past due to a new law. Awilco is expecting that the normalized tax rate going forward will be around 15%.

Because the share price of Awilco has been going up steadily since I bought it while the company has paid out all FCF as dividends I think the stock is now not significantly undervalued anymore. It’s not (yet?) expensive, but at an estimated 20% discount to fair value I will probably take some money off the table soon.

Conrad Industries (CNRD)

Conrad is another pick that has advanced significantly since I bought it and is now also trading a lot closer to intrinsic value than in the past. But it not expensive with 25% of its market cap in cash and a 8x PE-ratio. Given the large cash balance I expect another special dividend at the end of the year, and given how management has been able to grow the business I’m happy to continue to hold this. Might be a good stock to hold for the long-term.

Historical financials Conrad 1H 2014

Clear Leisure (CLP.L)

I described Clear Leisure as a train wreck in my first post on the company, so perhaps I should have known better, but unfortunately the bad news is not yet behind us. The stock was suspended from trading almost two months ago because the company was unable to fill its annual accounts in time. A bit of hope is provided in the trading update that was released today in which the company announces its intention to sell the Mediapolis land and building rights separately. Call me skeptical…

Crystalox Solar (PVCS.L)

Better news came from Crystalox Solar that announced a €8.7 million settlement with one of its long term contract customers that had entered insolvency proceedings. We will have to wait a few more days for the interim financial report. I expect that they will have maintained their solid balance sheet, but I don’t expect better than break-even results.

Disclosure

Author is long all stocks mentioned in this post

Beximco Pharma: London GDR trading at 60% discount

I’m a big fan of simple investment thesis’s. If you can’t write one down on a napkin it probably depends on too many assumptions which makes it likely that one or more of them are wrong, invalidating the thesis. Another possibility is that you don’t fully understand the thesis which makes it hard to drill down to the essence of the idea. As you might have guessed by now, the investment case for Beximco Pharma is simple: you really don’t need to read more than the title of this post to understand it. It’s really that simple!

It’s interesting enough to spend some more words on it though. Beximco Pharma is located in Bangladesh, and the company describes itself as follows:

Beximco Pharmaceuticals Ltd (BPL) is a leading manufacturer of pharmaceutical formulations and Active Pharmaceutical Ingredients (APIs) in Bangladesh. The company is one of the largest exporter of pharmaceuticals in the country and its state-of-the-art manufacturing facilities are certified by global regulatory bodies of Australia, European Union, Gulf nations, Brazil, among others. The company is consistently building upon its portfolio and currently producing more than 500 products in different dosage forms covering broader therapeutic categories which include antibiotics, antihypertensives, antidiabetics, antiretrovirals, anti asthma inhalers etc, among many others.

While the company talks about exporting drugs to numerous countries around the world it’s not a big part of their business. Exports account for just 6% of revenue. To complete the first impression some quick statistics based on the latest price in Dhaka:

Last price (Aug 15, 2014): Tk43.00
Shares outstanding: 367,851,652
Market Cap: Tk15.82 billion (US$204.18 million)
P/B (mrq): 0.79x
P/E (ttm): 10.76x
EV/EBIT (ttm): 7.28x

While I had never heard of the company before reading about it in the latest Krohne Capital monthly report they are apparently pretty big in the local market. They are part of the DS30 index and it appears that Beximco AGM’s are quite the event. The company writes in the 2007 annual report that around 7,000 shareholders attended the meeting that year. Don’t know if this is common in Bangladesh, but in the developed world Berkshire Hathaway is probably the only company that has higher attendance numbers at AGM’s. Some pictures:

Beximco 2007 AGMThe London GDR’s

Beximco doesn’t look particularly cheap or expensive when we look at the pricing metrics above, but as promised in the title we can buy the company at a 60% discount through GDR’s that are traded in London. Beximco has been listed on the Dhaka stock exchange since 1985 and the company obtained a listing in London in 2005 as the first and only Bangladeshi company. Approximately 22% of the outstanding shares are traded in London while the remainder is traded in Bangladesh. One GDR equals one ordinary share.

While a small discount might be appropriate because trading liquidity in London is lower there is really no good reason for the current pricing discrepancy. The discount probably only exists because there is no arbitrage possible. In addition to this presumably few people in Bangladesh have access to the AIM market in London, while at the same time few people with access to the AIM market care about investing in Bangladesh.

If you buy the stock in London the company suddenly appears dirt cheap:

Last price (Aug 15, 2014): GBX13.25
Shares outstanding: 367,851,652
Market Cap: £48.74 million  (US$81.23 million)
P/B (mrq): 0.31x
P/E (ttm): 4.28x
EV/EBIT (ttm): 3.15x

Financials

Knowing that the GDR is trading at a 60% discount is enough to know that Beximco is a bargain, but it is nice to know what we are exactly buying. I have compiled an overview of the historical financials in the table below:

Historical financials Beximco Pharmaceuticals

What is important to realize when looking at these numbers is the fact that inflation has averaged around 8 percent the past ten years in Bangladesh. This makes their growth in revenues and earnings a lot less impressive. What is a bit worrying is that the company has heavily invested in growing the business in the past decade – cumulative free cash flow is negative for the past 10 years – but it is failing to generate attractive returns on equity. So not really a business that you want to reinvest in. Because of this I think that the company is currently reasonable valued – perhaps a bit expensive – on the Dhaka stock exchange at a 0.8x P/B ratio and a 10.8x PE-ratio.

Insiders

Beximco Pharma is owned for 5.6% by Beximco Holdings: the largest conglomerate in Bangladesh. The vice chairman of both Beximco Holdings and Beximco Pharma is Salman F Rahman whose net worth is estimated at around US$ 2 billion. He personally owns another 2% of Beximco Pharma while the chairman of the board (his brother?) also owns 2%. I think this is a healthy amount of insider ownership, although it is obviously just a small piece of his total net worth. Interesting tidbit: apparently Salman F Rahman is currently serving as a director of the Bangladesh Securities and Exchange Commision. Not sure if that is a positive or not…

As is visible in table above: the company has an irregular history of paying cash dividends. They reinstated the cash dividend this year after a four year suspension. If they would continue paying their current dividend – which should be totally possible since it represents a 25% payout ratio – the company would have a 5.7% dividend yield. That’s pretty decent!

What is annoying is that the company is also paying a stock dividend. This is a totally useless idea since a stock dividend is equivalent to a stock split and as a shareholder you own exactly the same economic interest in the company before the dividend as after the dividend. It only makes comparing historical financials harder. I have tried to restate all the per share information in the historical financials to account for the stock dividends.

Conclusion

Beximco Pharma isn’t a great business, but it isn’t too bad and it is an absolute bargain when you buy it in London. The AIM market is crappy with regards to liquidity and the execution of trades, but I don’t think that warrants a 60% discount. It’s hard to get a thesis that is simpler than this!

Disclosure

Author is long BXP.L

Bought two stocks in Japan

That stocks are cheap in Japan is no secret. Part of the reason is probably that it’s hard to get exited about a stock market that has been going down for decades. Even though 2013 was a pretty decent year for the Nikkei 225 the index is currently trading at the same level as in 1986. But the bigger issue is that corporate governance is a major problem in Japan, and it’s also the reason why I have never been too enthusiastic about jumping on the Japan bandwagon. As someone mentioned on Twitter this week:


This is certainly true to some extent in Japan. It’s not a coincidence that a majority of Japanese companies have a very large cash balance: it’s the result of a country wide culture of poor capital allocation. So buying cash at a discount with a small operating business attached never sounded very attractive to me. You should expect that the company continues to sit on the cash balance for years or even decades while earning shareholders almost nothing in the mean time. I expect that eventually corporate capital allocation will improve in Japan, but that could be an event that happens outside my investment horizon.

Luckily not every company in Japan is a stagnant business with poor returns on equity, and some are just too cheap to ignore. I will let the table below do the talking:

Fujimak and Nansin key stats

As is visible both companies managed to generate good returns on equity the past 5 years despite the drag of a medium/large cash balance. I expect that these companies will be able to grow intrinsic value meaningfully in the years to come, and hopefully that will be reflected in the stock price and/or higher dividends. Fujimak has a good history of growing it’s dividend while it has also been investing a lot of money in capex the past years. Normally I would be a bit worried when I see a lot capex, but in the case of a Japanese company I actually think it’s a pretty good sign: almost anything is better than idle cash…

Since both companies are located in Japan and I don’t speak a word Japanese my analysis of both companies is superficial at best and purely based on the financial statements of the past 5 years. It is totally possible I’m missing something important. That’s why I initiated two small positions, and I might add a couple of other names in the future to create a small basket of similar priced Japanese stocks to diversify my risk.

More reading:

Disclosure

Author is long Fujimak and Nansin