Access to Top Gainers in Premarket

Hi, Is there any way to get access to a top gainers list during pre-market. If not then can someone suggest another API service that provides it in real-time for momentum trading. Thanks, Marcus

Interested to see whether you came up with a solution I did manage to put together a screener in javascript using alpaca’s charts.

Same for losers

Would be handy to have access to pre-market natively.

I decided to use the IBKR API as it provides complete coverage (permarket, regular, postmarket) and they have pre-built scanners callable via their API. It’s a bit rubbish that Alpaca don’t do it. Also with IBKR it was just $14.50 a month for access as long as I maintain $500 in the account, so perfect because I want to paper trade my Auto Trader first anyway.

There are things to watch out for. For example, just looking at my current portfolio, it has the premarket prices inflating my actual gains. Some show a 30% gain when, actually, there have just been some manipulative orders on the order book temporarily skewing the price out of its relative price band until there is a price correction.

You don’t want the algo picking up bags that need holding, probably actually better to just use normal charts for safety unless you can screen out the outliers.

I’m just interested in premarket gainers based on rvol and some other factors to make say 10% per trade when a ticker goes up 30%+ in premarket. That’s it. Never to hold the ticker after premarket and to sell on first hint of red. I’m going to try multiple permuuations for the buy/sell in my algo.

Give this a try

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Premarket Movers Screener - Top 25 in Each Category</title>
    <style>
        html, body {
            margin: 0;
            padding: 0;
            height: 100%;
            font-family: Arial, sans-serif;
        }
        .container {
            display: flex;
            flex-wrap: wrap;
            justify-content: space-around;
            height: 100%;
        }
        .section {
            width: 30%;
            min-width: 300px;
            margin: 10px;
            display: flex;
            flex-direction: column;
        }
        .section h2 {
            text-align: center;
            margin: 10px 0;
        }
        .tradingview-widget-container {
            flex-grow: 1;
        }
    </style>
</head>
<body>
    <div class="container">
        <div class="section">
            <h2>Top Gainers</h2>
            <div class="tradingview-widget-container">
                <div class="tradingview-widget-container__widget"></div>
                <script type="text/javascript" src="https://s3.tradingview.com/external-embedding/embed-widget-screener.js" async>
                {
                    "width": "100%",
                    "height": "100%",
                    "defaultColumn": "overview",
                    "defaultScreen": "top_gainers",
                    "market": "us",
                    "showToolbar": true,
                    "colorTheme": "light",
                    "locale": "en"
                }
                </script>
            </div>
        </div>
        <div class="section">
            <h2>Top Losers</h2>
            <div class="tradingview-widget-container">
                <div class="tradingview-widget-container__widget"></div>
                <script type="text/javascript" src="https://s3.tradingview.com/external-embedding/embed-widget-screener.js" async>
                {
                    "width": "100%",
                    "height": "100%",
                    "defaultColumn": "overview",
                    "defaultScreen": "top_losers",
                    "market": "us",
                    "showToolbar": true,
                    "colorTheme": "light",
                    "locale": "en"
                }
                </script>
            </div>
        </div>
        <div class="section">
            <h2>Most Active</h2>
            <div class="tradingview-widget-container">
                <div class="tradingview-widget-container__widget"></div>
                <script type="text/javascript" src="https://s3.tradingview.com/external-embedding/embed-widget-screener.js" async>
                {
                    "width": "100%",
                    "height": "100%",
                    "defaultColumn": "overview",
                    "defaultScreen": "most_active",
                    "market": "us",
                    "showToolbar": true,
                    "colorTheme": "light",
                    "locale": "en"
                }
                </script>
            </div>
        </div>
    </div>
</body>
</html>

Note you will need to copy and paste the code into notepad and save as index.html and open it in your browser, it pulls data from trading view using their widget screener so hopefully it’s correct.