Andrew Chin Andrew Chin

Andrew Chin
  Short Swing 16b Liability Calculator  

The form below allows the user to calculate a corporate insider's short-swing profit liabilities under Section 16(b) of the Securities Exchange Act of 1934, 15 U.S.C. § 78p(b) and to retrieve potentially relevant insider trading data from documents filed with the Securities and Exchange Commission.


Section 16(b) provides that specified corporate insiders must surrender "any profit realized ... from any purchase and sale, or any sale and purchase, of any equity security" of the company "within any period of less than six months." This is a strict liability provision, meaning that profits must be surrendered even if they were not attained through the misuse of inside information, and even if the paired purchase and sale events are part of a larger pattern of trades that also incurs losses. As Judge Learned Hand concluded in Gratz v. Claughton (2nd Cir. 1951), the pairing of purchases and sales in an insider's trading history "falls within the doctrine ... that when damages are at some unascertainable amount below an upper limit and when the uncertainty arises from the defendant's wrong, the upper limit will be taken as the proper amount." Accordingly, full enforcement of Section 16(b) requires liability to be calculated as the maximum profit that can be derived from the pairing of an insider's purchases and sales, with each transaction pair taking place in either order within a six-month period.

To aid enforcement of Section 16(b), corporate insiders are required to report transactions in their company's stock on SEC Form 4 or 5. An example is shown below. These filings are available to the public on the SEC's Web site, and any shareholder can bring suit based on the information disclosed.


In Smolowe v. Delendo Corp. (2nd Cir. 1943), Judge Charles Edward Clark devised a greedy algorithm to calculate Section 16(b) liability, which has become known as the "lowest-in, highest-out" (LIHO) method. The algorithm consists of iteratively pairing the purchase at the lowest per-share price with the sale at the highest per-share price within six months for which shares can be matched, and removing transactions when no more remaining shares remain to be paired with them.

Judge Clark's crude approach to the calculation of short-swing profits is understandable, as George Dantzig's simplex algorithm for linear programming (LP) did not appear until 1947. Today, however, it is straightforward to recognize Section 16(b) liability calculation as an optimization problem amenable to solution by standard LP techniques. As such, it is not correctly solved by the LIHO algorithm.

For example, consider the following pattern of trades:

Date Shares Bought (Sold) Price/Share
Jan. 1 1,000 $ 9
Feb. 15 (400) $ 8
Mar. 1 2,000 $ 8
May 1 800 $ 7
June 15 (1,200) $10
Sept. 1 1,000 $ 6
Oct. 15 (2,400) $ 9

Judge Clark's LIHO algorithm calculates a recoverable profit of $5,800:

Shares Purchase Date Price/Share Sale Date Price/Share Profit
1,000 Sept. 1 $ 6 June 15 $ 10 $ 4,000
200 May 1 $ 7 June 15 $ 10 $ 600
600 May 1 $ 7 Oct. 15 $ 9 $ 1,200

This result is incorrect, however, inasmuch as it does not represent "the upper limit" of the "profit that can be derived from the pairing of an insider's purchases and sales." To see this, we can perform the LP calculation on the same sequence of trades.

For i = 1, 2, 3, 4 and  j = 1, 2, 3, let pij denote the per-share profit recoverable under Section 16(b) from pairing the i-th purchase and  j-th sale in this table (counting chronologically). For example, by pairing the shares purchased on May 1 for $7/share (i.e., the third purchase) with the shares sold on Feb. 15 for $8/share (i.e., the first sale), the trader may be held liable for a profit of $1/share; this fact may be expressed as p31 = 1. On the other hand, the first purchase on Jan. 1 and third sale on Oct. 15 are more than six months apart, so p13 = 0. Thus we can compute the vector P = (p11, p12, p13, p21, p22, p23, p31, p32, p33, p41, p42, p43) = (0,1,0,0,2,0,1,3,2,0,4,3).

To calculate the total profit recoverable under Section 16(b), we must find the number of shares xij for each pair of purchases and sales for which the total recoverable profit Σpijxij is maximum, subject to the constraints

Σ x1j ≤ 1,000 Σ xi1 ≤ 400
Σ x2j ≤ 2,000 Σ xi2 ≤ 1,200
Σ x3j ≤ 800 Σ xi3 ≤ 2,400
Σ x4j ≤ 1,000 xij ≥ 0 for all i, j

The simplex LP method yields the solution vector X = (x11, x12, x13, x21, x22, x23, x31, x32, x33, x41, x42, x43) = (0,0,0,0,1200,0,0,0,800,0,0,1000), for a recoverable profit PX of $7,000:

Shares Purchase Date Price/Share Sale Date Price/Share Profit
1,200 Mar. 1 $ 8 June 15 $ 10 $ 2,400
800 May 1 $ 7 Oct. 15 $ 9 $ 1,600
1,000 Sept. 1 $ 6 Oct. 15 $ 9 $ 3,000

To give another example, the pattern of defendant Elorian Landers's trades (.CSV file) in Chechele v. Vicis Capital (S.D.N.Y. filed Mar. 30, 2011) yields a liability calculation of only $29,889 using the LIHO algorithm, compared with $35,366 using the LP method.

Stella and Jammies

According to the calendar, the interval that begins on October 30 and ends on April 29 is a "period of less than six months," inasmuch as April 29 precedes the date (i.e., April 30) that falls exactly six calendar months after October 30. While a § 16(b) plaintiff could argue for this "matching date" interpretation, courts have read the statutory period more narrowly.

In Stella v. Graham-Paige Motors (S.D.N.Y. 1955), the court adopted a construction of the term "period of less than six months" to require that the midnight preceding the start date and the midnight following the end date be less than six months apart. Trades on January 1 and June 29 could therefore be paired for short-swing profit recovery, but trades on January 1 and June 30 could not. According to Romeo & Dye, the Stella method "has been followed by all courts that have considered the question."

In Jammies Int'l v. Nowinski (S.D.N.Y. 1988) considered the situation where, due to the varying lengths of months, there was no date six months following and numerically corresponding to the first date in a period. The plaintiffs argued for "May 1 as the date most closely corresponding to October 31, because it is one day after the thirtieth day of the month." The court, however, held that in such cases, "the corresponding date for the last day of a month is the last day of the month six months hence." The Jammies court also regarded Stella as controlling precedent. Consequently, under Jammies, the first permissible trade date following a transaction on August 29, 30, or 31 is February 27.

Using the Calculator

An insider's trades may be input individually into the fields of a form ("Input" tab), or collectively submitted as a text file in .CSV format by pasting it into a text box ("CSV Upload" tab). Trades can also be compiled from the filings of Forms 4 and 5 stored in the Securities and Exchange Commission's EDGAR database ("SEC Database" tab), by using the insider's Central Index Key ("CIK") number and specifying the period of interest.

Three options are provided for construction of the statutory "period of six months": (1) the calendar method, applying the Jammies plaintiff's rule for differing lengths of months; (2) the Stella method, applying the Jammies plaintiff's rule; and (3) the Jammies method, which incorporates Stella. The Jammies method is selected by default, as it is apparently the only reported case on the question of varying lengths of months, but plaintiffs in jurisdictions where Stella and Jammies are not controlling may want to consider the calculation of § 16(b) liability under other rules.

-- Andrew Chin
March 2015



Date # Securities Per Share Price Security Title Ownership
more rows  


Date # Securities Per Share Price Security Title Ownership
more rows  

You can to save your input data for later use.


Matching DateStella Jammies


Purchase Date Per Share Price Sale Date Per Share Price Paired Securities Profit

Upload CSV Data

A sequence of trades may be uploaded as a file from your computer or pasted as text into the text form below, using comma-separated values (.CSV) format such as may be exported by Microsoft Excel or another spreadsheet program.

Each line in the file (corresponding to a row in the spreadsheet) should have four comma-separated values: (1) date (MM/DD/YYYY); (2) price per share (numeric value, with no currency symbols); (3) number of shares traded (numeric value); and (4) the word "buy" or "sell." Click "Input CSV" to transfer the CSV data from this page to the Input form. To export your input data to a CSV for later use, first use the Input form, then return here and click "Save as CSV."

.CSV file upload: 


.CSV text form:    

Date, price per share, number of shares, buy or sell

Compile Trading Data from EDGAR

This search engine compiles trades reported to the SEC's EDGAR system on Forms 4 and 5 for a given corporate insider (CIK lookup) during a given time period. The Input form for the liability calculator is automatically filled in with the resulting data.

CIK Start Date End Date

Daily EDGAR Report

This database compiles liability reports from the SEC's EDGAR System on Forms 4 and 5. The database is updated daily with data from recent form filings. The database defaults to display reports from the previous day, however you can look up reports from different days by entering a date into the search bar and pressing "Select Date".

To see specific trade data for a particular CIK, click on the liability cell for that row and you will be redirected to the Input tab.

CIK Name LP Date of most recent form URL of most recent form

Copyright © 2001, 2015 Andrew Chin.  All rights reserved.  Republication of all or part of this document, including the software elements thereof, in any form, including electronic, without written consent of the author is prohibited.

Andrew Chin   Andrew Chin