GT MultiSymbol Spread Analyzer allows you to analyze, evaluate, and compare spreads and trading costs of multiple symbols from the historical Tick data of various brokers.
You can set up the following parameters:
Watchlist (commission)
Name of the Watchlist with symbols charged commission fee
Commission per mil
Commission charged by the broker is converted by the analyzer to the equivalent pips.
Together with the average symbol spread this represents the total cost of trade of the symbol:
total cost = average spread (avg) + commission pips (comm)
Watchlist (no commission)
Name of the Watchlist with commission-free symbols
Export to File
You can choose to export the aggregated results of one broker's account to a .csv file (saved on the Desktop). Multiple files generated from different accounts (brokers) can be merged e.g. in MS Excel or Google Sheets for further cross-broker analysis (see the below example)
By Hours
Data export can be aggregated by hours instead of the standard daily aggregation
Normalize Symbol Names
When selected the analyzer attempts to convert various symbol names (e.g. EURUSD and EUR/USD) used by brokers to a unified format so that data exported from different brokers can be aggregated and analyzed together (e.g. in a pivot table)
See the NormalizeSymbolName() function for the mapping rules. In case of need you can add your broker's symbol names
Make sure to use the Tick data from Server (accurate) for Backtesting (you can ignore the Starting Capital and Commission fields):
Choose the time period over which you want to analyze the spreads (no more than 1 year is suggested if you use the Create File together with By Hours option)
IMPORTANT NOTE: Should you experience errors during the backtest run, ensure the start date is a working day
The aggregated results are written to the Log:
min - minimum spread identified
max - maximum spread identified
avg - calculated average spread
comm - commission fee converted to the equivalent pips
total cost - total cost in pips
[new in v1.2] normalized - total cost in "normalized pips" where pip size is determined by the analyzer for each symbol. This ensures the normalized pips to have the same size for selected symbol across all tested brokers, thus allowing for an easier total costs comparison
Example of a further analysis of the extracted data in MS Excel PivotTable:
(note the differences between the Ø Total Cost vs. the Ø Normalized Cost on indices and crypto caused by different pip sizes among the tested brokers)
Version history:
1.0 - Initial release
1.1 - Zero commission watchlist added
1.2 - Normalized total cost added
1.3 - Fixed usage of normalized symbol names in the backtesting log
Feel free to let me know about any issues or post your suggestions for improvements in the comments!
Did you like my work?