The Reversal System - Engineering Perspective

Up to: Martin Armstrong's Socrates

Introduction

A Reversal is a number with a date on which it was created. In most cases, that date is hidden, not shown in any reports. The number is associated with the time series of a financial instrument. It is taken from the past and it is supposed to be used in the future. As these numbers get created and accumulate, they need to be kept track of in a list and sorted.

There are Bullish Reversals and Bearish Reversals. They behave in the same way except in opposite directions. Let me explain the concepts with Bullish Reversals (unless noted otherwise) to avoid confusion.

When the time advances one bar and the new close price is available, then the close price is compared with the smallest Reversal in the list, the closest one. If the close price is equal or higher, then that Reversal is elected and removed from that list of active Reversals.

Martin Armstrong claims that after a Reversal is elected the price will continue in the direction of the next Active Reversal. So he gives these numbers special significance.

The Reversal System is somewhat convoluted, complicated and difficult to understand. Therefore it needs some more space to explain the technical details.

However, its implementation is surprisingly primitive so I will start with a simple description and then drill down further. It is necessary to drill down further because of the bad design of it and its bugs that are sold as features.

Warning

Martin Armstrong sells Socrates as a sophisticated comprehensive feature-rich "Platform", trying to justify its price this way. The fact that perhaps a lot of work went into making it, and the fact that perhaps it looks appealing and polished is deceptive. The fact that Martin Armstrong considered it worthwhile the effort to create it does not mean that it is useful or effective for you. It does not even mean that any of its concepts are valid even if the implementation was better, without bugs. The system is pure nonsense. It is a failed attempt based on wrong assumptions. Everybody can find all the necessary data and tools that are required to validate this fact. The facts, the data and the tools to achieve this are all in the public domain. If you have questions, you can get free support at the

Armstrong Socrates Repo

Socrates Reversals in a Nutshell

On down movements, Socrates creates Bullish Reversals, and on up movements, it creates Bearish Reversals. Let's inspect the Bullish Reversal case where we start at a high.

As early as at the 2nd down bar after the high, which might just be a single lower low, it starts creating Bullish Reversals which are values picked from 4 previous bar highs as far as 30 bars back. These are picked from what sometimes looks like previous resistance because they are bar highs.

It starts doing this early, not as one might expect at a large enough decline because it doesn't know better (no awareness of the shape of the price curve).

It often happens normally that some or all of the Reversals are so far below the current price that they get elected the moment they are created, as "Same-time Reversals". They are basically thrown away.

Then on the next bar, if it is lower, the whole process starts again while the previous bad Reversals are forgotten and so on until the new Reversals hopefully cover the range between the previous low and the high where we started. These Reversals are then kept.

Socrates hopes that the picked Reversals fill the gap between the high and the low before it so these can then be elected later if the price moves back up again.

It is a cheap trial and error method of creating some values between the last high and the low before it, without actual knowledge of that low.  All these numbers are added to a list. To make this less obvious, only some numbers of that list are shown. The selection of these numbers (filtering) is subject to manipulation.

The system does not have knowledge of anything, and it does not have to do with anything other than the above. As one might expect, there is no way to make a profit when trading based on this scheme.

The Socrates Reversal System Exposed

The following describes the internals of the Reversal System in great detail. This means that I exposed it and it is public, no longer proprietary and secret.

1) Very crude extreme detection using the comparison of 2-3 bars is applied to the time series. Reversals are generated as soon as a high or low is detected, which can be very shallow, even insignificant.

2) A simple segmentation algorithm is applied to the time window of 30 bars back from the extreme point. It splits the window into four segments of unequal size. These segments can be thought of overlapping somewhat. Within each of these segments, four reversal values are picked from bar highs or lows, one in each time segment.

That's it. Extremely primitive. It nicely even explains how double and triple reversals are generated.

Let me go into this with some more detail:

The idea is to pick reversal values from previous / projected resistance and support values because these are perceived decision points where traders are thought to focus on. The algorithm is based on the assumption that resistance values can be picked from bar high values, and support values can be picked from bar low values.

In case of bearish reversals, the value of each reversal is a fractional amount e.g. one cent, below the value of a picked bar low. So that if it is elected, this automatically implies that the previous picked low (support) is penetrated.

