It can be done but it is not easy stock excel.
You need to break it down into a few distinct processes:
Excel Tick Engine:
Excel by default limits DDE updates to 100ms.
Takes a lot of coding work and testing taking control of the calulation engine in excel to break this barrier.
I posted some sample code here:
http://www.elitetrader.com/vb/showthread.php?s=&threadid=216959
Next issue is storing the volume of tick data:
Ended up using thecommon.net 's toolset to use sqlite as the data store for our excel applications.
The above will take some time but once completed you have your a single threaded ticker plant that can capture and process multiple data feeds. We lock it down into an EXE using XLtoEXE and it runs in it's own space.
Order and position Management
Create another excel workbook application for managing and processing orders. You want to use your ticker plant as its data source and run this in another instance of excel. Both applications are single threaded but run concurrently in different excel instances and can even run on different machines . You build one of these apps for each broker you use and feed them into a global risk management workbook app. Once again store all position and order data off to sqlite db.
Excel is used as a calculation engine but no data is actually stored in any of the workbook applications. Using multiple instances is a band aid to get past the single threaded architecture... remember I said band aid... All tick and order data is stored in sqlite db.
Our main benefit of going through this trouble was to create an excel add-in for other non-programmers to use excel to analyze both real time and historic data for testing and develop trading algos.
Quote from badvestor:
How much time does one need to invest in learning the knowledge required to automate with Excel? Where do I begin to get to a robust excel based trading system that is semi automated?