Fee schedules are formulas in a simplified language (a modified version of the PHP programming language) that specify how much to charge or rebate for specific trading activity.
For each direct fee category (Commission, Exchange, NSCC, Clearing, TAF, SEC, and Misc) there can be one schedule in effect at a time but different schedules can be in effect for different accounts.
There are four formula types:
Formula Type | When to Use | Formula Frequency | Sample Plan |
---|---|---|---|
Per Execution | Simple "per share" or "percentage of value" plans. | Once for every "regular" fill. A regular fee is a fill that is not a journal, not canceled and does not have fees set manually. Fees are posted on every applicable fill. | $0.50/1000 $quantity * 0.0005; |
Per Order | Schedules with a per ticket component. | Once for every order. PropReports groups executions into orders based on the Order Id. Fees are posted on the last fill for each order. | $0.50 / 1000, $10 maximum per ticket min(10, $quantity * 0.0005); |
Per Symbol | Per symbol / per side plans. | Once for every instrument traded per day per account. Fees are posted on the last fill for that instrument for the day. | $1.50 fee per symbol per side, plus $0.50/1000 return $quantity * 0.0005 + ($quantityBought > 0 ? 1.50 : 0) + ($quantitySold > 0 ? 1.50 : 0); |
Fee Rules | When specifying an ECN fee schedule or any other schedule that contains a large number of conditional fees. In general, the Per Execution formula offers much more flexibility over fee rules and can be slightly faster. Fee rules on the other hand are more concise and practical when defining schedules with many conditions (such as ECN fees). | Once for every "regular" fill. Fees are posted on every applicable fill. | dst=EDGA { penny= true { liq=A => - 0.001 % liq=B => 0.003 % } liq=A => - 0.002 liq=B => 0.0002 } => 0.0005 |