:
Skip to end of metadata
Go to start of metadata

back-to-top

Find below the formula for calculating the indicators.

The indicators are divided into 3 categories according to the nature of the values used in their calculation.

Financial indicators

These are indicators that use in their calculation information from the financial statements. Ex: Net Margin, Return on Equity, etc.

To learn the formula of an indicator the user must open the window “Financial Indicators” and click on the question mark of the desired indicator.

Trading indicators

These are indicators that use in their calculation information from the financial statements and security prices. Ex: Price / Earnings, EV / Ebitda, etc.

 To learn the formula of an indicator the user must open the window “Trading Indicators” and click on the question mark of the desired indicator.

Technical indicators

These are indicators that use the historical price series in their calculations. Ex: Return, Volatility, MACD, etc.

 There is no specific window for displaying all Technical Indicators. Technical Indicators are presented in other windows such as Screening, Matrixx, Facsheets, Charts

 Below are the available Technical Indicator formulas.

 Under Construction: The documentation below is not yet complete. Contact our support if you do not find the formula you are looking for.

Return

The return of closing prices between the data [h] and, on the previous day, [h-1], for example is:

= 100 * (1 - (close[h] / close[h-1]))

 

Internal Rate of Return (IRR)

Vide https://en.wikipedia.org/wiki/Internal_rate_of_return

 

Simple Moving Average

 

A 5-day moving average of closing prices, for example, calculated for data [h]:

 = (close[h] + close[h-1] + close[h-2] + close[h-3] + close[h-4]) / 5

 

A 5-day moving average of volume, for example, calculated for data [h]:

 = (vol[h] + vol[h-1] + vol[h-2] + vol[h-3] + vol[h-4]) / 5

 

Exponential Moving Average

EM[t] = EM[t-1] + F * (P - EM[t-1])

where:

EM[t] = Exponential Mov.Avg.

EM[t-1] = Previous Exponential Mov.Avg.

F = 2/ (N+1), where N denotes the number of days to be calculated for EM

P = current price

 

Weighted Moving Average

WM = (P[t] * N + P[t-1] * (N-1) + P[t-2] * (N-2) + ... + P[t-N]) / N + (N-1) + (N-2) +....+ (N-N)

where:

WM = Weighted Mov.Avg.

P[t] = price

P[t-1]= previous price

N = number of days to be calculated for WM

 

Bar Chart and Candle Sticks

As discussed earlier, the technical indicators may be viewed in graphical form or numerical form in a stock guide column. However, the bar chart and candle sticks are exceptions as they can only be viewed in a graph and obviously cannot be presented in StockGuide columns

 

Stock Liquidity

= 100 * p/P * sqrt(n/N * v/V)

where:

p (small) = number of days in which there were at least 1 trade of the stock during the period

P (max) = total number of days in the period

n (small) = number of trades of the stock during the period

N (max) = total number of trades of all the stocks in the period

v (small) = volume in monetary terms of the stock in the period

V (max) = total volume in monetary terms of all the stocks in the period

 

Stock Presence

= 100 * p/P

where:

p (small) = number of days in which there were at least 1 trade of the stock during the period

P (max) = total number of days in the period

 

Average Volume$

Same as the average indicator except that the field Calculated on is already set to Volume$

 

Volatility

The calculation of Volatility for n days uses a series of closing prices of n+1 days: d0,d1,d2,d3,...,dn

= sqrt ( (sum ((Si - Sm)^2)) / n * PPA )

where:

Si = natural logarithm of (di / di-1) i = 1...n

Sm = average of S1, S2, S3,....,Sn

PPA means Periods Per Annum and is:

PPA = 252 when daily closes are used

PPA = 52 when weekly closes are used

PPA = 12 when monthly closes are used

PPA = 4 when quarterly closes are used

PPA = 1 when yearly closes are used

Bibliography: Financial Analysts Journal, nov/dec 1992

The formula above yields volatility on an annual basis. To obtain volatility on basis other than annual (period x) the formula is :

