Per Execution

Trade fee formulas use a simple language (a modified version of the PHP programming language) to specify how fees should be assessed in PropReports.  

A "Per Execution" formula runs once for every "Regular" fill and the result is saved as the fee.  The formula will NOT run for any fill that is either canceled, has fees manually set or has a status that is not regular.

(warning) Important: Make sure the Formula Type is set to "Per Execution" when creating a plan.

The following variables are available when creating a Per Execution formula:

Variable Name

Description

$source

A numeric code indicating where the execution originated. See the list of source ids.

$date

The trade date in YYYY-MM-DD format (e.g. 2011-08-15).

$time

The trade time in HH:MM:SS format (e.g. 09:35:12). If the trade time is uknown, the variable is set to 00:00:00.

$type

B = Buy, S = Sell, T = Short, C = Cover. See side and intention codes for more information.

$quantity

Number of shares or contracts traded.

$symbolTicker symbol of the instrument being traded.
$currencyCurrency code of the trade (3-character ISO code).
$multiplierThe multiplier (can be called "contract size" for options and "value multiplier" for futures) used when computing profit and loss.
$listingExchangeListing exchange for the security being traded (see list of exchange codes).
$spotRateThe conversion rate from the trade currency to the account currency.
$pricePrice of the trade.
$valueValue of the trade in the currency of the account.
$execBrokerMPID / identifier of the executing broker. Will always be in uppercase.
$contraMPID / identifier of the counterparty.  Will always be in uppercase.
$routeName of the route, ECN or exchange. Will always be in uppercase.
$internalContraIndicates the actual counterparty when an order is routed via an order desk or another intermediary (when available). (v1.5.98.19.16 or greater)
$internalRouteIndicates the actual destination when an order is routed via an order desk or another intermediary (when available).
$internalLiquidityIndicates the actual liquidity flag when an order is routed via an order desk or another intermediary (when available). 
$liquidityLiquidity flag.
$capacityTrading capacity of the order (when available). A = Agency, P = Principal, R = Riskless Principal.
$originalCommissionCommission as received from the data source.
$originalExchangeFeeExchange/ECN fee as received from the data source.
$originalSecFeeSEC transaction fee as received from the data source.
$originalTafTrade activity fee as received from the data source.
$originalNsccFee

National Securities Clearing Corporation fee as received from the data source.

$originalMiscellaneousFeeMiscellaneous fee as received from the data source. 
$originalClearingFeeOther clearing fee as received from the data source.
$originalOrfOptions Regulatory Fee as received from the data source. (v1.5.98.19.16 or greater)
$originalAccessFeeExchange access fee as received from the data source. (v1.5.98.19.16 or greater)
$originalNfaFeeNational Futures Association fee as received from the data source. (v1.5.98.19.16 or greater)
$orderQuantityTotal quantity for the order. Set to 0 for all but the last execution for the order. Note that if an order contains a fill with a manually set fee, this variable will always be set to 0 for that order.
$monthlyVolumeTotal cumulative quantity traded during the trade date month up to and including the execution being processed. The quantity is for the instrument type of the execution being evaluated. For example, if a formula is being evaluation for an equity, monthlyVolume will equal total equity shares the account traded from the beginning of the month up to and including the execution processed.