Yesterday, we shipped a change to our community search function that should improve your experience when navigating the forums.
Before, when you searched for something such as "pairs trading," you would get back results related to pairs trading strategies; however, the results would frequently be old or uninformative, but there are certainly newer, informative posts that have been created at some point.
After making some changes, within the first five search results you'll now see posts such as:
- How to Build a Pairs Trading Strategy on Quantopian?
- Questions on trading cointegrated pairs
- USO/GLD (Oil/Gold) Pairs Trading Algo using real price of Gold
Generally, these posts have updated/newer content, better discussion, more views, and notebooks/backtests included to support them.
So what does that mean for you? Well, for the most part, whether you're searching for pairs trading, robinhood, momentum, external capital, or any other specific terms, it'll be easier for you to find good content.
If you're interested in a more technical explanation, keep reading
TL;DR - When you search for something, the results you'll see will be generally newer and informative.
Changing How Posts Are Considered "Relevant"
We use Elasticsearch to index posts, and then display them here on the community. When you enter a search term or "query," Elasticsearch tries to match to the following fields
title, body, author, tags, replies, reply_authors
and produces a "relevance score." Before, when you entered certain queries, you would get results back that were scored by relevance, and only match to frequency in text fields (you can read more about how that works in Elasticsearch here), however, there are now several functions that also influence the score of the posts:
Decay; If a post is older than X number of days/months/years then instead of adding 1 to the score that's calculated by Elasticsearch, 0.1 will be added. Basically, if it's older, it's score is a bit lower.
Field Value Factors; This function takes the log of the value of the numbers of views a post has, multiplies the result by 0.01, and adds that number to the score. This usually just causes posts to switch by one or two positions with another post in the scoring; the more views that a post gets, the higher it's score will become.
A custom scoring script; Logically, the script accounts for whether a post has a notebook, has a backtest, and is interesting, and says that if the post has these things, then these are generally considered posts with better content.
How can you take advantage of this? There are two ways. The first way is when you're searching for useful posts; the quickest way to find good content is by searching for terms rather than sentences. The terms I highlighted above are good examples.
The second way is when you're writing up a post. If you have a question, for example, about fundamental data , and you're hoping to get feedback, or you're hoping to get a lot of views because you think you've found something interesting, you should do your best to include a backtest and a notebook to support your findings. If you start to get some really good discussion going, this might lead to a higher view count, and place your post up higher than someone else's.