Atreyu Trading

US Equities Short Availability

Introduction

The US Equity Short Availability dataset by Atreyu Trading provides the available shares for open short positions in the US Equity market. The data covers 10,500 US Equities, starts in January 2018, and is delivered on a daily frequency. This dataset is created by Atreyu Trading using information from the exchanges.

This dataset depends on the US Equity Security Master dataset because the US Equity Security Master dataset contains information on splits, dividends, and symbol changes.

For more information about the US Equities Short Availability dataset, including CLI commands and pricing, see the dataset listing.

About the Provider

Atreyu Trading is a high-tech electronic brokerage connecting quantitative managers to U.S. markets founded in 2015. They offer an institutional platform, modern APIs, expert support, and competitive pricing. As a technology firm and introducing broker, Atreyu Trading focuses on systematic managers whose expertise is designing trading models, not trading infrastructure.

Getting Started

The following snippet demonstrates how to request data from the US Equities Short Availability dataset:

security.SetShortableProvider(AtreyuShortableProvider(SecurityType.Equity, Market.USA))
security.SetShortableProvider(new AtreyuShortableProvider(SecurityType.Equity, Market.USA));

Data Summary

The following table describes the dataset properties:

PropertyValue
Start DateJanuary 2018
Asset Coverage10,500 US Equities
Data DensitySparse
ResolutionDaily
TimezoneNew York

Supported Assets

To view the supported assets in the US Equities Short Availability dataset, see the Data Explorer.

Data Point Attributes

The US Equities Short Availability data is a Symbol/decimal pair.

Requesting Data

To add US Equities Short Availability data to your algorithm, set the shortable provider of each US Equity in your algorithm. The brokerage model of your algorithm automatically sets the shortable provider for each security. The AtreyuBrokerageModel includes the AtreyuShortableProvider, so you can set your brokerage model to the AtreyuBrokerageModel to add US Equities Short Availability data. If we want to extend other brokerage models, create a custom brokerage model.

class ShortAvailabilityDataAlgorithm(QCAlgorithm):

    def Initialize(self) -> None:
        self.SetStartDate(2019, 1, 1)
        self.SetEndDate(2020, 6, 1)
        self.SetCash(100000) 
        self.SetBrokerageModel(InteractiveBrokersBrokerageModelWithShortable())
        self.symbol = self.AddEquity("AAPL", Resolution.Minute).Symbol
 
class InteractiveBrokersBrokerageModelWithShortable(InteractiveBrokersBrokerageModel):
    def __init__(self) -> None:
        super().__init__()
        self.ShortableProvider = AtreyuShortableProvider(SecurityType.Equity, Market.USA)
using QuantConnect.Data.Shortable;
namespace QuantConnect
{
    public class ShortAvailabilityDataAlgorithm : QCAlgorithm
    {
        private Symbol _symbol;

        public override void Initialize()
        {
            SetStartDate(2019, 1, 1);
            SetEndDate(2020, 6, 1);
            SetCash(100000);
            SetBrokerageModel(new InteractiveBrokersBrokerageModelWithShortable());
            _symbol = AddEquity("AAPL", Resolution.Daily).Symbol;
        }
        
        public override void OnEndOfDay(Symbol symbol) =>
            Plot(symbol, "EOD", (int)((Equity)Securities[symbol]).TotalShortableQuantity.Value);
		
        public class InteractiveBrokersBrokerageModelWithShortable : InteractiveBrokersBrokerageModel
        {
            public InteractiveBrokersBrokerageModelWithShortable() : base()
            {
                ShortableProvider = new AtreyuShortableProvider(SecurityType.Equity, Market.USA);
            }
        }
    }
}

Accessing Data

To check if a security has shares available to short, call the Shortable method.

// Check if there are any shares available to short a security
var isShortable = Shortable(_symbol);

// Check if there are a certain quantity of shares available
var isShortableQuantity = Shortable(_symbol, quantity);
# Check if there are any shares available to short a security
is_shortable = self.Shortable(self.symbol)

# Check if there are a certain quantity of shares available
is_shortable_quantity = self.Shortable(self.symbol, quantity)

To check how many shares are available for a security to short, call the ShortableQuantity method.

var quantity = ShortableQuantity(_symbol);
quantity = self.ShortableQuantity(self.symbol)

To get all the symbols that are shortable and their respective shortable quantities, call the AllShortableSymbols method.

var quantityBySymbol = AllShortableSymbols();
quantity_by_symbol = self.AllShortableSymbols()

Example Applications

The US Equities Short Availability dataset enables you to accurately design strategies harnessing information about short availability. Examples include the following use cases:

  • Avoiding short orders that the brokerage will reject
  • Selecting securities based on how many shares are available to short

You can also see our Videos. You can also get in touch with us via Discord.

Did you find this page helpful?

Contribute to the documentation: