Generic Balance Post-Processor

Follow these steps to create an account balance file that can be delivered via email or FTP - manually or automatically. 

Contact support@propreports.com to have automatic delivery scheduled to be ran at a particular time each day.


The use of the Generic Balance post-process for assigning Buying Power on a trading platform is at your own risk!

Buying Power may be skewed if something has skewed the account balance for the day.  Some examples of what may cause incorrect balances:

  • Missing trades - trade file is missing or incomplete
  • Erroneous trades 
  • Incorrect cash adjustments 
  • ...any other event that may cause the balance to be skewed.

If the issue that caused the incorrect balances is resolved, you can then manually re-run the file to deliver the corrected values.


Step 1: Navigate to the Upload > Post-Process page and add the Generic Balance Export post-process.  (Contact support@propreports.com to enable, if this post-process is not available on your instance)

 

Step 2: Click Edit for the Generic Balance post-process.  

Step 3: Choose the settings for the file:

  • Groups/Accounts - Choose the group(s) or the account(s) that you need the account balance exported for.
  • Configuration choices:
    • Extended Account Information - Includes detailed account info fields of :
      • Display Name, Account, Clearing Id, Clearing Firm, Upload Source, Aggregation Unit, Creation Date, First Traded, Last Traded, Close Date, Balance, CCY, Groups
    • Absolute Position Cost - Field contains the absolute market value of both Long and Short positions
    • Assigned Trade Fee Plans - Displays any assigned trade fee plans
    • Assigned Recurring Fee Plans - Displays any assigned recurring fee plans
    • Assigned Payout Plans - Displays any assigned payout plans
    • Buying Power - Displays buying power value calculated by a formula.  The default value is the Balance ($unrealizedProfitLoss + $equity) of the account.  See below for tips on creating formulas for alternative values.

Step 4: Enter desired File Name and click Update.

  • A file-name of bod_%Y%m%d.txt will produce a file named bod_20180305.txt when generated for date of March 5th, 2018.   
  • Important to note that the account balances in file are the ending balances of previous trading day, or beginning balance of date on file-name.

Step 5: Set up Delivery Method(s) for the file.

  • Email 
  • File Transfer Protocol (FTP):
    • FTP
    • FTP/SSL
    • SFTP

Step 6:  If you wish for this file to be delivered automatically each day, make sure to notify support@propreports.com with the request.  Include the post-process name and desired delivery time in the morning (EST).  Make sure the delivery time is AFTER all the various data loads are finished to your instance, so that the up-to-date information is being delivered in the file.




Creating a Formula for Buying Power


Available VariablesDescription
$unrealizedProfitLossUnrealized profit (or loss) for all open positions marked to the market for the date.
$longUnrealizedProfitLossSame as above for long positions.
$shortUnrealizedProfitLossSame as above for short positions.
$latestLongPositionValueMarket value of ALL open long positions for the adjustment date (will always be >= 0).
$latestShortPositionValueMarket value of ALL open short positions for the adjustment date (will always be >= 0).
$equityCash in the account on the date. 


Formula Examples


BP = Total Balance (default value)
$unrealizedProfitLoss + $equity


BP = Total Balance less Absolute Market Value of Positions

$totalBal = bcadd($unrealizedProfitLoss , $equity);

$absoluteMV = bcadd($latestLongPositionValue, $latestShortPositionValue);

return bcsub($totalBal, $absoluteMV);


BP =  Tiered based on Total Balance (different BP multipliers applied dependent on balance)

$level1_mult = '1';
$level2_mult = '4';
$level3_mult = '6';
$totalBal = bcadd($unrealizedProfitLoss , $equity);


if($totalBal < '500') {
return $totalBal;
} else if($totalBal < '2500') {
return bcmul($totalBal, $level2_mult);
} else {
return bcmul($totalBal, $level3_mult);
}


Email support@propreports.com if you have questions about creating a specific BP formula.