Thursday, December 30, 2010

BLT.L - BHP BILLITON - buy

Here's some stats that makes BLT look favourable:
SP  2610p
PBV 1.85 (10-year median: 3.35, implying an 81% gain)
GG  53% - well capitalised
ROC 30% - high returns on capital
EY  21% - cheap price (EV adjusted)
MKT £57b
PE  14 - reasonable PE, with 2011F inc. of 50%, and 2012F inc. of 6%
YLD 2.1% - low yield, but not unsettling given other positive traits

The current level of the Footsie is 6010.69

On 01-Dec-2010, the director mr Nasser bought, on market, the equivalent of 40,000 shares (at about £25ps), for approx. £1m. On 08-Dec, for example, the company bought 350,000 of its own shares at c. £24.51 ps, for approx £8.5m. There are numerous other share buybacks occuring in November and December.

Monday, December 27, 2010

REL.L - a sell

I bought REL (Reed Elsevier) on 25-Oct-2010 at 559p. It's currently trading at 538p, and I think it's a sell. Although I'm only down 4%, and I haven't owned the shares for long, I still think they are a sell. There has been some directors buying on 1 and 14 Dec, I am still not convinced. It has a ROC of -98%, and an earnings yield of only 7%. Its problem is its high debt. Gearing stands at 241%, and its z-score is low. Its median earnings quality over the last decade is 0.0. It's a company that can't seem to report vanilla earnings.

This one is tricky. It is highly indebted, making its earnings yiled unattractive, but the directors are buying.

Sunday, December 19, 2010

Supermarket stats

         MRW   SBRY  TSCO
SP    264.60  372.1 433.3
MKT      7.0    6.9  34.8 in bn
PE      11.7   15.1  13.1
PE10    16.2   14.9  15.4 median PE over last 10 years
YLD      3.4    4.0   3.2
GEAR    16.8   34.1  51.7 gearing
TGR     16.8   35.2  72.6 tangible gearing
EGP1    12.7    5.0   5.0 earnings growth projected yr 1 out
EGP2    12.2    9.4  12.0 ditto yr 2
ROE     10.6    8.6  17.1
Z        3.4    2.9   2.2
PBV      1.3    1.3   1.2
PBV10    1.8    1.2   2.6 median PBV over last 10 years
GG      57.6   45.0  31.9 Graham Gearing %
PERF    40.7   21.8  32.6 Share price performance over 5 years 


Operating Margins %
      '06  '07  '08  '09  '10
MRW   0.9  3.1  4.5  4.6  5.9
SBRY  2.4  3.0  3.0  3.6  3.4
TSCO  5.6  5.5  5.5  5.5  5.6

Net Profit Margin %
      '06  '07  '08  '09  '10
MRW  -2.1  2.0  4.3  3.2  3.9  
SBRY  0.4  1.9  1.8  1.5  2.9
TSCO  4.0  4.4  4.5  4.0  4.1  

Data is at 19-Dec-2010

Thursday, December 16, 2010

AV.L Valuation

I did my own valuation of Aviva on a variety of bases:

[1] Current Price: 389.6

On a PER basis:
[2] EPS10: 54.55 (median EPS based on last 10 years)
[3] PE10: 9.15 (again, last 10 years median PER)
[4] Expected price [2]*[3]: 505p
[5] Expected return [4]/[1]: 30%

On a BV basis:
[6] PBV10: 1.53
[7] Current: 0.99
[8] Expected return [6]*[7]: 50%
[9] Expected price [8]/[1]: 584p

On yield basis:
[10] YLD10: 4.86%
[11] Current yield: 6.52%
[12] Expected return: 31%, SP 505p

Stephen Bland also did an exit price here : The index is presently on a forecast 2011 yield of around 3.3%, so that an exit yield for Aviva would be a forecast 4.3% on this reckoning. Taking the anticipated divi of 27.2p that makes a dump price of 633p which is 62% above today's figure of 390p.

So the returns are calculated as 30%, 50%, 30%, 62%; for an average of 43%, giving it a target price of 557p. Pretty good.

BARC.L Directors dealings

On 13-Dec-2010:
Barclays (BARC) Robert E Diamond Jr buys 363,179 shares @ 273.97p for £995,002

Wednesday, December 15, 2010

BBAY.L BlueBay Asset management

I bought BBAY.L on 14-Jun-2010 at 277p per share. At he time, I noticed that they were on a PE of 12, yield of 5%, a growth of 173% in EPS expected for the forthcoming year, and 31% for the subsequent year. It seemed quite an attractive opportunity.

Here's some notes I wrote:
---
28 jun 2010 update
greenblatt rank 937/2917: 32%
ev1 = 558 - 4 - 87 =467
ev2 = 4.31*107 = 461

rbit = 26
ey = 26/361 = 5% Poor
On forward:
ey = 57/461 = 12% better

ce = 17 + 87 = 105
roc = 26/104 = 25% very good

OL = (17+87)/100 = 1.04 very good
---

29 jun 2010 BBAY loses star fund manager

The price currently stands at 483.5p. Subsequent developments since my purchase is that it is being bought out. I still hold the shares, but they will be suspended on 16-Dec-2010, and I ought to get the money at the end of December, maybe early January. The takeover price is 485p. The shares have, therefore, been a very good buy for me. Analysts have said that the price paid is more than the estimated intrinsic real worth of the business.

BBAY has been my best return for the year. A considerable amount of luck was involved, as I had no idea that it would be taken over at a huge premium. The combination of huge yield, increasing projected earnings seem to have really helped it. It earned good ROC, and its ROA were through the roof. Note that the PE wasn't in the super-low valuations. A PER of 12 is somewhat undemanding, but not super-low.

Saturday, December 11, 2010

Cyclicals and defensive shares

Here's a very interesting quick experiment I just conducted. I wanted to compare an easily calculable Graham-like estimate of growth rate against a least squares regression fit. I also wanted to see if it was possible to "spot the cycles" based on least squares regression. The results I obtained were better than I expected - maybe suspiciously so.

One of Graham's test for a defensive stock is that it shows at least an improvement of 1/3 over 10 years. He suggests taking the average of the first 3 years and comparing it with the average of the last 3 years. I did my test a little differently, to hopefully smooth out some anomolies that may exist. I take the median of the first 3 years and compare it with the median of the last 3 years. You can go a little further than that, and actually work out a compounding rate - which is a little more human-sensible. In this case, you take the ratio of the numbers to the power of 1/7. Why 1/7? Well, if you assume the median of the first 3 years occurs on year 2, and similarly the median of the last 3 years occurs on year 9 (whether or not this actually happens), then the span is 7 years.

This number can then be compared with the compound rate obtained by using a computed rate on a least squares regression under an exponential model. I was quite impressed by how close the numbers were - usually within 1 or 2 percent, on occasions 3%.

Pulling some quck stats at random, RWD has a compound rate of 12% using both the Graham-esque method, and using the least squares fit. BLT had a rate of 32% using the model, and 33% using the Graham-esque model. There's very good agreement going on.

Using a least-squares fit lets you do one extra thing - it allows you to calculate R^2, the co-efficient of variation. This, in effect, allows you to see how much of the variation is "explained" by your model. Take AZN, for example, it has a compound rate of nearly 16%, and an R^2 of 0.94. This means that 94% of the EPS figures are "explained" by the model. Some companies have extremely high R2.

