A Large Batch of New Technical Indicators

I'm quite excited about this announcement. I've personally wanted to add to our list of technical indicators for quite some time because I think they are fun to play around with, and can greatly improve an already solid investment strategy. In this post, I'll briefly go through each of the new indicators we just added so you can get started with these new features quickly. Let's go!


Beta is a measure of how volatile a stock's price is compared to the overall market, and is expressed as a ratio. Theoretically, if a stock's beta is equal to 1, that means the stock's price is just as volatile as the market, and tends to follow market price movements. A beta less than 1 means the stock is less volatile than the market, and conversely a beta greater than 1 means the stock is more volatile. Remember the inverse relationship between risk and reward though! More volatile stocks (and hence more risky) tend to have more upside potential (but also more downside as well). Use beta(1) inside any of Genovest's tools for a stock's beta.

Relative Strength Index

The relative strength index (RSI) measures the direction and magnitude of price movements, and acts as a momentum oscillator, taking on values from 0 to 100. By definition, RSI typically uses the last 14 trading days to compute it's value, so that's what Genovest uses as well. Values below 30 typically mean the stock is oversold, and values above 70 typically mean the the stock is overbought. Use rsi(1) for RSI inside any Genovest tool, and play with the 30/70 levels to see if those really are the best thresholds to use.

Money Flow Index

Very similar to RSI, the money flow index (MFI) is an oscillator indicating price momentum, but incorporates volume into the calculation as well. As such, it can be a better indicator for how well a stock is being supported. Again, similar to RSI, it uses the last 14 trading days of history, and takes on a value between 0 and 100. Overbought levels are classically found over 80, and oversold below 20, but the flexibility of Genovest lets you see and optimize these thresholds. Use mfi(1) in any tool for a stock's MFI.


Moving average convergence divergence (MACD) is a trend following momentum indicator, and is typically found in two parts: the MACD line, and the MACD Signal line. In Genovest, these are macd(1) and macdsignal(1) respectively. Classically, bullish signals are found when the MACD line crosses above the MACD Signal line, and bearish when it crosses below. In Genovest, I'd use macd(1) > macdsignal(1) and macd(2) < macdsignal(2) to select the exact day of the bullish crossover, not just any time the MACD line is above the MACD Signal line.

Fast and Slow Stochastic Oscillators

These are yet another pair of oscillators that are typically found together, and take on values from 0 to 100. The fast stochastic oscillator (sometimes called %K) shows how near the closing price is to the high or low of its 14-day trading range. Values above 80 typically indicates the current price is at the high end of its range, and below 20 is the low end. The slow stochastic oscillator (sometimes called %D) is simply the 3-period average of the fast stochastic oscillator. How the fast and slow lines work together is a bit too complicated for a quick introduction, so be on the lookout for a more in-depth blog post in the future. In the meantime, Fidelity has a decently concise article that I recommend. Use stochfast(1) and stochslow(1) in Genovest for these indicators.

Standard Deviation

Now we're really digging into the weeds. I like this! Genovest was built with mathematical flexibility at its core, so exposing something as raw as standard deviation really honors this goal, and puts the power in your hands. I'm not going to give a full statistical explanation of this essential figure, but in essence, the standard deviation communicates the amount of variation within a dataset, in this case, the adjusted closing price. For example, use stddev(20, 1) for the standard deviation over the last 20 days.

The real power comes when used in mathematical expressions. For example, use (adjclose(1) - sma(20, 1))/stddev(20, 1) to compute a stock's Z-Score. One of my favorite indicators to put on a chart are Bollinger Bands, which are sma(20, 1) + 2*stddev(20, 1) and sma(20, 1) - 2*stddev(20, 1) for the upper and lower bands. This one little metric gives you so much to play with.

Final Thoughts

As I said at the beginning of this post, this is only a small introduction to each new indicator we just added to Genovest, so be on the lookout for more in-depth articles on each of these. Until then, play around with them in Visualizer and certainly see how they affect strategies in Backtester. I'm most excited about adding these technical indicators to fundamental strategies I've already developed, for hopefully even better and more consistent returns.