TSCI.pngTSSentimentscape (TradeStation)


The TSSentimentscape analysis technique plots one or more sentiment-augmented tradescapes (sentimentscapes). These are tradescapes that have been filtered by a separate sentiment filter that is also based on expectation modeling technology. In such a filter, a target sentiment entity is processed at a specific time horizon, the sentiment length, to produce windows in time where only long or only short trades are permitted.

In a sentimentscape, the traded entity is used for the primary signal and the sentiment entity is used to generate the long-short sentiment signal. Both the sentiment and primary signals are lagged at the same lag fraction for each point in the tradescape surface. The sentiment signal is symmetric with respect to the information content used to generate the upside and downside transitions. The primary trading signal can optionally be asymmetric.

int TradedEntity (1)

This input specifies the specific data stream to be analyzed. The value 1 uses data1, 2 uses data 2, and so on. For sentimentscapes, a specific traded entity must be specified. The value cannot be 0. The TradedEntity is signaled directly for the primary entries and exits.

int SentimentEntity (2)

This input specifies a data stream that is processed to create the positive sentiment windows where only long positions are permitted, and the negative sentiment windows where only short positions are allowed. For sentimentscapes, a specific SentimentEntity must be specified. The value cannot be 0.

The SentimentEntity can be any entity that reflects the sentiment associated with the traded entity. In sentiment-augmented signaling, the entity to be traded can be different from the entity used for the sentiment signaling. When this is true, the SentimentEntity is usually an overall market index or a surrogate for such, or a sector index or ETF. When the SentimentEntity is the same as the TradedEntity, the sentiment signal draws its sentiment states from the wide-sense or more global behavior of the entity and the primary signal from a more local behavior of the entity.

int SentimentLen (0)

This is the EM Length of sentiment signal. Typical values range from 20-80. The higher the value, the longer in time the long-only and short-only windows will be. This value can be set to 0. When the length is set to 0, sentimentscapes are automatically created for sentiment EM lengths 20, 30, 40, 50, 65, 80, 100, and 125. The first panel will be the tradescape with no sentiment filtering.

The SentimentLen sets the time horizon for the wide-sense sentiment signal. Note that no sentiment filtration occurs if the EM length in the tradescape is equal to or greater than the SentimentLen. If the sentiment filtration is particularly effective, there can be an abrupt or sharp transition in the surface near the SentimentLen.

The lag added to the sentiment signal for each point in the surface will be identical in lag fraction to the lag for that point in the tradescape surface. For example, if the point in the surface has an EM length of 20 and a lag fraction of 1, and the EM length for the sentiment filter, as specified in SentimentLen, is 80, the idealized primary signal is offset by a lag of 20 and the idealized sentiment signal is offset by a lag of 80.

double Asymmetry (1.0)

The asymmetry is the ratio of the information content used for the upside transitions (turns to the upside) relative to the downside transitions (turns to the downside). A quick to enter but slow to exit long signaling system has an asymmetry less than 1. A slow to enter but fast to exit signaling system has an asymmetry greater than 1. Typical signal asymmetries are between 0.25 and 4. The turtle HH=55 LL=20 breakout system is an example of an asymmetric signaler, one that for long trades is slow to enter and fast to exit, a signal asymmetry of 55/20=2.75.

Asymmetry must be between 0.1 and 10. This is applied only to the primary signal, not to the sentiment signal which is always symmetric.

In the tradescape plot, only a single EM length is shown for the X axis. The interpretation of an EM length of 20 would be as follows for an asymmetry of 0.5. The EM signal used to generate the upside transitions (the entries for a long system) will be 20 * sqrt(0.5) = 14.142. The EM signal used for the downside transitions (the exits for a long system) will be 20 / sqrt(0.5) = 28.284. The asymmetry is thus 14.142/28.284 = 0.5. While the tradescape result is shown at an EM length of 20, the actual lengths used to generate the turns for the composite EM signal are 14.142 and 28.284. Note that the EM length assigned is not the average of the two lengths.

Note also that an asymmetry of 1.0 generates the standard (symmetric) sentimentscape.

String FileName ("")

The data within the TradeStation chart is written to a disk file that is used in a separate procedure to generate the plots and analyses. If FileName is empty, , a temporary binary data file is used to store the data and this file is automatically deleted when the window is closed. If a full path filename is specified, a persistent ASCII CSV file is written. A full valid Windows path and filename must be specified. The directory path will be created if it does not currently exist. Since a comma separated value (CSV) file is written, a CSV file extension is recommended. For example, a FileName such as "c:\data\a1.csv" is valid, even if the folder c:\data doesn't yet exist.

int WalkFwd (2520)

This is the count of bars, from last non-reserved bar backward in time, to use for the analysis. In order to accommodate all of the time horizons in a tradescape, do not set this value below 250. If a value is specified that is greater than the amount of data available in the chart, all of the data that is present is used.

int Reserved (0)

This is the count of most recent bars to reserve for any walk-forward you may wish to independently carry out. These data are disregarded in the analysis. A value of 0 processes all data through the most recent bar.

int DoShort (0)

A tradescape is normally a long-side only analysis. This value can be set to 1 to perform short side tradescapes and signal analysis.

int Degap (0)

This option removes all overnight/weekend gaps in data for instances where positions are always closed prior to a trading session's closing bar.

If Degap is 1, a check is made to see if the same day fraction of data is greater than 80%. If this criterion is met, as with hourly or finer bar densities, the gap across days is mathematically removed. The price activity from the prior day's closing bar through the end of the first bar of the next day will be zeroed. This means the two bars will share the same closing values. The adjustment is based on the differential in closing prices and is applied to the open, high, and low values as well.

The adjustment is made backward in time so that the most recent bar's close will be the current price. The removal of gaps moving backward in time can result in negative prices. In such an instance, the lowest low in the de-gapped data will be set to 0.01 and all prices will be shifted accordingly.

int InactiveAtLastBar (1)

When this variable is non-zero, the last bar in the chart will automatically trigger the computation and deactivate the analysis. A progress bar is normally drawn, but if this proves a distraction, it will be omitted if this value is set to 2. If set to 0, the analysis will not take place until the Status is toggled Off in the Format Analysis Techniques option.