In case of bullish reversals, the value of each reversal is a fractional amount above the value of a picked bar high. That is done so that if the reversal is elected, this automatically implies that the previous picked high (resistance) is exceeded.

Which of the 31 price bars (including the one at the extreme point) are picked for reversals depends on some quasi random algorithm but there are frequent patterns. Socrates does a terrible job here as it often misses important decision points that are visible to the naked eye. But as it slides its 31 bar window forward over the time series and creates new sets, it eventually hits enough bars by chance anyway so it does not really matter much.

To sum it up: If you as a human being were given the task to pick four distinct resistance or support values from a set of 28 bars and adjust each one by 1 cent, then you do a far better job than Socrates. You can find these values yourself using the following procedure which easily confirms my theory in over 90% of all cases:

Here is an example with a daily aggregation period:


It is made from the reversal values (shown later) as follows:

The date of the temp high is Sep 02 2020

Reversal 1: 3468.34 picked from bar low 3468.35 4 back

Reversal 2: 3379.30 picked from bar low 3379.31 8 back

Reversal 3: 3326.43 picked from bar low 3326.44 16 back

Reversal 4: 3220.25 picked from bar low 3220.26 23 back

You can see that the reversal values are 1 cent below the low values of the picked bars.

 

Cannot do Basic Arithmetic - Fails with Addition

There is an apparent anomaly in the calculation of the reversal value from the picked value (bullish example):

As you already know, a generated bullish value should be a small fraction above the high value of the picked bar. This requires the Add computation. But the fraction that is added is not constant as expected. Let's say it should add 0.01 to a high. If for example, the picked value is 10578.1, and other bar values have 2 decimals e.g. 10622.35, then the algorithm does not seem to know that the available precision is 2 decimals for the 0.01 to add so it increments 10-fold, in this case from 10578.1 to 10578.2 compared to the other case where it increments from 10622.35 to 10622.36.

So it increments / decrements by the last decimal position it can see in that single picked value. This leads to strange inconsistencies, but this has been confirmed by observation. It shows that it is not aware of the precision in the time series but it works on numbers parsed from strings.

So it looks like the right hand does not know what the left hand is doing. But it gets worse.

2.09 + 0.01 = 3.0

If the picked value is 2.09, then sometimes it increments to 3.0 instead of 2.10 as expected. That is another bug that lets it fail to find the carry over digit it wants to increment.

All this indicates that the Reversal System was coded without testing in an environment where floating point arithmetic, something that every pocket calculator has, was not available. Perhaps the programmer who wrote the Socrates program decades ago ran away with the source code and nobody was ever able to fix this mess.

Sometimes, for some symbols, the wrong operation is performed, such as Bullish Reversals are calculated by subtracting a fraction from bar highs.

There are distinct situations where the Reversal System simply fails for conceptual reasons as follows:

Fake Success: The Strong Signal of Same-time Election

Same-time election occurs where the Reversal System defeats itself, and it defeats itself most of the time. People often think that it has bugs (defects) but the behavior is by design.

One would expect that Reversals are created only after a sufficient extreme confirmation. But it often creates reversals where no extreme can be detected at all. Consider what are called Hypothetical Reversals. It is a fancy term for the fact that the system creates all four Reversals on each bar.

If at least one of them gets elected by the current close value, then all these Reversals are published even when there is no high or low, meaning that less than four Reversals are usable, with the remainder called  Same-time Reversals which cannot be traded.

The above is a clear indication that the algorithm that picks the four reversals is as dumb as it appears to be because if it was smart, then it would avoid such a situation.

The user manual makes the following claim: (emphasis added)

Same-Time Reversals are when Tentative Reversals are crossed (below bearish or above bullish) on the closing of the same time unit in which it was generated (same day, same week, etc). This is similar to when a confirmed Active Reversal is Elected, but in this scenario it all happens in the same unit of time, and is a strong indicator that the high or low that generated the Tentative Reversals will hild in the near term.

There is a BIG problem with this, a problem which is indicative of the fraudulent nature of the entire system. After the reporting of such reversals, during the generation of the next report, any such reversals, which would otherwise stay in the report if successful, are DELETED FROM THE REPORT if they were NOT SUCCESSFUL. Technically, this is achieved by what is called "confirmation" which fails in these cases where the generating event fails to be a confirmed low or high. So effectively, this signal can never fail because any traces of failure are removed in hindsight.

