Algorithmic complexity theory and the relative efficiency of financial markets - Updated

Financial economists usually assess market efficiency in absolute terms. This is to be viewed as a shortcoming. One way of dealing with the relative efficiency of markets is to resort to the efficiency interpretation provided by algorithmic complexity theory. We employ such an approach in order to rank 36 stock exchanges and 20 US dollar exchange rates in terms of their relative efficiency. Introduction – Informational efficiency of financial markets is a central, hot topic in finance. It is meant that if price changes fully incorporate the information in possession of all market participants such changes are unpredictable; the market in question is then said to be information efficient. Early empirical observations of the statistical properties of prices [1], [2] detected a Brownian motion. In an efficient market populated by rational agents if the price is properly anticipated then it must fluctuate randomly [3]. Such a stochastic process resembles a probabilistic model of a fair game, one in which gains and losses cancel each other out. When informed traders move to take advantage of their information, the price will move by an amount and in the direction that eliminates this advantage. As a result, there is an association between the unanticipated information obtained by the informed traders and the consequent movement of market prices. The uninformed traders can then infer from an observed price increase that some traders in the market have favorable information about the asset. Information is not wasted, and the price is a sufficient statistic for all relevant information in possession of all traders [4], [5], [6]. Thus the efficient market theory [7] is the notion that prices in financial markets promptly adjust to reflect information. After presenting an overview of market efficiency in their classic financial econometrics textbook, Campbell and coauthors [8] observed that (p. 24) the notion of relative efficiency, i.e. the efficiency of one market measured against another may be a more useful concept than the all-or-nothing (absolute) view taken by much of the traditional efficiency market literature. They made an analogy with physical systems that are usually given an efficiency rating based on the relative proportion of energy converted to work. The efficient market is an idealized concept that is unattainable, but that serves as a fundamental benchmark for measuring relative efficiency. Indeed, one must regard the efficient market hypothesis as a limiting case. In practice, prices reflect only the information for which the acquisition costs cannot outweigh the benefits. There are also transaction costs. Moreover, information may not be widely disseminated and thus reflected in prices. Following the arrival of new information, market participants may diverge from one another in how they think it will impact prices; in other words, expectations are heterogeneous. Residual inefficiencies are always present in actual markets. Such inefficiencies can introduce artificial patterns and then redundant information in real-world financial price series. Thus it is inappropriate to assess whether a given actual market is efficient or not. A proper definition of efficiency has to measure to what extent one market departs from the idealized efficient market. Algorithmic complexity theory makes a connection between the efficient market hypothesis and the unpredictable character of asset returns because a time series that has a dense amount of non-redundant information (such as that of the idealized efficient market) exhibits statistical features that are almost indistinguishable from those observed in a time series that is random [9]. As a result, measurements of the deviation from randomness provide a tool to assess the relative efficiency of a given market. Because algorithmic complexity theory cannot discriminate between trading on noise and trading on information, it detects no difference between a time series conveying a large amount of non-redundant information and a pure random process. We adopt such an approach. Considering financial markets as complex systems is already common in econophysics [10], [11]. Sharing such a perspective, here we will present a method that allows us to rank stock exchanges and currencies in terms of their relative efficiency. The absolute efficiency of stock markets has been investigated in a huge number of papers [12], [7], but we could track only three previous attempts similar to ours to deal with their relative efficiency. Shmilovici and colleagues [13] provide a test based on the insight that the compression of the efficient market time series is not possible since there are no patterns. In that case, “stochastic complexity” is highest. The stochastic complexity of a time series is a measure of the number of binary digits needed to represent and reproduce the information in the time series. The authors use the Rissanen context tree algorithm to track patterns and then compress the series of 13 stock exchange indices as well as the stock prices of the companies listed on the Tel-Aviv 25. Also, Chen and Tan [14] suggested an approach that was proved to be one particular case of that in Shmilovici et al. And Oh and coauthors [15] explicitly addressed the relative efficiency of currency markets using a tool called the approximate entropy statistic [16]. The tool aimed at tracking similar subsets in a time series. The approximate entropy statistic is strongly alignmentdependent, however, in that two parameters (lag length and the similarity criterion) must be specified a priori [17] (see also [18]). Next section will show our distinct perspective applied to a larger data base along with a simpler methodology that is based straightforwardly on the Lempel-Ziv (“deterministic”) complexity index. Lempel-Ziv algorithmic complexity – Shannon entropy of information theory implies that a genuinely random series is the limiting case where its expected information content is maximized, in which case there is maximum uncertainty and no redundancy in the series. The algorithmic (Kolmogorov) complexity of a string is given by the length of the shortest computer program that can produce the string. The shortest algorithm cannot be computable, however. Yet there are several ways to circumvent this problem. Lempel and Ziv [19] suggest a useful measure that does not rely on the shortest algorithm. Kaspar and Schuster [20] provide an easily calculable measure of the Lempel-Ziv index which runs as follows. A program first either inserts a new digit into the binary string 1, , n S s s = ... or copies the new digit to S . The program then reconstructs the entire string up to the digit r n s s < that has been newly inserted. Digit r s does not come from the substring 1 1 , , r s s − ... ; otherwise, r s could simply be copied from 1 1 , , r s s − ... . To learn whether the rest of S can be reconstructed by either simply copying or inserting new digits we take 1 r s + , and then check whether this digit belongs to one of the substrings of S , in which case it can be obtained by simply copying it from S . If 1 r s + can indeed be copied the routine goes on until a new digit (which once again needs to be inserted) appears. The number of newly inserted digits plus one (if the last copy step is not followed by inserting a digit) gives the complexity measure c of the string S . As an illustration, consider the following three strings of 10 binary digits each. A 0000000000 B 0101010101 C 0110001001 At first sight one might correctly guess that A is less random so that A is less complex than B, which in turn is less complex than C. The complexity index c agrees with such an intuition. For the string A one has only to insert the first zero and then rebuild the entire string by copying this digit; thus 2 c = , where c is the number of steps necessary to create a string. For the string B one has to additionally insert digit 1 and then copy the substring 01 to reconstruct the entire string; thus 3 c = . For the string C one has to further insert 10 and 001, and then copy 001; thus