Performance and Grading

The logical flow of grading a stock is more complex than one might first think.

Data Updates and Performance

GrahamValue's server stats from the last 24 hours and 7 days are given below.

As can be seen from the graphs, GrahamValue's hardware is sufficiently redundant for all normal usage.

Data Updates

The synchronized bumps in CPU and RAM usage every 2-3 days is from the Data Update, which takes about 20 hours.

The data download runs 24/7 as can be seen from the Network graphs, but the actual Update only runs once the download has completed.

Data Updates are usually run during low-load hours.

Note: The Network and Ping usage graphs are relatively scaled, and have varying y-axis limits. The actual Network limit is 400 Mbps.

Screener Queries

Screener Queries can be 30-40% slower when the Data Update is running, or during other peak-load hours.

The performance of Screener Queries is limited less by GrahamValue's hardware, but more by the complexity of data.

The time taken for a screener query depends on multiple factors - number/types of filters used, data queried, data returned etc. Text/Select filters usually take longer than Numerical filters, Text sorts may take longer than Numerical sorts, and so on.

Server Upgrade

Note the updated stats after doubling both CPU and RAM, in the middle of a Data Update.

Note that the graphs drop by half in the middle of the Data Update after the Server Upgrade, and then almost to zero after the Data Update.

Also note the spike in traffic on May 20th.

Grading Flow

The Production Source Code for assigning Graham Grades is given below.

The logical flow of grading a stock is more complex than one might first think. The system tries to assign the highest possible Intrinsic Value to each stock, or to leave it at the highest possible Graham Grade.

These two directives have a tendency to pull in opposite directions. This code is probably more than a decade old, and so the terms used are different from what is now displayed on the UI.

field_issuetype is Graham Grade.
field_optimumpricedec is Intrinsic Value.
field_quantitative_result is Intrinsic Value(%).
field_eps2011 is the current Earnings Per Share (EPS) and so on.

Please note that this flow implies that the free Classic Graham Screener may actually show some Enterprising or NCAV grade stocks in the 70-100% range of Intrinsic Value(%), but are displaying a higher Graham Grade and a lower Intrinsic Value.

This is because a stock is not downgraded unless its Intrinsic Value(%) can exceed 100% as a result of doing so.

GrahamValue's hardware is sufficiently redundant for all normal usage.

Watch Video