This has far-reaching consequences. Anyone who tries to build statistics based on even a large number of published reversal reports, is mislead into thinking that the Reversal System could be used as a successful trading strategy because on average, unsuccessful reversals are under-represented.

For a detailed quantitative observation of this trick, see the "DJI Same day" sheet in the Daily Reversals spreadsheet file. Focus on rows where the column headed "stayed" is "no" which are the reversals that will later disappear. Here is the post that has the link to the spreadsheets and the explanation of the effect in the comments:

My collection of DJIA and SPX daily and weekly reversals

This guy "thebiggh" otherwise known as "olegrey" recorded hundreds of Daily and Weekly  Reversals for the DJI and SPX stock indices every trading day for over a year. Please take his conclusions in the comments with a grain of salt because any negative comments would have resulted in the deletion of his post. For the proof of that, see:

The reddit Armstrong Economics Fan Forum

But you don't need to take my word for this. Even the dictator of that group, that super shill LateralysYellow, confirms the disappearance and replacement of such bad Same-time Reversals here with a twist:

Short in gold? Aggregate high bar due week 10 2023 (Quote, emphasis added)

Socrates has been terribly inconsistent about reversals for Gold & Silver unfortunately. Those orange reversals were only listed December and then they disappeared and an entirely new set of monthly bullish reversals appeared. I mostly stopped trying to trade Gold for this reason. With that said the minor reversals did a fantastic job at calling the high, and it seems the hypotheticals monthly bears forecasted in February were relatively accurate.

My conclusion is that Socrates is not inconsistent at all. This behavior, although hard to get used to, is regular and by design, not limited to Gold and Silver but rather frequent everywhere including stock indices.

Immediate Reversal Election

Consider a shallow temp low with the generation of Bullish Reversals. If the current closing price at the time of that temp low is much higher than some or all picked previous highs, then some or all generated Reversals are elected immediately, and they are no longer available (labelled "same-time"). This totally defeats the purpose of the system. As an example, consider the weekly temp high of the S&P500 index SPX the week of August 31 2020. Weekly close price is 3426.96. Socrates generated 4 reversals: 2637.2, 2945.83, 3184.16, 3352.55. The close price is above all of them. To add insult to injury, the HIGHEST high of the 27 weeks before is during the current week, 3588.11. Which it failed to generate a reversal for. Total failure! No resistance values! KAPUTT! This is a direct result of that rigid brain-dead system looking with blind spots at that 28 bar history window.

Old Big Mystery Resolved: No Single Source of Truth

Since the first release of the Ask-Socrates subscription service it has shown a significant defect that has never been resolved since its creation in the 1980's: It cannot reliably create 4 Reversals for each event. Or at least it does not show all of them. To look up Reversals in the online service, one must use two different sources, the text tables and the colored graphics tables with the values on green and red buttons. These sources are in conflict with each other! Nobody knows which one is right. Once a value is missing in one, it could perhaps be found in the other and vice versa.

The self-declared guru and Socrates salesman LateralusYellow, the dictator of The reddit Armstrong Economics Fan Forum offers a solution in Need help? READ THIS FIRST as follows (emphasis added):

There are always 4, no exception. Reversals don't always show up properly in the system, but it is only a consistent issue on the daily level. And often you can at least find the missing reversals in the reversal tables in the text reports, so in the grand scheme of things the issues are minor.

This is ridiculous. There is no way that a computer system (as simple as this one that Armstrong claims never fails) would sometimes REMOVE some values (that it always creates) and not remove them other times even after decades of operation and maintenance. If there wasn't a serious issue, then Socrates would simply copy the values that are shown in the text table. The truth is most likely as follows:

Socrates has a mechanism to HIDE reversals selectively. And there is an excuse for that behavior as follows:

 


Credit of the image above goes to that fake guy LateralusYellow who posted it here in the The reddit Armstrong Economics Fan Forum

Socrates does not consistently generate 4 reversals in all situations. That's a fact. Sometimes it does 2, sometimes it does 3. Armstrong controls this via tweaks.

Useless Number Mess

One can look at these tables all day long, but they are still utterly useless as the following case demonstrates:


