Where is the Alpha Hiding? Week 1

Hello all,

I wanted to start this week’s post of “Where is the Alpha Hiding”. Here members can post a trading strategy they have been working on. For the post feel free to include as much information concerning your strategy as you feel comfortable with sharing. The code is appreciated but not necessary.

Remember throughout the week, other community members can vote on interesting ideas/topics by liking the post(s) that is the most interesting to them. In a week (next Wednesday) we will have a winner, based on the number of likes. The winner will be featured in the weekly newsletter along with having an article on Alpaca Resources

Excited to see all the strategies and best of luck to everyone! By the way, I am planning to post an example strategy of mine, within the next day or so.

Cheers,

Jason Bohne

Check out my bot I built for alpaca trading. It has a built-in swing, daytrade, and combination strategy… https://www.robostocktrade.com/ Let me know what you think, btw it’s still in beta so there may be a few bugs…

Swing strategy: uses RSI and ATR for calculating the stop loss.
Daytrade strategy: uses RSI and Fibonacci for target levels/stops.

sofartrade1 trade2

1 Like

Hello everyone,

I wanted to share a strategy I have been working on. Disclaimer, I have created the following strategy entirely off my own ideas and it does not reflect any beliefs or views held by Alpaca.

Okay, great. So a lot of people have probably heard of r/WallStreetBets, which is a Reddit channel devoted to discussing stock picks and general market sentiment. A lot of the members of this channel practice relatively aggressive strategies that usually come along with a great deal of risk. Additionally, there is very little, if any, statistical or fundamental reasoning behind the strategies suggested.

I am in the process of implementing a sentiment analysis program based on my own keywords however in the meantime we can use Quiver Quantitative’s WSB sentiment analysis charts to pick our stocks. As I am writing this post you could see the S&P 500 performed -0.92% today while the Portfolio determined by the sentiment in WSB performed -0.97%. This difference does not seem to be significant, however, from referencing the chart on their page, you could see in times of higher volatility there can be a great discrepancy between the two.

Now that I have an idea, time to turn it into a strategy. My hypothesis is that a lot of people tend to reflect on their trading decisions after the market closes. One reason for this could be that people are not as preoccupied with trading/working during non-market hours. This can allow one to catch up on market news, read through WSB, or prepare their trades for tomorrow the night before. Therefore I believe that the WSB Sentiment from the off-market hours before the next market open can be used as a predictor for the first 30 minutes of trading the next day.

One possible way of implementing this strategy into actual code is extending the Long-Short Strategy that is currently written in Python, Go, and Javascript. First, you can either pull the sentiment scores using libraries such as VADER or TextBlob from Reddit using keywords such as the stock’s ticker or name. Another approach could be pulling the general sentiment of the market off of Quiver Quantitative however I do not think you can filter by time period yet.

Then based on the sentiment one can either long or short the equity, but only in the first 30 minutes of each trading day. For instance, you could set it up where the orders are sent in at the market open and you liquidate at 10 a.m. EST (30 minutes after the market open).

Moving forward I am planning to implement this into a paper trading strategy that I will share with the community. I am open to suggestions, feedback, questions, new ideas, etc. so please let me know your thoughts.

Jason Bohne

3 Likes

how does this determine which tickers to evaluate?

it pulls in a watchlist from finviz every 5mins based on volume

Cool cool, does your app accept paper trade keys?

I’m currently working on developing and backtesting 3 different strategies using Aplaca / Python:

The exit strategy for each of these is the same (a trailing stop loss set at 5%)

  1. “Price Rip” - basically this looks for a significant increase in price over 1min bars, accompanied by an increase in volume. The high price needs to make a new high when compared to a “trend” of previous bars. I’m playing around with the variables here (size of price increase, length of trend period, etc) and backtesting

  2. “Price Curl” - similar to the Price Rip but looks for smaller increases that are increasingly larger percent changes over a period of bars…think the beginning of a parabolic move…at least that’s the goal

  3. “RSI Oversold” - a variation of the popular mean reversion style strategies. I’m looking at buying when RSI is oversold on tickers where the intraday relative volume is above a certain threshold…the objective here is to try to pick out the “dip and rip” patterns on high volume.

