Stock signals issued daily before market close

Investment models

The objective of this website is to run an out-of-sample test of a certain investment models. At the moment we run three models.

Key features of the investment model #1, long biased, holding period up to 5 days

The key features of the model #1 are:
  1. The model has an elements of both passive and active investing. By default, the model is invested in the market index (SPY). Whenever there is a signal for individual stock, the model allocates 20% of equity to that position with the rest of funds being invested in SPY (the allocation is 10% of equity if position is a short one).
  2. The model is not set in stone. It changes whenever we find a way to improve its performance.
  3. Trades SPDR S&P 500 ETF (SPY) and about 100 of the largest and most liquid US stocks (roughly speaking, component stocks of the S&P 100) .
  4. Does not use leverage in excess of 20% of equity.
  5. Is always fully invested.
  6. Every trading day, one minute before market close, it generates long and short signals.
  7. Holding period for both long and short positions is up to 5 days.
  8. The model is unlikely to be overfitted as it uses only a few parameters/(aka magic constants).
  9. This model is not perfect (if you have come across a model that is, please write). There have been and will be periods of underperformance.
  10. The net backtest result is that the model turned $100k into $5m (net of transaction costs) over a 20-year period from 2000 to 2020 (vs $350k if one held S&P 500 index over that period).
  11. This model can be accessed at the 'Signals' endpoint of our Market signals API

Key features of the investment model #2, long biased, holding period 1 day

Model #2 is similar to the model #1 except for:
  1. Holding period is one day.
  2. At any time holds 5 long positions and 1 or none short positions.
  3. This model can be accessed at the 'DTF' (day time frame) endpoint of our Market signals API.

Key features of the investment model #3, market-neutral, holding period 1 day

Model #3 is similar to the model #1 except for:
  1. Holding period is one day.
  2. Leverage is up to 100% of equity.
  3. At any time holds 5 long positions and 5 short positions, i.e. net exposure is nil.
  4. This model can be accessed at the 'Market neutral' endpoint of our Market signals API.

Out-of-sample performance of the models

If you would like to test our models, you would probably want to monitor their out-of-sample performance over a month or so. However, since the signals (up to 10 of them) are issued each day 1 min before market close, manually entering all those signals into a paper trading account before market close would be very difficult. The solution might be to set up an algorithmic trading for your paper trading account. It is free, but it would take about 30 min or so of your time to set it up. Here is how you might go about it:

  1. Paper trading account. Open a free account with https://alpaca.markets (or their equivalent) to have a paper trading account.
  2. Running python program as a scheduled task. There are two ways of doing it: you might run a scheduled task on your own computer (here is a detailed guidance); or you might open a free account with https://www.pythonanywhere.com (or their equivalent) and set up a scheduled task there (here is a detailed guidance). The 2nd option is easier and faster to implement.
  3. Open a free account with https://iexcloud.io (or their equivalent) to have access to real-time stock quotes.
  4. Open a free account with https://rapidapi.com to have access to the signals generated by our models (simply search for ‘Market signals’ API on https://rapidapi.com/hub, then send a message to API provider (i.e. us) – we would then invite you to test our API for 1 month for free.
  5. Set up a scheduled task (see step 2 above) to run 1 min before market close. This program (see next step) would get the signals generated by our models and provided through https://rapidapi.com and then turn them into buy and sell orders for your https://alpaca.markets paper trading account.
  6. Here is a code you might use as a scheduled task.

You are all set. You’ve got your own algorithmic trading up and running. Log in to your paper trading account 1 month later to see whether the end result is something you were looking for. If yes, you might extend your subscription to our API. If not, you might use your paper trading account and the whole algorithmic trading setup to test API signals generated by other providers or signals developed by yourself. If you get stuck somewhere along the way, send us a message through https://rapidapi.com – we might be able to help.

Happy researching!
Bargainstock.com

Out-of-sample performance of the model #1

We set up a paper trading account with Alpaca.markets on 2 April 2020 with initial equity of $100,000 and linked it to our Pro subscription plan for Market signals API to track out-of-sample performance of the model #1.

In the screenshot below, you will have noticed the jump on 30 July and fall on 20 August 2021. These are due to the fact that paper trading account at www.alpaca.markets currently does not take into account stock splits. More specifically, it did not take into account reverse stock split of GE on 30 July 2021. This was corrected by alpaca.markets on 20 Aug 2021.


Performance

Twitter timeline

Tweets by StockBargain

Disclaimer

This site is for educational and/or general information purposes only. BargainStock.com is not a broker/dealer, we are not an investment advisor. We do not give financial or investment advice. We are not regulated by the Financail Services Authority or by an equivalent authority in any country. We do not accept or assume any responsibility or liability whatsoever for what you choose to do with this information. Consult appropriate professionals before making financial or investment decision. There are no guarantees of past, present or future performance of the model. By using this site you agree that under no circumstances is/are BargainStock.com or persons associated with it responsible for any losses incurred, direct or indirect, that are incurred as a result of use of this website.