This is interesting, because it allows us to get a handle on defensive stocks versus cyclical stocks. A lot of the defensive stocks I did a quick scan of had rather high coeffs of variation. This is what you might expect: defensive stocks have steady and growing and "predictable" earnings.

I then looked at 2 cyclical stocks: BARC, and BWY. They had R2 values of 0.11 and 0.18. In other words, earnings were difficult to explain away by a growth model. This, too, is what you'd expect. Defensive models have slow predictable earnings, whilst cyclicals are prone to violent earnings swings.

Now, just because all this fancy maths says stuff, doesn't mean that the future will be like the past. In fact, most people will take it as a red flag that too much maths is being used.

However, it is suggestive. It helps you a little in cross-checking with a stock is a defensive stock, or a cyclical. For a defensive stock, what you want to look for is good growth rates, predictiable earnings, and you want to couple that with a good dividend, hopefully low PER, high ROE, and strong balance sheet. You try to get yourself a portfolio of about 10 of them in diversified sectors so as to smooth out any errors that you will invetably make. Note that in the case of defensives, high ROE is likely to correspond with high PBV. So low PER and high ROE are likely (but naturally not proven) to be good characteristics of defensive shares you want to own (along with the other factors I mentioned).

Now compare that with cyclicals, where you're more likely to look for low PBV and, paradoxically, high PER (and hence probably bad ROE). So how you characterise a company will have a profound impact on how you value it.

Defensive and cyclical is not the only categories that a company might fit in, of course. There are asset plays and turnarounds, too, and no doubt a few other that you can come up with. Companies might even fill an intermediate position between defensives and cyclicals. I'm not sure how you'd approach them, though.

If you use my scheme racket library, then you can compute growth rates and R2 (R-Squared) quite easily. Here's how I computed BATS.L:
(define (stats sym vals)
  (print sym)
  (print (exp-fit vals))
  (newline))

(stats 'bats  '(
           56.93    61.82    66.54    69.21    75.83    89.34    97.32    108.53    128.78    153.00
           ))
I obtained the results:
'bats'#hash((rate . 1.1130174848886074) (r2 . 0.9714435167133138))
This tells me that BATS is growing ar 11.3% pa, and the model "explains" 97.1% of the data. The data input is EPS, BTW.

Wednesday, December 8, 2010

DLAR.L buy

I bought some shares in troubled money print DLAR.L (De La Rue) at 846.6p (including commission).

DLAR had an approach for 905p cash, valuing the company at £896m (it has 99.0m shares in issue).  The bid was rejected, but I'm approaching this from an arbitrage kind of way. I'm saying that, at least, an informed outsider would be willing to pay c £900m for the company. IF a deal could be consummated at this level, I'd stand to make 6.9% profit. Possibly a higher amount would be offered, and there may be other bidders.

I get the impression that 905p is a bit lowball, so hopefully a better bid will emerge.

DLAR has a z-score of 3.11.

Thimbl-CLI: Added read command, climbl->thimbl

A note about some changes. At dk's request, I've changed the command climbl back to thimbl. I have also added a "read" command, which combines fetch and print.

Tuesday, December 7, 2010

BLT.L BHP Billiton

Having sold out of BLT.L some time ago, I suddenly decided I wanted back in.Why's that? Read on ...

On 01-Dec-2010, a director purchsed £903k worth of shares. That's a lot. They do not appear to be from the exercise of options. BLT's current ROE is 25%. It's median ROE over 10 years is 26.8%. BLT is a highly profitable company. Its ROA is 15.5% - again, highly profitable.

It's median PBV over 10 years is 3.43. Current PBV is 1.73 - implying a return of nearly double. BLT has a mkt cap of £53b, a z-scoew of 3.47, EGP1 58%, EGP2 4%, Yld 2.3%, PER 13.18. Its PER isn't, again, in bargain basement territory, but I think all the factors combined make it a small buy.

POL.L NAV

According to this notification, POL.L has a NAV of 6.86p per share. NAV is likely to be understated, too. Share price is 5.27p. Maybe it's possible to get a 30% return on investment (=6.86/5.27).

I first bought shares in POL.L at a price of  6.2672p, when the Footsie was at 5355. Mind, though, that I received a special dividend of 3p a share on that price, so the price I effectively paid was 3.2672p.

I also bought more shares on 18-Aug-2010 at 3.58p.See p 45 of my investment book.

Too bad I never bought more. I suspect a lot of value has been outted.

Thimbl-CLI: Added following and unfollow

In my recent github push, I renamed the command thimbl to climbl, which stands for "command-line thimbl". I wanted to reorganise my python modules, because I was having a tedious time getting the "thortune" cron job working. I'm still not sure if it's working, as cron has its own very tedious ideas about its environment. Someone really ought to invent a cron that Just Works (TM).

I also added two commands to Thimbl:
  • following - which prints out the people you are following
  • unfollow - which removes someone from the list of followings
Following is easy enough to use:
    climbl following

To use unfollow, you need to supply an address, as so:
   climbl unfollow foo@example.com

Enjoy!

GRG.L - Greggs purchase

Yesterday, I made a purchase of Greggs, the retailer bakery. Here are some pertinant stats for it:
Share Price: 443.5p
Footsie: 5773.49
z 6.22
mkt cap £445.61
PER 12.45
Yld 3.9%
PBV 2.8
ROE 21.64%
ROA 12.9%
EGP1 4%
EGP2 7%
BSR (13741+33756)/34374 = 1.4

Greggs is reasonably-sized, and has earned about 20% ROE over the last decade. It's got a good yield, and its PER isn't extortionate. It's z-score is fantastic, and it has little debt (as evidenced by the BSR). I don't think this one is going to fly to the moon, but it seems a nice defensive stock.

Warren Buffett -- 50% Returns

From here :

Much attention has surrounded reports that Warren Buffett said he could generate 50% returms on small sums of money. Typically, three immediate questions arise:
Did he really say that? Did he really mean it? And, how would he (or me or my favorite money manager) do it?
Looking at the record of his comments, it's pretty clear that he said it (and repeated it) and he really means it.
Buffett seems to have got the set this ball rolling in 1999. At that year's BRK shareholder meeting, he was aked:
Shareholder: Recently, at Wharton, Mr. Buffett, you talked about the problems of compounding large sums of money. You were quoted in the local paper as saying that you're confident that if you were working with a small sum closer to $1 million, you could compounded at a 50% rate. For those of us not saddled with a $100 million problem, could you talk about what types of investments you'd be looking at and where in today's market, you think significant inefficiencies exist?

Buffett: I may have been very slightly misquoted, but I certainly said something to that effect. I talked about how I polled this group of 60 or so people I get together with every couple of years as to what rate they think they can compound money at if they were investing small sums: $100,000, $1million, $100 million, $1 billion, etc. And I pointed out how the return expectations of the members of this group go very rapidly down the slope.

But it's true. I could name half a dozen people that I think can compound $1 million at 50% per year -- at least they'd have that return expectation -- if they needed it. They'd have to give that $1 million their full attention. But they couldn't compound $100 million or $1 billion at anything remotely like that rate.