Credit of the image above goes to that fake guy LateralusYellow who posted it here on Sep 4 2020 in the The reddit Armstrong Economics Fan Forum 

Numbers, numbers, numbers. Irrelevant old numbers. Ambiguous numbers. Numbers, where nobody knows their age and utility. Most importantly, as you can see, there are NO Daily Active Bullish Reversals. For the reasons I have outlined above. It has already generated and elected 3 (Daily Same-Time Reversals, Sep 03 2020 in the bottom row) from that low seen on the chart and it obviously cannot do any more than 3 in this case. Please note that there is not a single green line on the chart, green lines representing Bullish Reversals. Which means you need to go to the text tables and look yourself if you ever notice, and if you are lucky enough to find that missing value.

So in case you wonder what I think about this moron LateralusYellow, I think he is as crazy and schizophrenic a liar as Martin Armstrong himself. Because in one sentence he can say "always, no exception" and in the next sentence he lectures us how to deal with the exceptions.

What it means practically

These reversals may work successfully, if the trend going forward is clear, price wise going into the anticipated direction of the previous extreme or some kind of projection. They are elected one after the other, just like following your nose - trend following.

If however, the market does NOT move in this simple fashion, but the market is in some kind of consolidation period, then the reversals are elected in a chaotic fashion and fail, as in approximately 50% of all cases.

Then you buy the high and sell the low!

That is because the reversals are near perceived resistance and support, and you are getting whip-sawed in the trend channel between them with no end in sight.

It is this situation where Martin Armstrong utilizes the ambiguous human interpretation of the Forecast Arrays to provide excuses for the failures. Here, recently Martin Armstrong produced fake user feedback about them trading AGAINST the failing reversals, praising them for doing so in his public blog. See Trading Against the Reversals.

Also, in such movements, failing weekly reversals are effectively degraded to daily reversals or any time period by providing another excuse as described here: Reversals & Timing. This really destroys any confidence in the reversals because for any decision to trade them positively there are multiple conflicting signals that negate the reversal action, invalidate them, just for the purpose of ambiguity and perfect deniability.

The Socrates system does not have any means to detect whether the market is in a mode where the reversal system works as expected or not (trending vs turning). Therefore, over time, using this system, a trading account will be depleted, basically because markets are moving sideways longer than they are declining / rising as nicely as the reversal system wants them to. Or, when the market is turning and there are no signals indicating the turn.

Stochastic fraudulent Exploitation of the Reversal System 

After careful analysis of all of the above, and some statistical analysis of the inherent dynamics and biases of the components and rules involved, it becomes apparent that the system, combined with other methods, can be used easily as a market manipulation tool to trade against the subscribers who use it. Based on the single fact alone that the system has, as I showed above, the capability to SUPPRESS important signals, such as simply hiding important reversals. For more details, see: Socrates The Market Manipulator

Now let me combine this knowledge with actual observations and an experimental implementation.
 

Prior Research and Implementation

I am re-publishing with permission here the work of decipher11. He discovered the extremely primitive segmentation algorithm which is just a simple backwards look up of previous highs and lows based on a simple number pattern. It does not hold in a number of cases because Socrates picks the highs and lows using a somewhat more complicated picking algorithm. But it is basically in line with what I wrote above, and it would need to only be extended with an additional computation.

Quote from: decipher11 on December 31, 2019, 03:25:31 AM.

Since MA is trolling this blog to try to bury any information demonstrating that Socrates is a fraud and the product of his megalomania !

This is how reversals are created - far from quantum physic as stated by Martin Armstrong - since just human intelligence can generate them quite easily

Every time the market exceeds the previous tick's high or low, a set of reversals is generated. If that new high or low is not exceeded for the next tick, that reversal stays.

There are 4 prices in a set of reversals.

These are determined from the timings 3, 5, 13, 26. (for stocks he seems to use 4, 8, 16, 23, however for the Dow he seems to be using 3, 5, 13, 26).

So if a new high is made, the low from the previous 3rd tick is a bearish reversal, the low from the previous 5th tick is another bearish reversal, the low from the previous 13th tick is another bearish reversal, and the low from the previous 26th tick is another bearish reversal.

The same is true if a new low is made, in this case the previous nth high is used. If there is a holiday and the markets were closed, that still counts as a day.

