Investment Studio > Expressions > Functions > Indicator > EFI
float array[*][2] efi(float array[*][3] dcv)
Returns a two-column array containing dates (first column) and corresponding Elder's Force Index (EFI) values (second column). Given n input rows in dcv, n - 1 rows are returned.
dcv is a three-column array containing daily price quotes. Each row is structured as follows:
| Column # | Content |
| 1 | The quote date. |
| 2 | The day's close (last traded price). |
| 3 | The day's volume (number of traded shares). |
The array is assumed to be time-sorted, with earlier dates preceding later dates.
Automatic type conversion allows the use of date strings as arguments instead of explicit date values.
Interpretation
EFI is a momentum indicator. Its daily value is the difference between the day's close and the previous trading day's close, multiplied by the day's volume. Price moves are thus weighed proportionally to volume, resulting in a measure of the direction and strength of daily value flows in the asset under study. When EFI is positive, most of the volume is assumed to be associated with upward price movement (accumulation, indicating a demand-driven market); when EFI is negative, most of the volume is assumed to be associated with downward price movement (distribution, indicating a supply-driven market).
Note that this is not a strict result. EFI is mainly useful in the absence of tick-by-tick data showing the price and number of shares traded in each transaction over the course of the trading day (and hence the actual net flow in the asset) or at least of actual upside/downside volume data.
EFI is closely related to PVT, the main difference being that PVT is cumulative (i.e. it's a running total of daily contributions) while EFI is not. If daily price highs and lows are available, you may also want to consider ACD, EOM and MFI.
Alexander Elder, the EFI's inventor, recommended using its 2 day EMA rather than raw daily values, i.e.
=ema(efi(dcv), 2)
This is primarily useful for short term (day to day) trading; as usual, the length of the EMA should be set to match the investment horizon under consideration.
For a real life example, consider Apple (NASD:AAPL) from June 1, 2001 to December 31, 2001:

As evidenced by the charts, traders could have done worse than buying AAPL when its EMA(EFI, 20) crossed above 0 and selling when it crossed below 0. Compare the bottom chart with the corresponding OBV and PVT charts.
Example
Assuming standard US date format settings,
=efi({{"1/1/1990", 98, 1000}, {"1/2/1990", 86, 858}})
returns {{32875, -10296}}. 32875 is the date code for 1/2/1990; -10296 = (86 - 98) * 858 is the EFI on that date.