Some things that I would love the communities input on:

  • Intraday Relative Volume - there is a great article I found on how to calculate this - https://stockbeep.com/how-to-calculate-relative-volume-rvol-for-intraday-trading. I have some ideas of how to go about this in my code but want to make sure that a) I’m not re-inventing the wheel here and b) the end result is executed efficiently within Python
  • I’ve thought about adding a mechanism to “Average Down” on a position before being stopped out, any advice from people with experience on this topic?

Thanks for reading!

Yes, it does! Just enter your paper trading keys into the bot to sync it with your paper trading account.

1 Like

thanks for sharing.

what time frames are you using for e.g. the 1min bars in “price rip”? do you ever try to take into account longer term data like weekly/monthly data, or are these exclusively focused on intraday?

Currently no, the only historical comparison I’m doing is against the “trend” (ex the previous 20 min bars).

I’ve thought about combining this short term alert with something more long term (like a moving average cross over on the daily or hourly chart)

I’m getting too much noise in my backtesting right now…I’m buying small pops that retrace almost immediately

thanks. noticed similar things too. will be trying to implement some of the momentum indicators you mentioned. good luck to you

Just added a new feature, the bot can now go long and short on trades… :slight_smile:

short short2

Hey Jason, this is great! Let me share something that I’m working on.

I’ve been trying to develop a strategy to trade based on people’s sentiment on MAVAN, or how I describe them as MasterCard, Amazon, Visa, Apple, Netflix.

I recently heard on “The Investors Podcast” about this idea, and I want to see if I can trade them based on various sentiment data. I haven’t quite found the right fit of datapoints, but I’ll keep you’ll updated.

Hey everyone,

And that’s a wrap on the first week of “Where is the Alpha Hiding?”. The most liked post was by @RoboTrader where they shared their trading bot used to trade through Alpaca. So far one can change which strategy the bot follows to determines trades off of along with setting the trading hours, available positions, and much more. Definitely excited to see where this will go.

Another post I found interesting was by @Brian_Krynitsky . He described three different exit strategies that one could perhaps implement into a trading algorithm.

Both @RoboTrader and @Brian_Krynitsky, feel free to reach out to me in the Alpaca Community Slack (username is Jason Bohne) where we could discuss possible articles/etc.

I am thinking that moving forward we will run “Where is the Alpha-Hiding” every other week to make sure there is enough time for people to formulate ideas/vote. Like always any feedback/suggestions/questions are welcomed and let’s keep searching for alpha everyone!

Cheers,
Jason

Disclaimer : The posts mentioned above do not reflect any beliefs or views held by Alpaca.

Curious - how you are pulling the sentiment by stock ticker over a specific time period? I did not see an API from Quiver that does this. Is there another API that provides this info? Or are you planning to scrape the Reddit feed from r/WallStreetBets. I took a quick glance at the channel and there is a bunch of images, plots, rants, random stuff. Maybe an overall market sentiment could be pulled, but data for individual stocks would be sparse, but perhaps it could be done for a handful of stocks.

Hey @akrimedes

Quiver is planning to launch an API very soon within the next couple of weeks. Once that launches I am planning to use that in my algorithm. I know libraries such as Vader or TextBlob can be used to scrape the sentiment on WSB. With these, you could target specific types of posts (such as ones with a certain number of upvotes/comments) or equities (such as ones known to be heavily retail-traded). At least from what I have seen Tesla is very popular on the forum.

Cheers,
Jason Bohne

@RoboTrader can you provide a link to the list you use from finviz and/or what filters you are using?

@Jason_Bohne_Alpaca

I read your post and my mind started racing: why not scrape TradingView’s IDEAS section? (they are ranked as well). I’ll probably attempt that as my first web scraping project after I’m done with my current bot.

Hey @Juan_Rousselot

Definitely excited to see that in action. Keep me updated! Another idea I am working on is scraping outages from Down Detector to see if that is a possible predictor when intra-day trading tech equities that are experiencing severe outages.

Cheers,
Jason

1 Like