A sentimentscape is a tradescape that uses sentiment-augmented signaling. This is done using what are often called trend or market sentiment filters. Such filters seek to determine the current state of the trending or market sentiment and they generate windows where all trades must be either long only or short only. We offer sentimentscapes as a separate procedure because of the immense added value this technology adds to trade signaling.

Sentiment Filters

A sentiment filter is a signaling algorithm or indicator that opens and closes permissible trading windows. It doesn't actually signal trades, but rather allows or disallows trades of a certain direction. A two-state sentiment filter will have two types of windows, long-only and short-only. A three-state sentiment filter adds a third indeterminate state where the option exists to enable both types of trades or to be fully out of market.

An example of this type of signaler is the "turtle" trading system which uses n-day range breakouts for the actual entries and exits, and a moving average crossover to set sentiment windows.

Sentiment in its Simplest Form

If we reduce sentiment-augmented signaling to its simplest form, we are merely using a two-stage signaling system with two different time horizons. The sentiment signal uses a coarser time horizon and the actual trading arises from the finer time horizon. The longer time horizon signal opens and closes the state windows while the shorter time horizon signal generates the actual entries and exits.

Since we use an ideal EM (expectation model) signaling algorithm, it is straightforward to create composite signals from two different EM time horizons. That is what is done for a sentimentscape.

Sentiment Target

There is one refinement that can make all the difference in sentiment-augmented signaling. The coarser time horizon sentiment filter is not usually applied to the entity being traded, although there is no restriction in doing so. More typically, a sentiment target will be a broad market index or a tradable surrogate. A sentiment target is sometimes a sector index or a surrogate applicable to the entity being traded. The principle is that the correlation between a tradable entity and an overall market is significant in a wide sense. When an overall country or world markets are in a sharp slide, even the strongest entities tend to get dragged along. Similarly when such an index is steadily rising, even the weakest entities have some participation.

Choosing a Sentiment Target

If one is merely interested in a two-time-horizon signaler for a given entity, the sentiment target can be the traded entity.

More generally, the target must be an entity that represents the overall market sentiment to which the entity is subject. With some experience, the selection of a sentiment target should not prove too difficult. A fundamental analyst can usually point the way, or you can try the major market and sector indices that make sense with respect to the nature of the entity.

Sentimentscape Case Study: BHP

We will first study BHP as a candidate for sentiment-augmented signaling. We start by looking at its wide-sense long tradescape:


The tradescape covers ten years (2500 bars) of daily BHP data. This is a robust tradescape when seen in this aggregate view, although we acknowledge that such could have arisen from a set of differing performance profiles across this span of time. Note that a weak high-lag signaler can do very well at certain time horizons. At lower lags there is a surprising measure of moderate performance across all time horizons. Within the 0.7 lag fraction lower limit plotted, we see only two small zones of higher performance that have an RRt reward-pain in the vicinity of 4.

The tradescape does suggest that very fast signaler had better have low lag. BHP is not an entity that can be signaled quickly without a high performance (low-lag, high accuracy) signaling algorithm. The tradescape plot seems remarkably uniform across time horizons and only softly changing across lag. To some measure all long term tradescapes will have a certain "fuzziness" from consolidating information across time.

What we will seek to do in this case study is see if we can find a higher performance region as a consequence of this two-stage sentiment augmentation.

This is the standard or symmetric tradescape where the same amount of information is used to generate both the entries and exits. Assuming one uses or is willing to use asymmetric signaling, the next step in the tradescape design process is to explore what signal asymmetry offers to BHP.


This is a set of asymmetric tradescapes. The center panel is the symmetric case. BHP is a strong entity, one where the fast-to-enter and slow-to-exit paradigm is favored over the slow-to-enter and fast-to-exit asymmetry. While we can gain some advantage by asymmetry with a higher lag signaling algorithm, we see little to recommend asymmetric signaling at intermediate to lower lags.

The next step is to view the progressive tradescape of BHP to see if signaling the order in the price movements would have resulted in favorable reward-pain across different market periods. To do this, we use the default >1 scaling. Only those zones with more reward than pain are plotted.


This progressive tradescape breaks BHP down into four periods each about 2.5 years in length. While there are a great many ways to see the variation in long term growth associated with trading BHP across time, the progressive tradescape plotted in this way offers a dramatic picture of its potential reward-pain performance across time when it is directly signaled for long trades. It is presently very hard to signal directly on BHP for more reward than pain.

We will now change the scaling of the progressive tradescape to the >U scaling to see how much the signaling improved upon the RRt reward-pain performance of the underlying.


While it is encouraging that the trading system can somewhat even things out, this is clearly a case where there has been an immense measure of variability in terms of how the market has treated this entity. Finding a common EM length and lag that would have worked consistently well across all four time periods is difficult even at very low lag. The question we now ask is whether or not sentiment-augmented signaling would have made any difference. Can we find a sentiment target and a sentiment time horizon that would have made it possible to effectively trade BHP across all of these market states using just a single setup for the primary signaler?

For these time segments, the BHP underlying RRt has consistently diminished from 6.3 through 3.8, 0.02, to -0.34. While that is certainly a red flag, it may help somewhat to look at a six panel progressive tradescape that goes back further in time to see the greater cycle that has been in play.


