← All Articles

Iterating and Improving – Designing a Better Stock Screener

This April 2024 design article shows the existing industry-tag screener, then proposes adding financial Conditions and saved dynamic watchlists. The condition example explains the intended AND/OR mechanism; it is not a captured saved-watchlist result.

Let's say you're looking for the most profitable biotechnology stocks. How would you find that on FinViz, and how would you find that on NexusTrade?

Click here to find the most profitable biotechnology stocks

On NexusTrade, finding this is a literal button click. No matter what industry you're interested in, from cryptocurrency to augmented reality, you can find stocks related to that industry with extremely low effort. 

The NexusTrade example begins with industry tags and sorting. The workflow below is the one I want to develop further.

The useful mechanism in this example is combining the industry selection with the requested financial metric. The proposed Conditions feature would make those predicates explicit.

Moreover, NexusTrade more accurately represents the reality that companies belong in multiple industries. Meta is more than a technology company; it's an AR-company, a social network, and an advertising company.

An investor should be able to find stocks in niche industries, and the industry a stock belongs in should be representative of reality, which means that one stock may have multiple industries. That's the key difference.

Nevertheless, I will concede that FinViz has more filtering options than what's currently available in NexusTrade...

So, I will soon fix that.

READ: I Built an Algorithmic Trading System in Rust. Here’s What I Regret.

Closing the Gap and Making a More Sophisticated Stock Screener

As you all know, NexusTrade allows users to create any strategy they can possibly imagine. You can create rules based on technicals, fundamental indicators, stock price, and more.

Creating a condition in NexusTrade

This is possible thanks to the NexusTrade “Condition.” Think of a condition like a simple question that can either be ‘yes’ (true) or ‘no’ (false). For example, we can ask: “Is Alphabet making more money now compared to its average over the past 300 days?” or “Is the price of QQQ stock currently lower than its average price over the last 30 days?”

These conditions act as decision points. Depending on their answers, our system can decide whether to act on a trading strategy.

What’s more, we can string these questions together with “and” or “or.” This way, we can make more complex decisions. For example, we might only act if Alphabet is making more money than usual AND if the SPY stock price is low, or we could act if either one of those conditions is true.

Wouldn’t it be cool if this was integrated into the stock screener?

READ: Intelligent Stock Screening using Large Language Models

Using the Screener to Create a Dynamic Watchlist

My April 2024 design goal was to reuse the existing Condition abstraction in the screener, then let users save the resulting criteria as a dynamic watchlist. The example below shows the proposed predicates; development and a recorded saved result would be separate steps.

For example, you can create a screener that filters by AI and biotechnology stocks that are profitable, make over $1 billion in revenue, and have grown in Earnings Per Share (EPS) every year for the past 3 years. After creating the screener and seeing the results, the user will be able to save this criteria to their profile and create a dynamic watchlist.

This watchlist is very powerful for several reasons. For one, it allows the investor to actually find novel investing opportunities with no effort beyond the initial configuration. One of the hardest things to do when it comes to investing is figuring out good buying opportunities. Creating a screener that does this for the user will enable them to focus more of their energy on other things.

For two, thanks to the unique power of the “condition” abstraction, users will be able to find new stocks based on the criteria they would use in the real-world. So, if they’re a trader that likes seeing the “top gainers of the day” or “stocks that hit a 52 week low”, then they get that information front and center. However, if they are an investor that likes seeing stocks that have certain fundamental metrics (like the price/free cash flow is at an all-time low), then they’ll get that information instead. This abstraction is suitable for literally all types of investors.

Finally, the watchlist will serve as a great way to engage NexusTrade users. Users will have a good reason to log onto the app everyday and become better investors. The watchlist can be made even more powerful in the long-run. For example, relevant news and stock sentiment values can be sent to the user automatically using the stocks that most interest them. Machine learning can be used to find other investing opportunities that the user might be interested in.

Overall, what do you think? Do you think incorporating Conditions into the Screener will make a more powerful tool? Once development starts, I anticipate it will take me 3-4 weeks to perfect the feature. Most of the ground work is already done, so the biggest challenges is designing the UI and seamlessly incorporating the condition abstraction into another part of the application (outside of the automated trading strategies).

Would this be useful for your investing? I'd love to hear your feedback!

Go to NexusTrade
 

Put your research to work

Create a free account to research a company, build a strategy with Aurora, or inspect a historical backtest. Choose the task you want to try.

or

Free to browse. No credit card required.

Discussion

Sign in or create a free account to join the discussion.

No comments yet.