You can generate reversals yourself at all levels of time.
MA constantly says that the plebe (useful idiot) doesn't connect the dot as his system does, meaning no market move alone, everything is correlated.

Which is a cleaver observation.

BUT using Socrates you will never find any correlation, all markets are "analyzed" separately from each other .... not dot connection, no correlation.

Socrates is everything except Artificial Intelligence !

Quote from: decipher11 on February 26, 2020, 12:20:49 PM

For those interested a pinescript to use in tradingview calculating reversals multi-complex system :)

written in 10 min, can be improved with elected reversal not being displayed anymore

//@version=2
//decipher11

study("[RS]Reversal", overlay=true)


Mod = input(true, title="box checked : 3-5-13-23 Reversal (Commodities and Dow) - unchecked 4,8,16,26 Reversals (Ind Stocks)")

r1 = Mod ? 3 : 4
r2 = Mod ? 5 : 8
r3 = Mod ? 13 : 16
r4 = Mod ? 23 : 26

topl1 =  valuewhen ( high >= highest(high,13), low[r1],0)
toph1 = valuewhen ( low <= lowest(low,13), high[r1], 0)
topl12 = valuewhen (high >=highest(high,13), low[r2], 0)
toph12 = valuewhen (low <= lowest(low,13), high[r2], 0)
topl13 = valuewhen (high >=highest(high,13), low[r3], 0)
toph13 = valuewhen (low <= lowest(low,13), high[r3], 0)
topl14 = valuewhen (high >=highest(high,13), low[r4], 0)
toph14 = valuewhen (low <= lowest(low,13), high[r4], 0)



tl1 = plot(topl1, color =topl1 != topl1[100] ? na : red, linewidth=2, style=linebr, offset=0)
th1 = plot(toph1, color =toph1 != toph1[100] ? na : green, linewidth=2, style=line, offset=0)

tl12 = plot(topl12, color =topl12 != topl12[1] ? na : red, linewidth=2, style=linebr, offset=0)
th12 = plot(toph12, color =toph12 != toph12[1] ? na : green, linewidth=2, style=line, offset=0)

tl13 = plot(topl13, color =topl13 != topl13[1] ? na : red, linewidth=2, style=linebr, offset=0)
th13 = plot(toph13, color =toph13 != toph13[1] ? na : green, linewidth=2, style=line, offset=0)

tl14 = plot(topl14, color =topl14 != topl14[1] ? na : red, linewidth=2, style=linebr, offset=0)
th14 = plot(toph14, color =toph14 != toph14[1] ? na : green, linewidth=2, style=line, offset=0)

//



hey Marty, can you imagine, if I had an hour to lose I would have been able to rewrite SOCRAPS ! 

 

The Biggest Technical Problem with the Reversal System

Apart from the simple fact that the reversal system is not effective, there is yet another major problem in its implementation that is probably one of the most important reasons for its demise:

Reversals are printed in snapshot reports. The term snapshot is very important here. At each subsequent snapshot, reversals are printed, repeatedly, without a means of identification. They are only known by their values. So if the same Reversal value is picked again later in a new event, then there are two duplicates (marked with [2]) and there is no distinction. That means one does not know how old any of the reversals are. A logical and essential improvement would be to print each reversal with its generating event date, the date of the high or low that it belongs to.

Examples of problems caused by this: 

In the 2013 Gold Report, a Monthly major Bullish Reversal 1697.80 is listed without additional information. In the 2014 Gold Report, a Monthly major Bullish Reversal 1698.00 is listed without additional information.

In this case, only the knowledge of the internals of the system lets one conclude that both numbers most likely refer to the same reversal, because there is only ONE near enough high with the EXACT value 1697.8 on 2013-01-01 that could have been picked for it. The knowledge of the date of the generating low, in this case most likely 2013-06-01, would have prevented this sloppiness or limited the damage caused by it.

So the omission of the generating date really defeats the purpose of computing. Please note that gold futures prices must be taken from Armstrong's Socrates feeds for this type of analysis.

See also:

Price Predictions

Socrates Forecast Array Nonsense 

 

No comments:

Post a Comment

Note: only a member of this blog may post a comment.

The Martin Armstrong Scam on Zero Hedge

The Zero Hedge Site For those who don't know the site, zerohedge.com is a somewhat difficult to describe in a sentence. In case you don...