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
Definitions:
Period: It is the period chosen by the user within which the Maximum Drawdown is to be measured
Peak: These are the points at which the value of the asset reaches a level never reached since the beginning of the Period.
Trough: It is the point (after a Peak) at which the asset's value reaches its minimum level. The bottom is always associated with a specific Peak, that is, the bottom of Peak X is the lowest point comprised in the period that begins at Peak X and ends when a new Peak is reached (the new Peak is the point at which the value of the asset exceeds the value of Peak X)
Drop: the fall between a Peak and its respective Trough is the percentage change between the value of the asset at its Peak and its value in the respective Trough.
As explained below, there are two different types of Maximum Drawdown:
Maximum Drawdown (without recovery) (until February 2021 this indicator was presented in the Economatica system under the name of Maximum Loss)
It is the largest drop that can be found within the period
Maximum Drawdown (with recovery) (until February 2021 this indicator was presented in the Economatica system under the name Maximum Drawdown)
It is the largest drop that can be found within the period, but considering only the peaks that were exceeded in the period.
The following image shows the two types of Maximum Drawdown
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.
;
;