Trading violations

📘

This page discusses features principally used when DriveWealth’s Account Management product is enabled. Partners managing customers on their own won’t have these workflows available.

When placing trades in a brokerage Account there are two types of Violations a customer can incur, dependent on their Account type. Each of these Violations carry different penalties and are caused by different trading activity.

  • Good Faith Violation (GFV): Only applicable to cash Accounts
  • Pattern Day Trading Violations (PDT): Only applicable to margin and limited purpose margin Accounts
    Refer to Enabling leverage to learn more about types of Accounts.

Good Faith Violations

In a cash Account, a customer can reinvest funds immediately after a sale. For example, imagine a customer has no cash in their Account, and then sells their stock:

POST /back-office/orders 
{
  "accountNo": "DWPH000003",
  "orderType": "MARKET",
  "symbol": "AAPL",
  "side": "SELL",
  "clientNotes": "Manual limit order",
  "amountCash": 400,
}

This Account now has cash available to trade, but not to withdraw, and cash is pending settlement from this stock sale:

GET /back-office/accounts/{accountID}/summary/money
{
  "accountID": "35fae684-4a96...",
  "accountNo": "ABCD000040",
  "tradingType": "CASH",
  "updated": "2021-04-23T18:41:32.440Z",
  "cash": {
    "cashAvailableForTrade": 400,
    "cashAvailableForWithdrawal": 0,
    "cashBalance": 400,
    "noBuyingPowerReason": null,
    "cashSettlement": [
      {
        "utcTime": "2021-04-27T13:30:00.001Z",
        "cash": 400
      }
    ],
    "pendingPaymentsAmount": 0
  },
  ...
}

Every asset settles with a different time period. Equity sales, for example, settle 2 business days after the trade is executed.

By default, this customer is allowed to purchase more stock with this cash, even though it is pending settlement. However, if they do so, they may not sell the new Position before this cash settles. Doing so would be a Good Faith Violation and would be listed in the Violations endpoint:

{
    "goodFaithViolations": [
        {
            "id": "KA.6ce5e920-b1cc-4c82-bc45-1a6b1d5b8301",
            "symbol": "AAPL",
            "qty": 0.70802817,
            "amount": 100.54,
            "side": "BUY",
            "createdWhen": "2023-01-23T23:26:52.049Z",
            "orderID": "KA.6ce5e920-b1cc-4c82-bc45-1a6b1d5b8301",
            "orderNo": "KAXA004278",
            "violatingSells": [
                {
                    "side": "SELL",
                    "qty": 0.70802817,
                    "amount": 100.54,
                    "createdWhen": "2023-01-23T23:27:26.050Z",
                    "orderID": "KA.b64a40d6-c7fe-46e5-9996-7a2b5b378035",
                    "orderNo": "KAGE004920"
                }
            ]
        }
    ],
    "patternDayTrades": null,
    ...
}

An Account that commits Good Faith Violations will no longer be able to reinvest funds from sales until the sale settles. A special restricted flag will be set to true on the Account indicating this behavior.

Pattern Day Trades

In a margin or LPMA Account, US regulations prohibit regular day trading, unless the customer holds a certain amount of assets (currently $25,000) in their Account.

A day trade is defined as a buy and sell of the same security in one trading day. When this occurs, the Violations API will update to show the transactions that created a day trade:

GET /back-office/accounts/{accountID}/violations

{
    "goodFaithViolations": null,
    "patternDayTrades": [
        {
            "id": "KA.8a1d2307-2c7e-49c9-abba-e7db653ec129",
            "symbol": "XOM",
            "qty": 2,
            "amount": 222.48,
            "side": "BUY",
            "createdWhen": "2023-01-24T15:45:03.299Z",
            "orderID": "KA.8a1d2307-2c7e-49c9-abba-e7db653ec129",
            "orderNo": "KANA070662",
            "violationSells": [
                {
                    "qty": 2,
                    "amount": 222.48,
                    "createdWhen": "2023-01-24T15:45:17.572Z",
                    "orderID": "KA.e4699a74-4d8f-4f58-9fa1-f94f1d0c3763",
                    "orderNo": "KASQ070923",
                    "side": "SELL"
                }
            ]
        }
    ],
    ...
}

The Violations endpoint takes a few minutes after a sell order was executed to detect and report a new day trade.

Under the Pattern Day Trading rules, a customer is marked a Day Trader once they have made more than 3 day trades in a rolling 5-business-day period. For this reason, day trades will disappear from the Violations API once 5 days have elapsed from the date of the transaction.

If the customer does day trade more than 3 times, their Account will automatically be labeled a Day Trader Account, which can be seen in the Account API and via Events:

{
	"id": "event_63961985-c127-40dc-87d5-af227d449313",
	"type": "accounts.updated",
	"timestamp": "2022-12-12T20:46:20.067968989Z",
	"payload": {
		"previous": {
			"pdt": {
				"pdtRestricted": false,
				"patternDayTrader": false,
				"pdtRestrictedWhen": null
			}
		},
		"current": {
			"pdt": {
				"pdtRestricted": false,
				"patternDayTrader": true,
				"pdtRestrictedWhen": null
			}
		},
		"accountID": "a1160572-3da7...",
		"accountNo": "ABCD000096",
		"userID": "a1160572-3da7..."
	}
}

After an Account is marked as a Day Trader, any further day trade requires a minimum of $25,000 of assets held in the Account (either cash, securities, or both). If a day trade is done without meeting this requirement, the Account is blocked from entering new purchase Orders for 90 calendar days.

{
	"id": "event_565711f7-2c4d-4342-b7e7-6a08d4540632",
	"type": "accounts.updated",
	"timestamp": "2022-12-12T20:58:15.865058632Z",
	"payload": {
		"previous": {
			"status": { "name": "OPEN", "description": "Open" },
			"pdt": {
				"pdtRestricted": false,
				"patternDayTrader": true,
				"pdtRestrictedWhen": null
			}
		},
		"current": {
			"status": {
				"name": "OPEN_NO_NEW_TRADES",
				"description": "Open - No new trades"
			},
			"pdt": {
				"pdtRestricted": true,
				"patternDayTrader": true,
				"pdtRestrictedWhen": "2022-12-12T20:53:15.524Z"
			}
		},
		"accountID": "a1160572-3da7-4064-9483-ff75fcdb91c8.1670876836702",
		"accountNo": "DWWS000096",
		"userID": "a1160572-3da7-4064-9483-ff75fcdb91c8"
	}
}

The Account will be allowed to place new purchases again after 90 days has elapsed, but will still permanently be marked as a Day Trader.