MAMA Adaptive Moving Average: A Practical Guide for Indian Traders
MAMA and FAMA explained for Nifty and Bank Nifty: real alpha maths, FastLimit 0.5 vs SlowLimit 0.05, a worked Nifty trade, and Indian F&O tax.
Key Takeaways
- 1.MAMA (MESA Adaptive Moving Average) was created by John Ehlers and adapts its speed using the Hilbert Transform to measure the market's dominant cycle, not a fixed period like a 20 EMA.
- 2.The two inputs FastLimit and SlowLimit are NOT lengths. They are the upper and lower bounds on the adaptive smoothing factor alpha. The standard values are FastLimit 0.5 and SlowLimit 0.05.
- 3.An alpha of 0.5 behaves like a very fast 3 period EMA, and an alpha of 0.05 behaves like a slow 39 period EMA. MAMA slides between these two extremes automatically.
- 4.On Nifty and Bank Nifty, the real edge of MAMA is the MAMA versus FAMA crossover, which catches trends a few bars earlier than a 20 versus 50 EMA cross and hugs price tightly during fast moves.
- 5.Treat all numbers here as illustrative for learning. F&O profit is taxed as business income, equity STCG is 20 percent and LTCG above Rs 1.25 lakh is 12.5 percent. Confirm rules on NSE and with your broker before trading.
What MAMA Actually Is
The MESA Adaptive Moving Average (MAMA) was published by John Ehlers in 2001. The word MESA stands for Maximum Entropy Spectral Analysis, the signal processing method Ehlers used to estimate the market's dominant cycle. A normal moving average uses one fixed period, so a 20 EMA on Nifty is always a 20 EMA whether the index is dead flat or ripping 400 points. MAMA refuses to stay fixed. It measures, bar by bar, how fast the price phase is rotating and speeds up when a trend starts and slows down when price chops sideways.
MAMA always comes paired with a second line called FAMA (Following Adaptive Moving Average). FAMA is simply MAMA smoothed again using half of MAMA's own alpha. Think of MAMA as the fast line and FAMA as the slow line. The signals traders care about come from the crossover of these two lines, exactly the way you would use a fast and slow EMA pair, except both lines adapt their speed on their own.
This adaptive behaviour matters in India because instruments like Bank Nifty can sit in a tight 150 point range for two hours and then move 600 points in twenty minutes around a Reserve Bank of India policy line or a heavy expiry day. A fixed 20 EMA lags badly on the fast leg and whipsaws in the range. MAMA tightens up during the fast leg and loosens during the range, which is precisely what you want.
FastLimit and SlowLimit Are Alpha Bounds, Not Lengths
Here is the single most misunderstood point about MAMA, and it is the thing most short articles get wrong. The two settings you see in TradingView, Amibroker or Python, usually shown as 0.5 and 0.05, are not a fast period and a slow period. They are FastLimit and SlowLimit, the maximum and minimum allowed values of the adaptive smoothing factor called alpha. Calling them lengths is simply incorrect and will confuse you when you try to tune them.
Every exponential moving average has a smoothing factor alpha between 0 and 1. The relationship between alpha and the familiar EMA period is alpha = 2 divided by (Period + 1), which rearranges to Period = (2 divided by alpha) minus 1. Plug in the two MAMA limits and the picture becomes concrete. When MAMA runs at its FastLimit of 0.5, it behaves like a 3 period EMA. When it crawls at its SlowLimit of 0.05, it behaves like a 39 period EMA. MAMA continuously slides its alpha between these two values depending on the measured cycle phase.
| MAMA input | Alpha value | Equivalent EMA period | Behaviour |
|---|---|---|---|
| FastLimit | 0.50 | (2 / 0.50) - 1 = 3 bars | Reacts almost instantly, hugs price during fast trends |
| Mid range | 0.20 | (2 / 0.20) - 1 = 9 bars | Balanced speed, typical during a developing move |
| Mid range | 0.10 | (2 / 0.10) - 1 = 19 bars | Smooth, similar to a standard 20 EMA |
| SlowLimit | 0.05 | (2 / 0.05) - 1 = 39 bars | Very smooth, filters chop in sideways markets |
If your platform asks for FastLimit and SlowLimit, leave them at 0.5 and 0.05 first. These are not lengths you increase to slow the average down. Lowering FastLimit makes the fast line less jumpy, and raising SlowLimit makes the slow floor faster. Most India traders never need to touch them on the 15 minute or daily chart.
How MAMA Decides Its Speed: The Phase Logic
MAMA's speed is driven by how fast the market's phase angle is rotating. Ehlers runs the price through a Hilbert Transform to split it into an in phase and a quadrature component, then computes a phase angle for the current bar. He measures DeltaPhase, the change in phase from the previous bar to this bar, and floors it at 1 degree so the maths never blows up. The adaptive alpha is then calculated as alpha = FastLimit divided by DeltaPhase, and finally clamped so it can never go above FastLimit or below SlowLimit.
The intuition is clean. When a real trend kicks in, the phase rotates slowly and steadily, DeltaPhase is small, so FastLimit divided by a small number gives a large alpha. A large alpha means MAMA speeds up and tracks the trend closely. When price chops sideways, the phase whips back and forth, DeltaPhase is large, so alpha collapses toward the SlowLimit of 0.05 and MAMA goes quiet, ignoring the noise. You do not have to compute any of this by hand, but knowing the mechanism tells you exactly why MAMA tightens in trends and loosens in ranges.
- Step 1: Smooth the price using a weighted average of the last four bars to reduce noise.
- Step 2: Use the Hilbert Transform to get in phase and quadrature components and the phase angle.
- Step 3: Compute DeltaPhase, the bar to bar change in phase, floored at 1 degree.
- Step 4: alpha = FastLimit / DeltaPhase, then clamp between SlowLimit 0.05 and FastLimit 0.5.
- Step 5: MAMA = alpha times Price plus (1 minus alpha) times previous MAMA. FAMA uses half of that alpha.
A Worked Number: One MAMA Bar on Nifty
Let us compute a single MAMA update by hand so the formula stops feeling abstract. Suppose on the daily Nifty chart yesterday's MAMA value was 23,400 and today Nifty closes at 23,650, a strong trend day. The phase is rotating slowly, so the engine measures a DeltaPhase of about 1.5 degrees. The adaptive alpha is FastLimit divided by DeltaPhase, that is 0.5 divided by 1.5, which is roughly 0.33. Since 0.33 sits between 0.05 and 0.5 it is not clamped.
Now apply the EMA step. MAMA today = alpha times price plus (1 minus alpha) times previous MAMA = 0.33 times 23,650 plus 0.67 times 23,400 = 7,804.5 plus 15,678 = 23,482.5. FAMA uses half the alpha, so 0.165. FAMA today = 0.165 times 23,482.5 plus 0.835 times its previous value. With MAMA at 23,482.5 climbing above a slower FAMA, the lines have produced a fresh bullish cross. Notice that an alpha of 0.33 here is acting like a 5 bar EMA, much faster than a fixed 20 EMA, which is exactly why MAMA caught the move early. The numbers are illustrative and rounded to show the mechanism.
On that same trend day a fixed 20 EMA would have used alpha 0.095 and barely moved from 23,400 to about 23,424. MAMA used alpha 0.33 and jumped to 23,482, sitting far closer to price. When the move was real, MAMA leaned in. That responsiveness is the entire point of the indicator.
Reading MAMA and FAMA Crossovers
Forget the idea of MAMA crossing the price line, which the older version of this page suggested. The clean, tradable signal is the MAMA versus FAMA crossover. When MAMA (the fast line) crosses above FAMA (the slow line), it signals the start of an upward leg. When MAMA crosses below FAMA, it signals a downward leg. Because both lines adapt, the gap between them widens fast when a trend is strong and pinches shut when momentum dies, giving you an early heads up that the trend is stalling.
In a clear trend the two lines separate and ride parallel, with MAMA hugging price and FAMA trailing below as dynamic support. In a sideways Nifty session the two lines twist around each other producing several crosses, most of which are noise. This is why MAMA is a trend tool, not a chop tool. Use it to stay in winners and to exit when MAMA folds back through FAMA, and use a separate filter to decide whether the market is trending at all.
- Bullish: MAMA crosses above FAMA, the lines fan apart, price holds above MAMA.
- Bearish: MAMA crosses below FAMA, the lines fan apart to the downside.
- Caution: MAMA and FAMA repeatedly cross within a narrow band means the market is ranging, so stand aside.
- Exit warning: the gap between MAMA and FAMA stops widening and starts shrinking, momentum is fading.
A Full Nifty Options Trade Using a MAMA Cross
Here is a fully worked, illustrative F&O example on the Nifty 50, lot size 65. On a 15 minute chart MAMA crosses above FAMA at a Nifty spot of 23,500 with the lines fanning apart, a clean bullish trigger. Rather than buy futures, the trader buys one lot of the weekly 23,500 call at a premium of Rs 120. Cost of entry is 120 times 75 = Rs 9,000 plus charges.
Nifty trends up to 23,720 over the next two hours. MAMA stays above FAMA the whole way and the trader exits when the gap between the lines starts pinching shut, selling the call at a premium of Rs 210. Exit value is 210 times 75 = Rs 15,750. Gross profit is 15,750 minus 9,000 = Rs 6,750 before costs. Now subtract realistic costs: STT on options is charged at 0.1 percent on the sell side premium, so 0.1 percent of 15,750 is about Rs 16. Brokerage at a flat Rs 20 per order on two legs is Rs 40. Exchange transaction charges, GST at 18 percent on brokerage and STT, SEBI fees and stamp duty together add roughly Rs 60 to Rs 90. Total charges land near Rs 130, leaving a net profit of about Rs 6,620 on a Rs 9,000 outlay.
| Item | Value |
|---|---|
| Instrument | Nifty weekly 23,500 CE, lot 65 |
| MAMA cross above FAMA at spot | 23,500 |
| Buy premium | Rs 120 (cost Rs 9,000) |
| Exit premium when MAMA-FAMA gap pinches | Rs 210 (value Rs 15,750) |
| Gross profit | Rs 6,750 |
| STT, brokerage, GST, exchange and stamp | approx Rs 130 |
| Net profit (illustrative) | approx Rs 6,620 |
Profit from F&O is treated as business income in India and taxed at your slab rate, not at the 20 percent equity STCG rate. There is no separate capital gains rate for options trading. Keep a trade log because business income lets you set off losses and claim expenses, subject to audit thresholds. This is general information, not tax advice.
MAMA Versus a Standard 20 and 50 EMA Cross
Most Indian traders already know the 20 over 50 EMA crossover. MAMA is best understood as the adaptive cousin of that setup. The table below compares them on the things that actually matter intraday on Nifty and Bank Nifty, so you can decide whether MAMA earns a slot on your chart.
| Feature | 20 / 50 EMA cross | MAMA / FAMA cross |
|---|---|---|
| Speed in a fast trend | Fixed, lags the move | Speeds up to a 3 to 5 bar feel, leans into the move |
| Behaviour in a range | Many whipsaw crosses | Slows toward a 39 bar feel, fewer crosses |
| Signal lag | Higher, you enter late | Lower, you enter a few bars earlier |
| Settings to tune | Two periods (20 and 50) | Two alpha limits (0.5 and 0.05), rarely changed |
| Best market | Strong sustained trends | Trends that start and stop, like expiry day Bank Nifty |
| Weakness | Late and choppy | Still fires false crosses in a dead range |
The honest summary is that MAMA gives you earlier entries and cleaner trailing in markets that swing between trend and chop, which describes Indian indices well. It does not magically remove false signals in a flat market. If Nifty is stuck in a 60 point box, MAMA and FAMA will still tangle, so you need a regime filter to switch the strategy off.
Practical Settings and Timeframes for Indian Markets
Keep the defaults of FastLimit 0.5 and SlowLimit 0.05 as your starting point on every timeframe. They are sensible across instruments and you should change them only after you have backtested a specific change. The real lever you control on Indian charts is the timeframe, not the alpha limits. For positional swing trades on Nifty, Reliance or HDFC Bank, use the daily chart. For intraday index trading on Nifty and Bank Nifty, the 5 minute and 15 minute charts give the best balance of signal and noise.
- Positional swing on stocks and indices: daily chart, default 0.5 and 0.05.
- Intraday index trend trades: 15 minute chart for the trend, 5 minute for entries.
- Scalping Bank Nifty: 3 or 5 minute chart, but expect more false crosses and tighter stops.
- If you must adjust, lower FastLimit toward 0.4 to calm a jumpy fast line on noisy 1 minute charts.
- Never raise SlowLimit so high that the slow line stops being slow, you lose the smoothing benefit.
A common and robust workflow is to use MAMA over FAMA on the 15 minute chart to define the trend direction, then drop to the 5 minute chart and take only trades in that direction when the 5 minute MAMA also turns up. This multi timeframe alignment cuts down on the range bound whipsaws that plague any single timeframe moving average system on Indian indices.
Combining MAMA With Other Tools
MAMA tells you direction and speed, but it does not measure whether a market is trending or ranging, and it does not measure overbought or oversold conditions. Pair it with a momentum or volume tool to confirm. A reliable combination on Indian indices is MAMA over FAMA for direction, the Relative Strength Index above 50 to confirm bullish momentum, and rising volume to confirm participation. Take the long only when all three agree.
A second useful filter is ADX. Because MAMA's weakness is the flat market, an ADX reading above roughly 20 to 25 tells you a trend is present and the MAMA cross is worth taking, while an ADX below 20 tells you to ignore the crosses. This directly patches the one structural flaw of an adaptive moving average, which is that it still fires in a dead range. Always size positions with proper risk management rather than trusting any single indicator.
- MAMA over FAMA for direction, RSI above 50 for momentum, rising volume for confirmation.
- Add ADX above 20 to 25 as a trend filter so you skip MAMA crosses in flat markets.
- Use the previous swing low below MAMA as a logical stop loss, not a random fixed number.
- Confirm on a higher timeframe before committing real size.
Limitations and the Honest Catch
MAMA is adaptive, not psychic. Its core weakness is the sideways market. When Nifty drifts in a narrow range, the phase rotates erratically, alpha drops to the SlowLimit floor, and MAMA and FAMA repeatedly cross by tiny amounts. Each of those crosses can look like a signal and each can lose you a small amount in premium decay and costs. Across a flat afternoon those small losses add up, so a regime filter is not optional, it is essential.
The second limitation is implementation differences. The Hilbert Transform that MAMA uses has a warm up period, so the first 30 to 40 bars after you load a chart are unreliable, and two platforms can show slightly different MAMA values because of how they handle that warm up and the initial smoothing. Always let enough history load and never compare MAMA values across two tools as if they must match to the rupee.
| Market condition | What MAMA does | Your action |
|---|---|---|
| Strong trend | Speeds up, hugs price, lines fan apart | Follow MAMA over FAMA, trail the stop under MAMA |
| Sideways range | Slows down but still tangles, many tiny crosses | Use ADX filter, stand aside, do not trade every cross |
| First 30 to 40 bars after load | Warm up, values unreliable | Wait for the indicator to settle before acting |
Sources and Further Reading
MAMA was first published by John Ehlers in his September 2001 article and later in his book Rocket Science for Traders. For Indian market mechanics, contract specifications, lot sizes and charges, refer to Zerodha Varsity, Investopedia and NSE India. Always confirm current STT rates, lot sizes and expiry rules on the official NSE source and with your broker before you trade.
Sources and Further Reading
For authoritative data and further reading on this topic, refer to Zerodha Varsity, Investopedia and NSE India. Always confirm current rules, rates and contract specifications on the official source before you trade.
Related Topics
Related Articles
Understanding the Outside Bar in Indian Markets
Outside bar candlestick pattern explained for Indian traders, with a real dated Reliance example, options math, charges and F and O tax rules.
Understanding the Vertical Horizontal Filter in Indian Markets
How the VHF spots trending vs ranging Nifty, with real NSE regimes, a worked calculation, option tactics, and Indian F&O tax rules.
Understanding the Diamond Top Pattern in Indian Markets
Spot the diamond top reversal on Bank Nifty with a dated Oct 2024 example, options P&L in rupees, targets, stops and Indian F&O tax rules.
RSI 2 Period Strategy for Indian Markets
The RSI(2) mean reversion strategy for Indian markets: 200 DMA filter, exact entry and exit rules, and worked Reliance and Bank Nifty rupee examples.
Understanding Trading Psychology in Indian Markets
Learn trading psychology for Indian markets with a worked Nifty options example showing how fear and greed turned a Rs 3,600 loss into Rs 16,500.
Understanding Trading Terminals in Indian Markets
What a trading terminal is, how Kite, NEST and ODIN compare, plus a worked Nifty options example, lot sizes, margins and Indian tax rules.
The trading journal built for Indian F&O traders. Track your trades, spot patterns, build discipline.
- Log one trade a day by hand, on purpose
- AI mentor finds your repeat mistakes
- Behavioural analytics catch tilt early
- Trading calendar with P&L heatmap
- Pre-trade checklist flags risks
Yearly ₹2,499 · No broker credentials