We have enabled several types of protections to enhance your trading experience.
- [Pattern Day Trader (PDT) Protection] (#pattern-day-trader-pdt-protection-at-alpaca)
- [Day Trade Margin Call (DTMC) Protection] (#day-trade-margin-call-dtmc-protection-at-alpaca)
Pattern Day Trader (PDT) Protection at Alpaca
In order to prevent Alpaca Brokerage Account customers from unintentionally being designated as a Pattern Day Trader (PDT), the Alpaca Trading platform checks the PDT rule condition every time an order is submitted from a customer. If the order could potentially result in the account being flagged as a PDT, the order is rejected, and API returns error with HTTP status code 403 (Forbidden).
A day trade is defined as a round-trip pair of trades within the same day (including extended hours). A buy must occur first and then a sell of the same security must come later in the day. The inverse does not make a day trade. Selling short and covering the short on the same day is also considered a day trade.
An account is designated as a Pattern Day Trader if it makes four (4) day trades within five (5) business days. Day trades less than this criteria will not flag the account for PDT.
Alpaca’s Order Rejection
Alpaca Trading platform monitors the number of day trades for the account for the past 5 business days and rejects a newly submitted orders on exit of a position if it could potentially result in the account being flagged for PDT. This protection triggers only when the previous day’s closing account equity is less than $25,000 at the time of order submission.
In addition to the filled orders, the system also takes into consideration pending orders in the account. In this case, regardless of the order of pending orders, a pair of buy and sell orders is counted as a potential day trade. This is because orders that are active (pending) in the marketplace may fill in random orders. Therefore, even if your sell limit order is submitted first (without being filled yet) and another buy order on the same security is submitted later, this buy order will be blocked if your account already has 3 day trades in the last 5 business days.
The same protection triggers in your paper trading account. It is advised to test your algorithm with the realistic balance amount you would manage when going live, to make sure your assumption works under this PDT protection as well.
For more details of Pattern Day Trader rule, please read FINRA website.
Day Trade Margin Call (DTMC) Protection at Alpaca
In order to prevent Alpaca Brokerage Account customers from unintentionally receiving day trading margin calls, Alpaca implements two forms of DTMC protection.
Day traders are required to have a minimum of $25,000 OR 25% of the total market value of securities (whichever is higher) maintained in their account.
The buying power of a pattern day trader is 4x the excess of the maintenance margin from the closing of the previous day. If you exceed this amount, you will receive a day trading margin call.
How Alpaca’s DTMC Protection Settings Work
Users only receive day trading buying power when marked as a pattern day trader. If the user is designated a
pattern day trader, the
account.multiplier is equal to 4.
Daytrading buying power cannot increase beyond its start of day value. In other words, closing an overnight position will not add to your daytrading buying power.
The following scenarios and protections are applicable only for accounts that are designated as pattern day traders.
Please check your Account API result for the
Every trading day, you start with the new
daytrading_buying_power. This beginning value is
4 * (last_equity - last_maintenance_margin). The
can be accessed through Account API. These values are stored from the end of the previous trading day.
Throughout the day, each time you enter a new position, your
daytrading_buying_power is reduced by that amount. When you exit
that position within the same day, that same amount is credited back, regardless of position’s P/L.
At the end of the trading day, on close, the maximum exposure of your day trading position is checked. A Day Trade Margin Call (DTMC) is issued the next day if the maximum exposure of day trades exceeded your day trading buying power from the beginning of that day.
buying_power value is the larger of
the basic buying power check runs on this
buying_power value, you could be exceeding your
when you enter the position if
regt_buying_power is larger than your
daytrading_buying_power at one point in the day.
The following is an example scenario:
- Your equity is $50k
- You hold overnight positions up to $100k
- Your maintenance margin is $30k (~30%), therefore your day trading buying power at the beginning of day is $80k using the calculation of
4 * ($50k - $30k)
- You sell all of the overnight positions ($100k value) in the morning, which brings your
regt_buying_powerup to $100k
- You now buy and sell the same security up to $100k
- At the end of the day, you have a $20k Day Trade Margin Call ($100k - $80k)
By default, Alpaca users have DTMC protections on entry of a position. This means that if
your entering order would exceed
daytrading_buying_power at the moment, it will be blocked, even if
regt_buying_power still has room for it. This is based on the assumption that any entering position
could be day trades later in the day.
This option is the more conservative of the two DTMC protections that our users have.
The second DTMC protection option is protection on exit of a position. This means that Alpaca will block the exit of positions that would cause a Day Trading Margin Call. This may cause users to be unable to liquidate a position until the next day.
One of the two protections will be enabled for all users (you cannot have both protections disabled). If you would like to switch your protection option, please contact our support.
We are working towards features to allow users to change their DTMC protection setting on their own without support help.
The same protection triggers in your paper trading account. It is advised to test your algorithm with the realistic balance amount you would manage when going live, to make sure your assumption works under this DTMC protection as well.