There are little tiny areas, as I said, in that Adam Smith interview a few years ago, where if you start with A and you go through and look at everything -- and look for small securities in your area of competence where you can understand the business and occasionally find little arbitrage situations or little wrinkles here and there in the market -- I think working with a very small sum, there is an opportunity to earn very high returns.

But that advantage disappears very rapidly as the money compounds. As the money goes from $1 million to $10 million, I'd say it would fall off dramatically in terms of the expected return -- because you find very, very small things you're almost certain to make high returns on. But you don't find very big things in that category today.
Later, similar comments by Buffett were reported in the June 25, 1999 Business Week:

"If I was running $1 million today, or $10 million for that matter, I'd be fully invested. Anyone who says that size does not hurt investment performance is selling. The highest rates of return I've ever achieved were in the 1950s. I killed the Dow. You ought to see the numbers. But I was investing peanuts then. It's a huge structural advantage not to have a lot of money. I think I could make you 50% a year on $1 million. No, I know I could. I guarantee that."
He has repeated similar statements in recent meetings with college students, and at the 2007 annual meeting, he hit the topic again:
If I were working with a very small sum – you should hope this doesn't happen – I'd be doing almost entirely different things than I do. Your universe expands – there are thousands of times as many options if you're investing $10,000 rather than $100 billion, other than buying entire businesses. You can earn very high returns with very small amounts of money. Everyone can't do it, but if you know what you're doing, you can do it. We cannot earn phenomenal returns putting $3, $4 or $ 5 billion in a stock. It won't work – it's not even close. If Charlie and I had $500,000 or $2 million to invest, we'd find little things we could do, not all of it in stocks.
This most interesting part of the statement is the emphasis on how different his activies and opportunities would be with smaller sums of capital and therefore more opportunities: "I'd be doing almost entirely different things than I do." Not sitting on Coke, the Washington Post, AXP. Not committing new money in the past few years to BUD, WMT and JNJ.
What then would he do? Well, he's hit this theme a few times also. At the 1998 shareholder meeting he said:
There are little tiny areas, as I said, in that Adam Smith interview a few years ago, where if you start with A and you go through and look at everything -- and look for small securities in your area of competence where you can understand the business and occasionally find little arbitrage situations or little wrinkles here and there in the market -- I think working with a very small sum, there is an opportunity to earn very high returns.
What was the Adam Smith interview? It aired in October 1993, and it went like this:
Adam Smith: If a younger Warren Buffett were coming into the investment field today, what areas would you tell him to point himself in?

Warren Buffett: Well, if he were doing – if he were coming in and working with small sums of capital I’d tell him to do exactly what I did 40-odd years ago, which is to learn about every company in the United States that has publicly traded securities and that bank of knowledge will do him or her terrific good over time.

Smith: But there’s 27,000 public companies.

Buffett: Well, start with the A’s.
As he explained at the 2001 shareholder meeting:
When I started, I went through the manuals page by page. I went through 20,000 pages in the Moody’s industrial, transportation, banks and finance manuals -- twice. I actually looked at every business -- although I didn’t look very hard at some.
He told Columbia business students in 2006:
Reading has made him rich over time. He told the story of going through Moody’s annuals in 1951. “It was absolutely a question of turning pages”. On page 1433, he found Western Insurance Securities. Its earnings per share were as follows: 1949 -$21.66, 1950 - $29.09. In 1951, the low-high share price was $3 - $13. He went to a broker and read the Best’s Insurance manuals, and talked to agents – it was a perfectly fine company with nothing wrong. Ten pages later, on page 1443, he found National American Fire Insurance (“This book really got hot towards the end!”) NAFI was controlled by an Omaha guy, one of the richest men in the country, who owned many of the best run insurance companies in the country. He stashed the crown jewels of his insurance holdings in NAFI. In 1950, it earned $29.02. The share price was $27. Book value was $135. Buffett found it fascinating that this company was located several blocks from the broker where he worked. His fellow brokers were bright, rational people whose job it was to buy cheap securities, and they refused to buy NAFI, instead investing in “blue chips”.
He then took out a copy of the 2005 Korean Stock Market guide. It was more of an almanac than a brokerage report. It was sent to him for free by a broker. “If it had been $10, I wouldn’t have paid for it.” Based on the recommendation of a friend who thought South Korean stocks were cheap, Buffett spent 5-6 hours leafing through the pages and put together a $100m portfolio of 20 or so companies. Daehan Flour sold 25% of the flour in South Korea, which had a large and stable economy. It’s earnings over the last few years: 12,870 won, 18,000 won, 22,830 won. It had over 100,000 won in securities. The stock price was 38,000 won. “You have to make money buying stocks like this at 2x earnings. Brokers aren’t going to tell you about Daehan Flour.”

All this corresponds nicely with Charlie Munger's recent comments to the graduating class of USC law school:
Another thing you have to do, of course, is to have a lot of assiduity. I like that word because it means: sit down on your ass until you do it.

Monday, December 6, 2010

BARC.L and BWY.L - share price evaluation

Here's my post on TMF about my analysis of BARC.L and BWY.L:
Over on the value board some time ago, I read a suggestion that cyclicals might be considered cheap if they sell at a discount to their 10-year earning average. I don't recall what multiplier was suggested.

Here's an interesting buy indicator that I found over at
http://blog.intelligentinvestor.com.au/doddsville/what%E2%80...
"My ‘ideal’ opportunity is typically a cyclical stock that’s down more than 80% from its high, which is trading on four times peak earnings and where there’s some director buying. My best stock picks have typically come from this category."

I thought I'd apply it to two sectors: banks and builders. I'll just take one example from each, and see how they fare. I'm not going to worry about directors dealings ...

Let's take the bank BARC (Barclays). It's peak adjusted earnings according to SH (Sharelock Holmes) was 66.25p, which occurred in 2007. That gives a buy price of 265p. Their high was 790p in early 2007, giving it a buy price of c 160p on that basis. It's low was in early 2009, when its price was 51.2p. Boy was that a bargain ... in hindsight, of course. BARC is currently on 263p - below the peak earnings suggested price, but way above the 80% from peak share price. Another metric that's interesting, I think, is PBV. Currently, BARC is on a PBV of 0.65. The median PBV of BARC over the last 10 years was 1.9. On a PBV basis, BARC could rise nearly 3-fold (=1.9/0.65) if it returned to its median. So, I guess it depends if you think 263p is good enough, or you want to hold out for 160p.