The next step is to select a sentiment target for BHP. We can try SPY are representative of the US market and EWA as representative of the Australian market (BHP Billiton Limited is an Australian company). We can use XLB (a materials sector ETF) for BHP's market sector. Since the company supplies the growing Asian economies, their markets may be more applicable to BHP than a US or Australian index.

The first sentiment target explored should be BHP itself. In this instance, BHP is itself the sentiment target. We thus evaluate a two-stage direct signaler of BHP. We don't have to worry about the time horizon used for the sentiment filter. Unless a sentiment EM length is specified, a sentimentscape is a set of nine different tradescapes with sentiment EM lengths of 20, 25, 30. 40, 50, 65, 80, 100, and 125. The long time horizon sentiment signal is applied at all EM lengths greater than the primary signaling length. When the primary signaling length exceeds the sentiment signal in length, the sentiment signal is not used.


Is there a benefit to signaling using two different time horizons? The sentiment lengths of 40 and 50 make it possible to have more reward than pain at lag fraction 1.0 at faster EM lengths. There is also a major improvement in performance in that very fast low-lag region. We also see instances with high sentiment EM lengths (65-125) where this self-filtering for sentiment is counterproductive. In general a two-stage signaling system should have two markedly different EM lengths. We will pick the instance where the sentiment EM length is 50. We find nearly all benefit at primary signaling EM lengths between 5-20.


It helps to compare the single stage and two stage signaling side-by-side. Viewed in this way, we see that there has been a substantial improvement at the faster time horizons. There is also now a very attractive range to target at lower lag fraction, something that did not exist without the self-filtration for sentiment.


Viewed as a 3D surface, we can more clearly see the benefit at these faster time horizons. The difference is a dramatic one.

The next step is to see if there is an overall market or sector sentiment target that offers even more of a signaling benefit. When one adds a second entity to a signaling system, the complexity increases. In most ways, a sentiment filter cannot be considered overfitting. The processing at the two different time horizons is generally independent, provided there is a sufficient difference between their respective lengths. Further, a sentiment entity is only used to open windows of specific direction for trades.

With sentiment-augmented signaling, one expects to be out of the market more because the two signalers have to align in order for a trade to take place. The RRt used in tradescape surfaces does not adjust for time in market. An RRt can improve from the numerator, or robust trend reward component, or from the denominator or retracement pain component, or both. If there is less return as a consequence of less time in market, then there has to be proportionately even less pain for the RRt to increase. Sentiment filters often achieve this since the greatest drawdowns tend to occur during periods of overall negative market sentiment.


Here we see that SPY, representing the overall US market, isn't effective at the 50 EM length of the self-filtering, but it does show promise as higher EM lengths of 65 and 80.


Although we might have expected EWA, representative of the Australian market, to map the sentiment effect for BHP, we see little evidence of such.


While it wasn't perhaps likely that a US materials ETF would mirror the sentiment in materials firms strongly supplying Asian markets, we do see that XLB dramatically improved the fast signaling low-lag region's reward-to-pain.

The Asian market hypothesis did work out as EWH and EWS in particular show effective sentiment function. One could make good arguments for why this would make sense, and so we look specifically at EWH at a very high sentiment length. Basically when the Hong Kong market is in a very wide-sense positive sentiment, we trade BHP long, and for the purpose of this sentimentscape case study, when the Hong Kong market is in a wide-sense negative sentiment, BHP must remain out of market.


We now have what we want, a scenario where we can potentially realize a very effective reward-pain with a fast, accurate, lower lag signaling system.

The last step is to view a progressive tradescape of the sentiment-augmented signaling to see if this sentiment addition to the signaling would have made it possible to trade this sweet spot across all recent historical periods. We look first at >1 scaling, plotting only zones where reward exceeds pain.


While we can't say sentiment filtration evened out the wild variability at intermediate time horizons, we do see that fast trading low-lag sweet spot in all four panels, although it looks iffy during the third panel where the financial meltdown occurred. We will take one final look using the more forgiving >0 scaling where we plot all zones where there is profit as opposed to loss.


The third panel does show a profit for this full accuracy signaler, even at relatively high lags. It is likely the unusual RRt surface comes from the many fat tail events in the financial crisis and those settings that avoided them by just happening to be out of market.

There are reasons to be concerned with the current period. The sentiment filter did not improve the lag tolerance for fast trading.

What did we achieve in this case study? We found we could add a wide-sense Asian market sentiment component to a BHP signaling system and have a fast trading low-lag sweet spot present across ten years of price history. We know that BHP is not easy to signal in the past several years and that we need a very high performance signaling system to have robustness across time. We see an entity whose time series structure is anything but constant across time. Most systems designed for trading the order in BHP, if following history, would tend to come and go in terms of efficacy. They would work, then cease working, and then work again.

Note that we do not have a real-world trading system as a consequence of this design. What we do have from the hundreds of thousands of backtests represented in this case study is an understanding of what can potentially work, where the robustness lay, and how good one will have to be in the design of the signal algorithm. We know what time horizon we likely want to trade, and we know we will need accuracy at low lag. We also know that this entity is currently in a state where the order is rather challenging to signal at fast time horizons. We know we could build a slower long term signaler, but we would have little confidence such a signaler would remain effective long term.