Volatility[basis.x] = Volatility[annual.basis] * sqrt ( working.days.in.period.x / 252)

 

Risk

= standard.deviation ( Close[n] / Close[n-1] - 1 ) * sqrt (PPA)

PPA means Periods Per Annum and is:

PPA = 252 when daily closes are used

PPA = 52 when weekly closes are used

PPA = 12 when monthly closes are used

PPA = 4 when quarterly closes are used

PPA = 1 when yearly closes are used

The formula above yields risk on an annual basis. To obtain risk on basis other than annual (period x) the formula is :

Risk[basis.x] = Risk[annual.basis] * sqrt ( working.days.in.period.x / 252)

 

Tracking Error

= standard.deviation ( Close[n] / Close[n-1] - Benchmark[n] / Benchmark[n-1] ) * sqrt (PPA)

PPA means Periods Per Annum and is:

PPA = 252 when daily closes are used

PPA = 52 when weekly closes are used

PPA = 12 when monthly closes are used

PPA = 4 when quarterly closes are used

PPA = 1 when yearly closes are used

The formula above yields TE on an annual basis. To obtain TE on basis other than annual (period x) the formula is :

TE[basis.x] = TE[annual.basis] * sqrt ( working.days.in.period.x / 252)

 

VAR

= ICDF ( confidence_level ) * SD * number_of_periods

where:
ICDF() is the inverse of the "cumulative distribution function"
see http://en.wikipedia.org/wiki/Normal_distribution
SD is the standard deviation of the returns per period of the time horizon
number_of_periods is the number of periods in the time horizon

 

Jensen's Alpha

= (AverageReturn - AverageReturnRF) - Beta * (AverageReturnBM - AverageReturnRF)

where:
AverageReturn is the average return of the stock being analyzed
AverageReturnRF is the average return of the risk free investment
AverageReturnBM is the average return of the benchmark
Beta is the beta of the stock being analyzed_

 

Beta

The Beta calculation is performed based on price changes of the stock and the index during a certain time interval.

= Covar [OscStock, OscIndex] / DVP [OscIndex]

where:

Covar = the Covariance function

DVP = the Standard Deviation function

OscStock = price changes of the stock

OscIndex = price changes of the index

 

Correlation

The Correlation calculation is performed based on price changes of the stock and the index during a certain time interval.

= Covar [OscStock, OscIndex] / (DVP[OscIndex] * DVP[OscStock])

where:

Covar = the Covariance function

DVP = the Standard Deviation function

 

Sharpe ratio

= (AverageReturn - AverageReturnRF) / SD

where:
SD is the standard deviation of the returns
AverageReturn is the average return of the stock being analyzed
AverageReturnRF is the average return of the risk free investment

 

Information ratio

= (AverageReturn - AverageReturnBM) / TE

where:
TE is the Tracking Error
AverageReturn is the average return of the stock being analyzed
AverageReturnBM is the average return of the benchmark

 

Treynor ratio

= (AverageReturn - AverageReturnRF) / Beta

where:
AverageReturn is the average return of the stock being analyzed
AverageReturnRF is the average return of the risk free investment
Beta is the beta of the stock being analyzed_

 

Bollinger Bands

The Bollinger Bands produce 3 values: middle band (average), upper band, and lower band. Calculation for the closing price of date[h] for n days and with standard deviation limit d:

MB = sum(close[h-i])/n

SD = sqrt(sum((close[h-i]-MB)2)/n)

UB = MB + d * SD

LB = MB - d * SD

where:

i = 0..n-1

MB = middle band (simple moving average)

UB = upper band

LB = lower band

SD = standard deviation

 

Style Analysis

The formulas for the style analysis indicators are very complex and beyond the scope of this manual. To learn more we recommend the following literature:

SHARPE. Asset allocation: management style and performance measurement. Journal of Portfolio Management, v. 18 (1992), p. 7-19.

COGGIN e FABOZZI. The Handbook of Equity Style Management. 3. ed.Wiley, 2003, p. 435-453.