Now let's look at housebuilder BWY (Bellway). It's peak EPS over the last decade was 144.5, which was in 2007. On a PER of 4, this would give a buy price of 578p. BWY currently trades as 558p. Its peak share price was 1279p (I'm getting that by looking at Google finance) in May 2006 (looks like investors were predicting a downturn, even then). Lopping off 80% of that gives a share price target of 255p. As it turns out, the shares never dipped that low. It's lowest point was 420.25, which occurred in the latter half of 2006. The 80% test is clearly quite a difficult criteria to meet. BWY's PBV is currently 0.65. It's median PBV over the last 10 years is 1.2 - suggesting it may have the potential to double in price.

Interesting stuff, n'est pas?

I have some notes on BARC.L in my black book on pages 6, 16, 35.

Investing in cyclicals

Very interesting quote here :
My ‘ideal’ opportunity is typically a cyclical stock that’s down more than 80% from its high, which is trading on four times peak earnings and where there’s some director buying. My best stock picks have typically come from this category.

Saturday, December 4, 2010

Thimbl TIP: automatic fortune

Thimbl-CLI now has a commit that allows you to create a message by reading from stdin. The command is, rather predictably, 'stdin'.

Here's how you might use it to post a random quote-of-the-day automatically. You will need the UNIX program 'fortune' installed.

Create a file: ~/thortune:

   PATH=/usr/bin:/usr/games:$PATH
   fortune | python /path/to/thimbl.py stdin

Set its executable permissions:
   chmod a+x ~/thortune

Edit your crontab file to include the line:
   @daily $HOME/thortune
That should be it!

Friday, December 3, 2010

Advent calendar code

I read recently that there was an advent calendar written for perl programmers, and I thought that would be a great thing to have for Thimbl. I found that my command-line utils weren't very easy to use for posts spanning mutliple lines. Thimbl needed a method to post a file. So I added one, and made it available at the repo.

Now, each day, I edit a text file called advent.txt, containing the graphics I want to display. I have a little python script called advent.py which reads the file, and posts it. Here's my advent.py script:

import sys
sys.path.append('repos/Thimbl-CLI')
import thimbl
d = thimbl.Data()
d.post_file('advent.txt')
Very simple.

Tuesday, November 30, 2010

What is Thimbl?

>From: Stephen Fortune
>I would also like some clarity on how Thimbl works.

Yes - that can be a little confusing!

> I read in the manifesto that
>"It is up your own webhost, Internet service-provider or system administrator to
>provide accounts". This is where I require information: can someone use Thimbl
>without having a domain or webhosting service of their own, or is it restricted
>to those running a web presence of some form of preexisting server.

I'm not entirely sure of the plans of Thmibl.Net itself. I, for instance, put
together some tools that does not require a web server.


When people say "web server", they usually mean a piece of software that
presents pages like you would see if you typed into your web browser
www.google.com . I think that Thimbl.Net aims to provide that kind of interface.
My tools, OTOH, do not require it.


There are two sides to Thimbl: a client side, and a server side. "Client side"
refers to what you have to do to read some else's blogs. "Server side" refers to
what you have to do to let some else read your blogs. The client side is easier
than the server side.

The bare minimum you need for client-side work is a program called "finger".
This program is present on Windows, Linux, and a lot of other Operating Systems
that matter. You can access it from a DOS prompt on Windows,

I have set up a testing account for user ossa at my site nummo.strangled.net. If
I go to the DOS prompt, I can type
  finger ossa@nummo.strangled.net
If you do it, it currently returns the response:
[75.101.142.245]

You fingered the user 'ossa'
Plan:
{"name": "Ossa", "address": "ossa@nummo.strangled.net", "messages": [{"text":
"First post", "time": "20101117130604"}, {"text": "I am the King of Siam",
"time": "20101120105506"}, {"text": "Ossa 1", "time": "20101120110631"},
{"text": "Ossa 2", "time": "20101120130159"}, {"text": "Ossa 3", "time":
"20101120142248"}, {"text": "Thimbl-CLI gets an embryonic GUI:
http://alt-mcarter.blogspot.com/2010/11/embryonic-gui-for-thimbl-cli.html",
"time": "20101127151646"}], "replies": {}, "following": [{"nick": "dk",
"address": "dk@telekommunisten.net"}], "properties": {"website":
"http://mummo.strangled.ner", "mobile": "N/A", "email":
"ossa@nummo.strangled.net"}}

You can try it yourself, if you like. What you are seeing is an "encoded" form
of my blog. It is convenient for a computer to understand, but inconvenient for
a human to read. I think that Thimbl.Net's aim is to present the "decoded" blog
onto a web page. It's not necessary to show them on a web page, though. I have
put together some tools, called Thimbl-CLI, that just prints them out. If you
Thimbl-CLI installed, for example, you could type
  thimbl print
and you will get the output

2010-11-17 13:06:04  ossa@nummo.strangled.net
First post


2010-11-20 10:19:39  me@localhost
Test user says hi


2010-11-20 10:55:06  ossa@nummo.strangled.net
I am the King of Siam


2010-11-20 11:03:50  me@localhost
A stitch in time saves nine


2010-11-20 11:06:31  ossa@nummo.strangled.net
Ossa 1


2010-11-20 11:09:50  me@localhost
lappie 1


2010-11-20 13:01:59  ossa@nummo.strangled.net
Ossa 2


2010-11-20 14:22:48  ossa@nummo.strangled.net
Ossa 3


2010-11-27 15:13:45  me@localhost
Thimbl-CLI gets an embryonic GUI:
http://alt-mcarter.blogspot.com/2010/11/embryonic-gui-for-thimbl-cli.html


2010-11-27 15:16:46  ossa@nummo.strangled.net
Thimbl-CLI gets an embryonic GUI:
http://alt-mcarter.blogspot.com/2010/11/embryonic-gui-for-thimbl-cli.html


As you can see, it's in a much more readable form. For those that don't like
using the command line, I have started to create a GUI. You can see a pic of it
on a recent blog post at http://alt-mcarter.blogspot.com/search/label/thimbl .
This allows less knowledgeable users to get up-and-running quickly. Currently,
there is not convenient executable available for it, though. You have to be a
bit of a techie that knows about "git" and "python" in order to get it working.
An executable will be available eventually.

When things become a little more developed, it should therefore be possible for
anyone to be a "client" with little effort.


"Client-side " is less than half the fun, of course. You want to be able to make
your thoughts heard. This is what the server-side is about.The server side tends
to be tricker to set up. You need to set up a "finger daemon". A "finger daemon"
is to finger what a web server is to a program like Firefox. That generally
means you need "system privileges" in order to activate a daemon. It also
requires some fairly savvy system administration skills. If you have an account
within an existing institution (by which I typically mean corporation or
educational establishment), then it will be very difficult to convince the
system administrators to activate the finger daemon. If you run your own server,
then of course, all you have to do is convince yourself! Configuring these
things takes a little time, and is work generally undertaken by quite a computer
geek working on Linux.

All is not lost, though, because part of my Thimbl-CLI package includes a
tailor-made finger daemon which should work on any Operating System. It's not a
full executable yet, but that's my plan for it. Eventually, anyone could
therefore publish on the internet, provided that their ISP or firewall isn't
blocking incoming connections. If you turn off your machine, then, naturally,
people will not be able to access your current content.


Let me see if I can answer some of your questions in more detail.

> can someone use Thimbl without having a domain

Technically, yes. You would need to know your IP address at the very least. So,
instead of typing

    finger ossa@nummo.strangled.net
you could type
  finger ossa@75.101.142.245
and get the same result. An IP address is like a phone number. I believe that
most people have static IP addresses, meaning that their address remains
constant over time. This is contrasted with dynamic IP addresses, where
effectively your ISP allocates you a different one every time you switch your
machine on. A dynamic IP would be like your telephone company giving you a
different telephone number every day - it makes it nearly impossible for people
to know how to contact you, although you could still contact them.

> webhosting service of their own

Well, technically speaking, a web service serves web pages, and need not serve
anything else. So you couldn't use cheap hosting providers, or free ones, to
achieve what you wanted to.


> or is it restricted to those running a web presence

It's more a question of being able to run a server, rather than have a web
presence. "Web presence" is rather an imprecise term,  in any case. It might
mean someone who uses a web host to serve web pages, or it might mean someone
who has a blog (which is effectively the same thing), or it might mean someone
who has a Facebook account. Maybe it could mean other things, too. So, is it
restricted to those running a web presence? Theoreticall"no", in practise you'd
probably need to be a geek to set it up. Over the longer term, that should shift
towards a less technical orientation.

> of some form of preexisting server.

In practical terms, at the moment, I would say "yes". Eventually it should be
possible to the layman to set something up. The concept of a server is also
hazier than you might perhaps realise. It's a bit like this: everyone likes to
listen to singing, but very few people sing. Everyone can sing if they so
choose. That makes them de facto singers. By the same token, if a computer is
set up to serve web pages or finger information, then it is a server. In
reality, it's basically the same computer it always was, but now it just happens
to perform some serving functions.

>I'd personally like to be more concrete on exactly how people can maintain their
>
>own data,

I'm not sure how the folks at Thimbl.Net intend to do it, but using the
Thimbl-CLI tools, you could aimply type:
  thimbl post "I am creating a post right now!"
What happens when you do that is that thimbl encodes that post in with the
existing data file. Thimbl.Net probably does the same thing, only it uses a web
interface to do it.

Technically, you don't need any of these things to manipulate the data, you
could do it by hand. You would need to know "json", and the location of the
files. Tools like thimbl-CLI and Thimbl.Net exist to save yourself that bother
... which is their whole point. I dare say that Thimbl.Net's solution will be
more user-friendly.

If you want actual technical information as to how the data is stored, then take
a look at
https://github.com/blippy/Thimbl-CLI/blob/master/doc/plan.rst
It would be easier for a user to use a tool provided. These are  currently being
developed.


> i.e. what is setting it aside from other microblogging sites

I'm only familiar with Twitter, so I'll compare thimbl with that:
* Twitter is "centralised", thimbl is "decentralised". IOW, Twitter hosts your
account information, and gives you ready access to other accounts. Thimbl
doesn't do that.
* Twitter is about "capitalism", Thimbl is about "freedom". Witness the current
criticisms about Facebook and privacy. FB is about "monetising eyeballs", and
selling data to advertisers. FB can set user policies, and dictate what
constitutes acceptable use. It wants to "own", "sell" and "control" your data,
because that's the only way it can make money. With Thimbl, data isn't owned by
anybody, and it's not possible to exercise control over content. People can
publish whatever they want to publish. Whether or not other people choose to
listen is another matter, of course.
* Twitter is a "walled garden", Thimbl is a field of wild oats. Twitter is to
Thimbl what Windows is to Linux. IOW, Twitter gives you a convenient "canned"
solution. Thmbl is rougher around the edges, but ultimately you might be able to
do a lot more.
* Twitter follows a client/server model, Thimbl follows a peer-to-peer model.


>diaspora,

I've never used Diaspora, so I couldn't anser authoritively. AFAIK, Diaspora
tries to be the free equivalent of Facebook. Thimbl tries to be the free
equivalent of Twitter. From what I can understand, Diaspora is quite an
ambitious heavy-weight project. It seems like it will need a lot of resources to
pull it off. I suspect it is complex architecturally. Thimbl, OTOH, adapts what
already exists, and has a very simple structure. Thimbl is a Buddha that is
small and serious. Diaspora is a Buddha that is hairy and laughs (I'm
paraphrasing the comparison between the Scheme and Lisp programming languages,
BTW).



> but I have to keep my pitch light on computer science terms for
>accessibility reasons.

Using Twitter is like eating at a restaurant. The menu is preset, hopefully
quite tasty, and they wash the dishes for you afterwards. Using Thimbl is like
home cooking. You have to assemble the ingredients yourself, and wash your own
dishes. You get a more choice in what you eat, and the standard of hygiene are
the ones you set yourself, for better or worse.

On thimbl.net, Dymitri said "The most significant challenge the open web will
need to overcome is not technical, it is political." Thimbl is about taking back
ownership of our data for ourselves. It's a question as to whether we think our
best interests are served by thinking for ourselves, as opposed to letting some
government think for us. It's "not technical", because Thimbl is really about
putting a thin wrapper around solutions that already exist. It's like clothes:
sure, you can go to the shops with nothing on, but then you'd have nowhere
hygenic to put your money, and you'll attract some odd stares.

>  If you can shed some light on my question that would aid
>immensely

I hope I've been able to answer some of your questions. If you still need some
guidance, then email me back, and I'll try to help further.

I find it hard to describe Thimbl. In a way, "it's anything and nothing". It
establishes a convention (or "protocol", or "customs and language") for
exchanging information about microblogs. That leaves a wide open gate for people
to exploit that in freeform ways. Thimbl.Net, for example, aims to put a web
interface on top of it. In my own project, I take the "old-school" approach that
real men type commands, so it doesn't use web interfaces. I suspect Dymitri
would like to see many experiments conducted as to how the idea of microblogging
could be exploited.

Ultimately, I think people will choose Twitter over Thimbl. It has the advantage
of the network effect (it's popular because it's popular), and it will always
likely be easier to set up (there are generally always issues with firewalls,
installing software, etc.). Thimbl is a lot more fun, though.

Saturday, November 27, 2010

Finger protocol notes

finger protocol using netcat:

nc example.com 79
[return] - prints info about everyone
[username] - returns plan and stuff for username

RFCs:
RFC 742 - NAME/FINGER Protocol
RFC 1288 - The Finger User Information Protocol

A finger client written in Python:

import socket

def finger(node):
    
    # Separate out username and domain
    elements = node.split('@')
    if len(elements) == 1:
        user, host = '', elements[0]
    elif len(elements) == 2:
        user, host = elements
    else:
        return '' # Input was not in a useful format
    
    # Contact host
    
    s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    s.settimeout(5) # we get bored after N seconds
    print 'host by name'
    socket.gethostbyname(host)
    print "address info"
    socket.getaddrinfo(host, 79)
    print 'start connect:', host
    s.connect((host, 79))
    print 'connect finished'

    #print socket.getaddrinfo(host, 79)
    #s.create_connection((host, 79), timeout = 10.0)
    #s = socket.create_connection((host, 79), timeout = 5)
    
    s.send(user + "\r\n")
    result = ''
    while True:
        data = s.recv(1024)
        if len(data) == 0: break
        result += data
        
    s.close()
    # print result
    return result



print finger('ossa@nummo.strangled.net')
print finger('nummo.strngled.net')
print 'Finished'


It has a basic problem: it connects via the standard socket connect() command. Unfortunately, on both Linux and Windows, there is no way to set a timeout. This makes it inconvenient to use if you have the host wrong. connect() will eventually time out, but the delay is quite long, and you have no control over it. This makes the python code tedious to use.

Embryonic GUI for Thimbl-CLI

In addition to command-line scripting of Thimbl, I have added a little GUI tool around the CLI. Here's a little screenshot showing the latest messages, and the people I'm following:





You can see it in action for yourself by checking out the latest commits from https://github.com/blippy/Thimbl-CLI . Start the GUI by typing: python gthimbl.py . It's pretty much as easy as that. Requires wxPython, though.

Wednesday, November 24, 2010

Share selection criteria

My current favoured share selection criteria are:
  • MFI (Magic Formula Investing)
  • GR (Graham Ratio)
  • GG (Graham Gearing)
  • PIO (Piostroski score)
 I think that most of the formula above are "doable", esp. MFI , with the expection of GR, which needs to be significantly relaxed in order to work. I think that very much weakens its approach. PIO I think is also a little tricky, as you have to start stepping outside the ideal range of PTBV.

I think that an MFI-based selection criteria is quite good, as it yields a sensible universe of stocks to choose from. I'm still not 100% sure MFI is a sound investment idea.

My MFI approach is better what I would call a "take" on Greenblatt's approach. I don't really like the way he does the ranking, and I think that his Return On Capital and Earnings Yield seem unnecessarily complicated. I'm also a little worried about the theoretical underpinnings of his ROC. With that out of the way, here's my selection criteria:
MKT > £75m (market cap)
ROE > 15% (Return on Equity)
PER > 0 (P/E ratio)
PER < 15
EGP1 > 0 (Earnings Growth Projected yr 1 out)
EGP2 > 0 (Earnings Growh Projected yr 2 out)
Z >= 3 (z-score)
ROA > 7.5% (Return on Assets)

Sharelock Holmes doesn't publish ROA figures, but you can find them on Google. The ROA figure was taken from "The Little Book That Builds Wealth"., by Pat Dorsey. It is an indicator that a company has a franchise business. Together with demanding a z-core of at least 3, it acts as an additional security that the ROE hasn't been obtained by taking on massive debt. I added EGP1>0 and EGP2>0 to ensure we aren't buying dogs that we think are going to collapse.

You do get a sensible selection of shares out of the process. To help whittle them down, I suggest going down in order of descending dividend yield because hey, everyone loves a dividend. As a final check, ROA can be examined on Google to ensure it passes the requisite hurdle.

What you end up with should be quite a sensible list. You aren't buying shares that are too highly priced. You demand to see rising expected growth figures, which adds safety that you aren't buying on some current earnings anomoly, and that the market expects it to be a growing company. Also, by demaning that both EPS1 and EPS2 are positive, you tend to eliminate any timing anomolies that might be going on at year-end. I think the dividend yield helps you in two ways, too: dividends are great to receive in their own right, and they also help prevent wacky EPS anomolies.

So, I think my criteria mutually boost each other. You get a great company at a reasonable price, with positive prospects and financial health. This should help weed out a lot of the crud.

Also, take a look at a previous post I made in July 2009 of the various selectio criteria I have used in the past.

Monday, November 22, 2010

Creating servers in OS X

How to create a simple echo server in OS X. Assuming that you already have MacPorts installed (and if not, why not!), install xinetd as follows:
port install xinetd
Create the file
/Library/LaunchDaemons/org.macports.xinetd.plist
with the following contents:


 Label
 org.macports.xinetd
 OnDemand
 
 Program
 /opt/local/sbin/xinetd
 RunAtLoad
 


Edit /etc/services to include the line:
myecho  7745/tcp # mcarter's weird nonsense
Edit /etc/xinetd.conf to include:
service myecho
{
        disable         = no
        socket_type     = stream
        wait            = no
        user            = root
        protocol        = tcp
        groups          = yes
        server          = /Users/mcarter/docs/echoserv/echoserv
        port    = 7745
}
Adjust the value of server to wherever you create echoserv. Create the file echoserv:
#!/bin/bash
read
echo $REPLY
exit 0
Test it out:
telnet localhost 7745
hello world
It should print out hello world, and exit. Open port 7745 on your router, and you should be able to connect remotely.

How much do CDs cost?

Price comparisons

In May 2009, unless otherwise stated, I did a survey of prices for CDs. Here's the results:
eBuyer: Datasafe 52xCD-R 100 pack spindle: £10.53
Everest Technology: TDK 52xCD-R 50 pack spindle £7.83
GOA Office wanted to charge £11.88 for 50 CDs. I can't remember if that's net/gross and with/without discount
Insight: TDK 50xCD-R 50 pack spindle £10.34
Insight: Imation 52xCD-R 100 pack spindle £14.94
PC World: Verbatim 100 pack CDs £19.99 (June 2008)
All prices include VAT.

Sunday, November 21, 2010

PBV and PTBV by quintiles

Using Sharelock Holmes, I decided to calculate the PBV (Price to Book Value) and PTBV (Price to Tangible Book Value) for stocks listed on the LSE having a market cap of over £100M. Here are the results in quintiles:


     PBV   PTBV
P20  1.13  1.64
P40  1.80  3.89
P60  2.76  8.81
P80  4.93  NEG

SH (Sharelock Holmes) returned 589 results. Negative values were given a value of 10000. There was only one null/blank in the stats - it's incosequential for me to determine its proper treatment. The resulting scores were ranked numerically, and the quintiles stated using the normal nomenclature (e.g. P20 stands for the 20th percentile).

In the sample, 3% of the companies had negative PBV, and fully 25% of the companies had negative PTBV (hence P80 shown as "NEG").

Saturday, November 20, 2010

thingerd - a simple finger daemon for Thimbl

I have rewritten the finger daemon with an eye to improved ease-of-use,a dn being able to function on Windows. I wrote a little man page for it

thingerd

thimbl finger daemon

Author: mcturra2000@yahoo.co.uk
Date: 2010-11-20
Copyright: Public Domain
Version: 0.0
Manual section: 8
Manual group: thimbl

SYNOPSIS

thingerd.py

DESCRIPTION

thingerd (actually thingerd.py, but hereafter referred to as thingerd) is a replacement finger daemon, written in Python, that is tailored specifically for Thimbl. It is designed to take the hassle out of installing and configuring a finger daemon. It exposes very little information about the operating environment, and may this be considered beneficial from a security standpoint. It was also designed to be used, eventually, from Windows. It therefore tries not to rely too much on UNIX infrastructre.
thingerd was not written by an expert in protocol writing, SO YOU SHOULD EXERCISE CAUTION IN ITS USE. I welcome feedback from security experts as to how the program can be made more secure.

OPTIONS

thingerd accepts no options. It binds to port 79, which is the standard fingerd port.

INSTALLATION ON LINUX

This section describes one way to set up thingerd as a daemon. On UNIX there is, of course, more than one way to do it, so this section is merely a suggestion, not an absolute rule.
The recommended way is to launch thingerd as a regular user, and use authbind to gain access to port 79, which is a privileged port. You will need to install authbind. The method of installation will depend on your Linux distribution. Some typical ways: * Debian/Ubuntu: sudo apt-get install authbind
You now need to give a user (in this example, I assume the user name is ossa) permission to execute on this port:
touch /etc/authbind/byport/79
chown ossa:ossa /etc/authbind/byport/79
chmod 755 /etc/authbind/byport/79
As user ossa (or whatever), type crontab -e, and edit the crontab file to include the line:
@reboot authbind --deep /path/to/thingerd.py
This will ensure that the daemon will be started on each server reboot.
You will probably want to start the daemon immediately, too. If so, then type:
authbind --deep /path/to/thingerd.py
You should now be set up and ready to go.

INSTALLATION ON WINDOWS

This is currently untested. It should be possible to run thimbld.py from a command line. Provided that the firewall unblocks port 79 for its use, it should Just Work (TM). Setting up a service for it is a TODO item.

SEE ALSO

  • thimbl - main page for the description of thimbl

Interested?  Then visit https://github.com/blippy/Thimbl-CLI

Wednesday, November 17, 2010

Samba - old web page

Samba

How to set up samba on Linux.

Installation

On Xubuntu Dapper Drake, Samba can be installed by typing
apt-get install samba
The software is stored on the CD.


/etc/samba/smb.conf

Supposing you wanted to set up a shared folder called projects . Your smb.conf entry might contain the following fragment

workgroup = CAPCIS # or whatever workgroup you decide on
[projects]
       comment = Projects
       path = /home/shared/projects
       writeable = yes
       valid users = @users
       create mask = 2660
       directory mask = 2770

This will give users access to this directory, and they'll be able to read and write to it.

User accounts

You will probably need to create a samba account for a user:
smbpasswd -a username
You will be prompted for a password

Start/stop/restarting samba

On Xubuntu Dapper Drake, to restart samba you would type, as root:
/etc/init.d/samba restart
Starting and stopping is achieved by replacing the word restart with either start or stop .

Mounting directories

If you want to mount directories on your Linux drive that belong on remoter machines, (to use smbclientsmbmount etc.), you will also need to install package smbfs . A typcial way of doing it might be:

mkdir /mnt/projects
chmod a+w /mnt/projects
smbmount  //192.168.30.3/projects /mnt/projects -o username=NNN,password=NNN,workgroup=NNN,uid=NNN,guid=NNN

You can umount by typing
umount /mnt/aber1

Author:  Mark Carter
Created: 06-Feb-2006
Updated: 06-Sep-2006

Squid - an old web page of mine

Squid(guard)

My notes on getting started with squid and squidguard. Seeings as squid is well-documented and fairly easy to set up, the rest of this page will concentrate on squidguard - a filter for squid.

To set up on Ubuntu, you need to enable universe, the apt-get install squidguard.

Interesting files:
/usr/bin/update-squidguard

Tuesday, November 16, 2010

Stop the congestion tax

A webpage I made in 2009, but no longer think it needs to exist on my site ...


Arguments against CT (congestion tax):
  1. LACK OF GOOD ALTERNATIVES. The alternative to private transport is public transport - and we all know how good that is! Londoners, for example, must face the never-ending threat of the tube workers going on strike. Country dwellers who must drive to cities are faced with a train service which is either non-existent, or patchy at best. Let's face it: public transport is just plain rubbish, and it costs more.
  2. ROAD USAGE IS MOSTLY NON-DISCRETIONARY. Given the lack of viable alternatives, most people use their cars because they have to, not because they want to. Until people develop the art of magic yogic flying, they're just going to have to use their cars. To tax them is most unfair.
  3. IT WILL MAKE CONGESTION WORSE, NOT BETTER. Restricting access to some roads is just going to push the traffic to other roads. This will make matters worse, as the same number of cars are now trying to use fewer roads.
  4. IT'S A STEALTH TAX. It seems that the UK government's answer to everything is to put a tax on it. This is quick and easy for the government, and of course beneficial for them, but it does absolutely nothing to solve the problem. Drivers already pay a car tax - it's about time this tax was used to its full extent to improve roads.
At the end of the day, though, the simplest argument against the congestion tax is that it's totally misguided. The whole point of a system of transport is that it gets the most amount of people to where they want to go as conveniently as possible. Congestion charging is aimed at stopping people from travelling. It's not a transport policy - it's a non-transport policy. I don't see anything particularly clever or visionary about making it more burdensome for people to get from A to B - any fool can achieve that.

Monday, November 15, 2010

thimbl-cli gets a thimbl daemon

I have had had no end of trouble trying to get a finger daemon set up on my Ubuntu EC2 account. There was always something wrong. efingerd crashed on me, and there were various configuration and other problems with the other finger daemons that were available.

In the end, I decided that the simplest solution was to write my own. Thimbl-CLI now has the directory "daemon", containing all the demonic fingering that is necessary to get a daemon going. It aint pretty, but it works. Here's the README file that I wrote in the daemon directory:

How to set up a crude finger server
I have trying ubuntu, and I have been most unstatisfied with the
finger daemons on offer. Instead of going an ultra-complicated route,
I have tried to opt for about the simplest thing that will work. It is
based on the assumption that there is only one real user on the
system, and that it is only him who has a .plan file that needs to be
published.
Here's what to do:
* REDIRECT PORT 79
Normal users can't bind below port 1000, so you need to redirect it to
some other port. In this case, use port 4214. As root, type:
   iptables -t nat -A PREROUTING -p tcp --dport 79 -j REDIRECT --to-port 4214
Don't change it from 4214 without good reason, because thimbld.c is
compiled under the assumption that you will be using 4214.
Other solutions, including 'authbind', are mentioned here:
http://serverfault.com/questions/112795/how-can-i-run-a-server-on-linux-on-port-80-as-a-normal-user
Security and other problems and limitations are also discussed there.
* COMPILE THE DAEMON
You will need gcc and the include files to compile the binary. On
Slackware, this wont be a problem. On other systems, you may need to
install them. To compile, issue the command:
   gcc -o thimbld thimbld.c
thimbld.c just executes a shell script. I have chosen to wrap the
script in a C file in this way so that I have an easily idintifiable
process that I can kill.
* LAUNCH THE DAEMON
Easy enough:
   ./launch-thimbld
It's a very simple script.
* KILL THE DAEMON
When you get fed up running the daemon, issue the command
   ./kill-thimbld
That should do the trick


Except, it doesn't quite work. The kill-thimbld doesn't quite seem to kill everything. Think of thimbld as only a stop-gap solution, anyway. I just want my EC2 account to transmit my .plan file so that I can do some testing from other accounts.

In order to checkout Thimbl-CLI, visit its page at github:
https://github.com/blippy/Thimbl-CLI

Sunday, November 14, 2010

Graham Ratio: definition and statistics

I thought it was be fun to take a look at the "Graham Ratio". Here's how Sharelock Holmes defines it:
A Ratio used by Ben Graham the famous Value Investor. It is defined as the ratio of Net Current Assets minus non current liabilities to the Market Capitalisation. Graham was looking for companies with a ratio of less than two thirds. Very few shares meet his criteria these days.
Market Capitalisation /(Net Current Assets – Creditors Long – Provisions) 

I ran some numbers through their database. I pulled up all the companies in Sharelock's database with market caps >=£50M. There turned out to be 773 of them. This seemed to be suspiciously low. If you pull up all of the companies in their database, you get over 1000 of them. Quite a few of them are microscopically small: 0.5M in market cap, for example. I'm going to assume that the list of 773 is complete for the purpose of this exercise.

Of the 773 companies, 688 had non-null GRs (Graham Ratios). The null entries were banks and non-life insurance companies, plus a couple of strays. There quite a lot of banks and insurance companies on the stock market. I excluded non-nulls from further selection. The logic behind this is that if you want to apply a value-based approach to banks and insurers, then you should apply separate criteria.

439 of the 773 companies (just over half!) had negative GRs. I excluded them from further consideration - as the sheer quantity of them mean that they would dominate the percentile rankings.

So that leaves 249 companies out of 773 which have positive GRs. I ranked these companies in ascending GRs. Below I present a table of the percentile and GR:


%     GR
P05  1.0
P10  1.5
P20  2.9
P40  6.3
P60 11.2
P80 24.5

So P05 means the 5th percentile, P10 means the 10th percentile, and so on. I have concentrated on quintiles - but of course we are mostly interested in what's at the bottom of the barrel, or top, depending on how you look at it.


Here is a table of the top 20%:


EPIC Share_Name MarketCap Last_Price Sector Graham_Ratio
RCG RCG HOLDINGS 88.03 30.25 ELECTRONIC AND ELECTRICAL EQUIPMENT 0.43
BDEV BARRATT DEVELOPMENTS 765.55 79.3 HOUSEHOLD GOODS AND HOME CONSTRUCTION 0.49
GLE GLEESON (M J) 53.95 102.5 CONSTRUCTION AND MATERIALS 0.66
TW. TAYLOR WIMPEY 830.1 25.97 HOUSEHOLD GOODS AND HOME CONSTRUCTION 0.67
BVS BOVIS HOMES 452.37 339.7 HOUSEHOLD GOODS AND HOME CONSTRUCTION 0.7
BWY BELLWAY 650.71 538.5 HOUSEHOLD GOODS AND HOME CONSTRUCTION 0.82
ABBY ABBEY 91.16 370 HOUSEHOLD GOODS AND HOME CONSTRUCTION 0.82
PSN PERSIMMON 1084.57 360.2 HOUSEHOLD GOODS AND HOME CONSTRUCTION 0.87
MTVW MOUNTVIEW ESTATES 154.06 3950 REAL ESTATE INVESTMENT AND SERVICES 0.92
RDW REDROW 318.76 103.3 HOUSEHOLD GOODS AND HOME CONSTRUCTION 0.96
PMHL PROSPERITY MINERALS HOLDINGS 159.72 113 CONSTRUCTION AND MATERIALS 0.96
SGR SHORE CAPITAL 69.65 28.5 FINANCIAL SERVICES 1.01
GFRD GALLIFORD TRY 233.4 285.25 CONSTRUCTION AND MATERIALS 1.03
POL POLO RESOURCES 124.62 5.13 FINANCIAL SERVICES 1.11
BMY BLOOMSBURY PUBLISHING 85.11 115.25 MEDIA 1.18
FCCN FRENCH CONNECTION 51.04 53.25 GENERAL RETAILERS 1.19
TRE TRADING EMISSIONS 220.04 85.5 FINANCIAL SERVICES 1.19
NUM NUMIS CORPORATION 127.54 114 FINANCIAL SERVICES 1.23
RAB RAB CAPITAL 63.54 13.5 FINANCIAL SERVICES 1.3
CHNS CHINA SHOTO 59.76 256 ELECTRONIC AND ELECTRICAL EQUIPMENT 1.32
BKG BERKELEY GROUP HOLDINGS 1095.6 834.5 HOUSEHOLD GOODS AND HOME CONSTRUCTION 1.38
GFM GRIFFIN MINING 61.62 34 MINING 1.38
PLAZ PLAZA CENTERS NV 310.36 106 REAL ESTATE INVESTMENT AND SERVICES 1.47
PRX PROXIMAGEN NEUROSCIENCE 83.33 145.25 PHARMACEUTICALS AND BIOTECHNOLOGY 1.55
CWR CERES POWER 63.76 74 ELECTRONIC AND ELECTRICAL EQUIPMENT 1.76
CSR CSR 584.25 324.1 TECHNOLOGY HARDWARE AND EQUIPMENT 1.77
BLZ EMBLAZE 50.54 45.25 SOFTWARE AND COMPUTER SERVICES 1.79
CPS CPL RESOURCES 75.35 202.5 SUPPORT SERVICES 1.81
RNVO RENOVO GROUP 69.55 36.5 PHARMACEUTICALS AND BIOTECHNOLOGY 1.85
DQE DQ ENTERTAINMENT 51.79 144 MEDIA 1.94
TMW TIMEWEAVE 55.22 24.5 SOFTWARE AND COMPUTER SERVICES 1.95
EVG EVOLUTION GROUP 188.15 81 FINANCIAL SERVICES 2.07
SIG SIGNET JEWELERS 1915.64 2236 GENERAL RETAILERS 2.08
EAGA EAGA 148.97 59.25 SUPPORT SERVICES 2.1
PVCS PV CRYSTALOX SOLAR 220.81 53 ALTERNATIVE ENERGY 2.1
CLST COLLINS STEWART 197.07 79.5 FINANCIAL SERVICES 2.18
NEO NEOVIA FINANCIAL 71.36 59.5 FINANCIAL SERVICES 2.27
TFW THORPE (F W) 80.87 690 ELECTRONIC AND ELECTRICAL EQUIPMENT 2.28
ACL ACAL 65.6 230.75 SUPPORT SERVICES 2.29
BOR BORDERS AND SOUTHERN PETROLEUM 300.99 70.25 OIL AND GAS PRODUCERS 2.3
ORA ORA CAPITAL PARTNERS 70.25 106.25 FINANCIAL SERVICES 2.32
ERE EREDENE CAPITAL 50.44 18 REAL ESTATE INVESTMENT AND SERVICES 2.33
NORK NORKOM GROUP 84.87 94.5 SOFTWARE AND COMPUTER SERVICES 2.48
BVC BATM ADVANCED COMMUNICATIONS 90.24 22.5 TECHNOLOGY HARDWARE AND EQUIPMENT 2.55
PON PSION 132.14 94 TECHNOLOGY HARDWARE AND EQUIPMENT 2.61
HTG HUNTING 846.26 640 OIL EQUIPMENT - SERVICES AND DISTRIBUTION 2.66
CNKS CENKOS SECURITIES 68.93 101 FINANCIAL SERVICES 2.72
ITL INTEC TELECOM SYSTEMS 226 71.75 SOFTWARE AND COMPUTER SERVICES 2.86
KEA KEA PETROLEUM 53.41 10.5 OIL AND GAS PRODUCERS 2.92
SEY STERLING ENERGY 149.7 68.25 OIL AND GAS PRODUCERS 2.98
Interesting reading.

There are only 4 companies that satisfy Ben Graham's value criterion. Of those 4 companies, 3 are housebuilders. The whole of the top of the list is choc full of housebuilders. This is not terribly surprising considering that housebuilding has taken a tumble due to economic times, and the fact that WIP on house construction is shown as part of the current assets. Housebuilders carry a lot of WIP/stock of houses!

So, using this criterion is likely to be rather unsatisfying, and I definitely that an investor should buy a whole bunch of housebuilders. In order to produce adequate diversification, an investor will have to start selecting companies lower on the list. A cut-off of 1.5 seems to low to ensure adequate diversification. A cut-off point at around 3 would seem sensible.

My own take on this is that the basic idea is good, but I think it is very difficult to practice under current circumstances - and dangerous to practice under his strict criterion. The market is not especially high at the moment, so one would think that there would be a fair selection to choose from. However, this does not appear to be the case. The Investors Chronicle has an annual selection using the Graham Ratio idea. Alas, I can't find a reference just now. They don't apply the strict criterion - it's too limiting - but they go up to about 1.5. I suspect that they are using a better database than me. My recollection is that the performance of their model portfolios has been resoundingly excellent. I seem to recall that Stingy Investor has been running a similar portfolio for many years, and has produced returns clearly superior to the market.