Stock Parameters

All Stock class instrument order transaction cost are controlled by the settings in this section.

Click for more information about each parameter

Stock Parameters Global Setting Control

Global Parameter:


Minimum Stock Volume (shares): ^Top

This parameter applies only to stocks. It establishes the minimum daily trading volume, in shares, required to enter a stock position. It is based on a 5-day exponential moving average of the volume. This value can be viewed by using the instrument.averageVolume property when using the Builder Edition.

Commission per Stock Trade: ^Top

This parameter indicates the commission charged on a per trade basis. This type of commission charge is used by some brokers for stock brokerage accounts.


Assuming a theoretical Commission per Trade of $5.00; Buying 100 shares of XYZ stock would count as one trade, and selling that same 100 shares would be a second trade, for a total transaction cost of $10.00.

Commission per Stock Share: ^Top

This parameter indicates the round-trip charge for each stock share traded.  This can be used in place of or in addition to the Commission per Trade.  For example, assuming a Commission per Contract of $0.02, buying and then selling 1,000 shares of IBM would result in a total transaction cost of ($0.02 per share) x (1,000 contracts) = $20.00.  NOTE: Most stock brokerages charge commission for each one-way trade, once for the entry, and once for the exit.  Trading Blox  applies a Commission per Stock Share of double the per share commission charged by your broker for one-way trades.

Commission by Stock Value (%): ^Top

Uses a percent of the stock value as the commission amount.

Sell Stock Split Remainder: ^Top


With stocks, when the data is back-adjusted for stock splits, the profits made/lost are respectively smaller as the prices get smaller. Take MSFT as an example. The close on Jan 2, 1987, was $47.75, and the close on Feb 2 was $73.00. But your back-adjusted data will probably show around $.17 on Jan 2 and $.25 on Feb 2. So if you bought 100 shares at the close on Jan 2 and sold at the close on Feb 3, you would have made $25.25 per share, or $2,525 total. But many simulations would show a profit of just $.08 per share, or $8 total.


If you set this parameter to true, Trading Blox will determine the real profit for this trade was $25.25 per share.  Your simulation will then be accurate even though the data has as back-adjusted.


Trading Blox will convert the profit on each trade by the stock split ratio between the trade entry and the trade exit.  It will also convert the volume in the data file back to the real volume amount using the stock split ratio.


The stock split ratio is the unadjusted close/close for any given day, so be sure to include the unadjusted close in the data.


Create two MFST files in CSI, one without adjustments, and one with stock split adjustments.  If you look at the volume on 2005-01-03 for MSFT using the unadjusted data, you will see that the volume presented is 39,545,600. (Note that there is a volume multiplier of 100 in play here as well, so the number you see displayed is 395456.) The stock split ratio on that day is 16.  When the ratio amount is divided into the displayed value, the actual volume traded will show it was 2,471,600.  If you are trading a max percent of the day's volume, then you would want to use the adjusted volume number rather than the unadjusted number that provided in the data file.


Likewise, if you use the example above, you want to make sure the profit on a 100 share trade reflects the actual value of that trade in "today's" dollars. So Trading Blox converts the profit using the stock split ratio as of the trade entry.


Also, Trading Blox needs to know how the stock split is applied to the dividend distribution.   Let’s use this example to see how a purchase of 100 shares of the stock with a 2x stock split and a $.50/share dividend. Dividends are a different type of profit than if you purchased 100 shares and then the stock had a $.50/share dividend, which then received a 2x stock split.


This detailed information is why it's important to keep the stock splits and dividends separate. The stock splits alter the data in a geometric manner, whereas the dividends are simple unadjusted per share amounts.  If you try to proportionally adjusted dividend data into a stock split adjusted series, you will get the wrong P&L every-time.


Be sure to set your CSI UA setting to adjust the stock data by stock splits only, be sure to include the unadjusted close, and call CSI to get the unencrypted dividend data so Trading Blox can build those files for you.  CSI enable unencrypted dividend data to all Trading Blox customers at no extract cost to a user’s stock data subscription.

Use Stock Split Ratio: ^Top

Default value = True.


This option when set to true, will adjust the profit of each trade based on the stock split ratio to bring the profit into current dollars (The current stock split ratio is by definition 1).


A trade of 100 shares of MSFT from back in the day will yield a tiny profit due to the huge stock split ratio and super small prices. This amount is multiplied to convert back to today’s dollar value.  To look at it another way; it converts the way back prices to real unadjusted prices to compute the profit.


When the stock splits during a trade, the quantity is adjusted.   An example purchase of 100 shares that then has a 2x stock split will result in a closing trade of 200 shares.   In this example, you will notice an entry quantity and exit quantity that can be different.  This accounting necessary to enable this transaction to account for commission correctly both on the entry and exit and in the application of any potential dividends.


Dividends are applied to the number of shares held on the date of the dividend was applied to the stock. Dividend prices provided by CSI are UNADJUSTED, so the actual quantity should always be used for trade sizes to make sure the dividend times the quantity is always correct.


When set to False, this option accommodates the cases where the source of stock data is obtained from a source that doesn't provide the all the column values required in minimum stock data columns listed for Stocks.     Trading Blox requires the data file creation include splits, and provide dividends for symbols with dividends in a separate dividend file.  When data uses a nonstandard back adjust and adds dividends or capital changes to the symbol's data file this, the option can be set to False, so the test will know the data is nonstandard.



When the "Use Stock Split Ratio" is set to True = ON, the data should be stock split adjusted and the profit will be adjusted based on this assumption.


Any dividend files will be adjusted accordingly as well.


When this parameter turned Off = FALSE, the data can be in any format, and the P&L will simply be the difference between entry and exit price.

Earn Dividends: ^Top

Set to true to account for dividends in the test.  The unencrypted dividend files should be setup in the Dividends folder specifed in the Data Folders and Data Options path location section.

Pay Margin on Stocks: ^Top

This parameter is for stocks only, and it defines whether the system will charge margin for excess cash used when buying stocks.  The values used are from the system wide base currency rate files. In the case of USD, the file is the USD_Rates.txt file in the Forex Rates data directory.  


The Borrow Rate is used when accounting for margin.


Margin Interest is applied as a charge every day the available cash falls below zero.


Edit Time: 5/31/2017 12:06:26 PM

Topic ID#: 210


Created with Help & Manual 7 and styled with Premium Pack Version 2.80 © by EC Software