MUNIZ e KISTLER. Portafolios óptimos: un ejemplo práctico. Revista Informe SENN n. 23 (1994), p. 10-12.

 

Parabolic

The Parabolic indicator consists of 2 parameters which are defined via the Parameters tab in the Economatica system and which used in the calculation (these parameters are expressed in percent terms):

- Step

- Limit

As the parabolic is calculated in a cumulative form (the value each day is dependent on the calculated value of the previous day), we employ 3 numeric variables that are maintained daily to calculate the value on the following day. These variables are:

- SAR (the value of the parabolic, which is also known as Stop And Reverse)

- EP (Extreme Point)

- AF (Adjust Factor)

Additionally, we must also track each day whether the price is moving upward or downward.Upon starting the calculation on the first day of the graph, we define the following variables:

SAR = minimum price of first day

EP = maximum price of first day

AF = Step, upward direction

Therefore, the parabolic value of the first day would be the minimum of the day (SAR), and each following day it would be assigned the calculated variable SAR.From the second day on the procedure is repeated and the value of the parabolic is assigned the SAR at the end of the procedure:

During an upward price movement:

If the Minimum price of the day is less than SAR (from the previous day), then:

- SAR = EP

- EP = Mínimum of day

- AF = Step

- price movement becomes downward, therefore the procedure for the next day will conform to that described in "During a downward price movement"

otherwise:

- if the Maximum price of the day is greater than EP, then: EP = Maximum and in the next step (A) AF will be incremented

- SAR = SAR + AF/100 * (EP - SAR)

- if SAR > minimum price of the day then SAR = Minimum

- if the Maximum price of the day is greater than EP (case A) and AF < Limit then AF = AF + Step

However, if the price movement is downward, the precedure is very similar but only in the opposite direction as described below:

If the Maximum price of the day is greater than SAR (from the previous day), then:

- SAR = EP

- EP = Maximum of day

- AF = Step

- price movement becomes upward, therefore the procedure for the next day will conform to that described in "During an upward price movement"

otherwise:

- if the minimum price of the day is less than EP, then EP = minimum and in the next step (B) AF will be incremented

- SAR = SAR - AF/100 * (EP - SAR)

- if SAR < Maximum price of the day then SAR = Maximum

- if the minimum price of the day was greater than EP (case B) and AF < Limit then AF = AF + step

The parabolic value is assigned the value SAR at the end of the procedure on each day, and the next day the entire process is repeated using the Minimum and Maximum price of this day, the variables SAR, EP and AF and the upward/downward flag from the day before. The first criteria to observe each day is whether the price movement is upward or downward, and then immediately execute the procedure as detailed above.

 

Relative Strength Index

The Relative Strength Index, for a 9-day sample, calculated for data [h]:

= 100 * highs / (highs + lows)

where:

highs[h] = average of last 9 highs

lows[h] = average of last 9 lows

high[h] = close[h] - close[h-1]

low[h] = close[h-1] - close[h]

close[h] = closing price of the day

Please Note: highs and lows cannot be negative. If a result is negative then it is truncated to 0.

 

Accumulated Relative Strength Index

The Accumulated Relative Strength Index for a N-day period calculated for date [h]:

= 100 * highs / (highs + lows)

where:

highs and lows on the first day are calculated as on the RSI

and from the second day on

highs [h] = ((highs [h-1] * (N-1)) + high [h]) / N

lows [h] = ((lows [h-1] * (N-1)) + low [h]) / N

 

Stochastics

A 5-day stochastics, for example, calculated for data [h]. Lines %K and %D calculated as follows:

%K = 100 * (close - min5) / (max5 - min5)

where:

max5 = maximum closing price in the last 5 days

min5 = minimum closing price in the last 5 days

%D = 100 * (m3close - m3min5) / (m3max5 - m3min5)

where:

m3close = average of last 3 closing prices

m3max5 = average of last 3 max5

m3min5 = average of last 3 min5

 

Slow Stochastics

Slow Stochastics, lines %K and %D calculated as follows:

%K = conventional Stochastics' %D line

%D = average of last 3 %K line values

 

Welles Wilder Direc Mov

The conventional variable names that are typically used for these calculations have been changed to avoid confusion with some of the operators used. That is:

DMP (DM positive) as opposed to DM +

DMN (DM negative) as opposed to DM -

DIP (DI positive) as opposed to DI +

DIN (DI negative) as opposed to DI -

WWDM for example, for 7 days, calculated for data[h]:

mc[h] = maximum ( high[h] - high[h-1], 0 )

mb[h] = maximum ( low[h-1] - low[h], 0 )

tr[h] = the maximum of these values

high[h] - low[h]

high[h] - close[h-1]

close[h-1] - low[h]

if (mc > mb) then dmp = mc and dmn = 0

if (mc <= mb) then dmp = 0 and dmn = mb

tr7 = average of 7 last tr

dmp7 = average of 7 last dmp

dmn7 = average of 7 last dmn

DIP = 100 * dmp7 / tr7

DIN = 100 * dmn7 / tr7

dx = 100 * abs(DIP - DIN) / (DIP + DIN)

ADX = average of 7 last dx

 

MACD

Moving Average Convergence and Divergence, for example with the following parameters, 10 and 30 days and a signal of 7 days, is calculated for data [h]:

= EMM10 - EMM30

where:

EMM10 = Exponential Moving Avg. of 10 days over closing prices

EMM30 = Exp. Mov. Avg. of 30 days over closing prices

Signal = Exp. Mov. Avg. of 7 days over C and D

 

Moving Average Oscilator

= SMA (short) - SMA (long)

where:

SMA (short) = simple moving avg. of the shorter period selected.

SMA (long) = simple moving avg. of the longer period selected.

 

Momemtum

= P - P(x)

where:

P = closing price

P(x) = closing price at x previous days

 

On Balance Volume

if Close[n] > Close[n-1] then OBV[n] = OBV[n-1] + Vol$[n]

if Close[n] < Close[n-1] then OBV[n] = OBV[n-1] - Vol$[n]

if Close[n] = Close[n-1] then OBV[n] = OBV[n-1]

Please Note: If the parameter is set, for example, to 100, the calculation is redone for every date using only just the last 100 trades.

 

Volume Accumulation

Vacc[n] = Vacc[n-1] + ((Close[n] - Low[n]) - (High[n] - Close[n])) / (High[n] - Low[n]) * Vol$[n]

where:

Vacc[n] = Volume Accumulation of data selected

Vacc[n-1] = Volume Accumulation of previous period

Please Note: If the parameter is set, for example, to 100, the calculation is redone for every date using only just the last 100 trades.

 

Trix

The N day TRIX consists of a principal Tp and a signal Ts

- calculate the N-day exponential moving average of the closing price series

- calculate the N-day exponential moving average of the resulting series from previous step

- again calculate an N-day exponential moving average of the resulting series from previous step

- use the resulting series from the triple exponentially smoothed moving average, which we call ME3, to perform the following calculation:

Tp[d] = ( ME3[d] - ME3[d-1] ) / ME3[d-1]

- Ts is the N-day exponential moving average of the series Tp

 

Maximum Drawdown

Drawdown is the decline from the maximum value to the minimum value of a price series during a selected period of time and it’s denoted in percent terms.

It is measured from the start of the decline until it reaches a new maximum. This method is used because a valley cannot be measured until a new maximum is established. Once a new maximum is found, then the percent change from the previous maximum until the minimum is calculated.

The maximum drawdown is the highest drawdown that ocurred in the period selected by the user.

 

Cases when the ratio cannot be computed

Certain stock exchanges do not disclose full pricing information, particularly omitting the following items: number of trades, monetary volume, average, and open. In these cases, indicators which rely on these items in their calculation will not be available.

Example 1: The liquidity indicator will not be available for stock exchanges which do not report number of trades.

Example 2: The candle stick will not be available for stock exchanges which do not report the open price.

 

;

;

  • No labels