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 Order" formula runs once for every order (ticket) and the result is saved as the fee on the last fill of each. PropReports groups executions into orders based on the Order Id.
The formula will NOT run for any orders that contains an execution with fees manually set. Canceled executions those with a status that is not regular are disregarded.
Important: Make sure the Formula Type is set to "Per Order" when creating a plan.
The following variables are available when creating a Per Order 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. |
$symbol | Ticker symbol of the instrument being traded. |
$multiplier | The multiplier (can be called "contract size" for options and "value multiplier" for futures) used when computing profit and loss. |
$spotRate | The conversion rate from the trade currency to the account currency. |
$price | Price of the trade. |
$value | Value of the trade in the currency of the account. |
$contraMmid | MPID / identifier of the counterparty. Will always be in uppercase. |
$exchange | Name of the route, ECN or exchange. Will always be in uppercase. |
$liquidity | Liquidity flag. |
$originalCommission | Commission as received from the data source. |
$originalExchangeFee | Exchange/ECN fee as received from the data source. |
$originalSecFee | SEC transaction fee as received from the data source. |
$originalTaf | Trade activity fee as received from the data source. |
$originalNsccFee | National Securities Clearing Corporation fee as received from the data source. |
$originalMiscellaneousFee | Miscellaneous fee as received from the data source. |
$originalClearingFee | Other clearing fee as received from the data source. |
$orderQuantity | Total 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. |
$monthlyVolume | Total cumulative quantity traded during the trade date month up to and including the execution being processed. Note that currently this lumps together volume across all instrument types. |