Australian (ASX) Stock Market Forum

Portfolio Backtesting in Excel 2003

Feb 12, 2014
Hi again,

I've decided to start my 2nd thread and hence my 2nd GNU C++ project put forward on this forum. Again this uses Excel 2003 and another DLL. In a Nutshell, the computer programming involves taking a universal list of trades (generated elsewhere) that you could all take given infinite amount of money and producing a sample list of trades (from this population) after applying a set of rules with a finite amount of money. Does that sound familiar???

Anyway I will send an email to Joe to attach a zip file, since I find that is the best way to get programming projects attached. The zip file is called and contains the following files:

BTDLL.dll - GNU C++ compiled dynamic link library
BTDLLTest.xls - Tests basic functionality of above dll file
PBT.xls - Performs a backtest on a given trade list

Note: Please make sure the xls files are in the same directory as the dll file and that macros are enabled :)

BTDLLTest.xls shows you how the dll functions and in Excel 2003, you need to press ALT-F8 to run the macros or you can view all the vba code by pressing ALT-F11. I've done it this way so that people can get an understanding of the backtesting functionality and the power of VBA :)

PBT.xls allows a user to do simple backtesting from the universal list of trades displayed in the highlighted yellow rectangle. You can create your own trades and test them out if you want. I have limited the amount of trades to 200 unique entry dates. You can do a single backtest or a monte carlo. Note: Might need to scroll across a lot to see all results.




Mar 31, 2012
Power of VBA? Excel is awesomely slow and Excel 2003 allows just 65536 rows per sheet.
So awesomely slow and limited are equal to powerful nowadays? ;)