Matlab is preferred. Excel can do too. You could bootstrap "historical returns" without making any assumption about their distribution. Just pick one at a time and construct the price path. More on bootstrap: http://bcs.whfreeman.com/ips5e/content/cat_080/pdf/moore14.pdf
But don't they have the feature to randomize your random sequence to get a new sequence every time you run it?
In Matlab you can do both, you can set it to restart at the same place randn('state',0); or if you omit it it will restart from where it was thus giving you "new" numbers.
Pseudo random numbers will be repeated after a while so you have to be carefull about that in your implementation. I dont remember what it is for Matlab. Only god knows if randomness exists.
@Monty21, it depends what MC simulation you are looking for. If you will only "stress test" your system (so-called system simulation), you can use even Excel. The problem is the simulation speed. You can see a comparison on my website: http://www.zentrader.de/mcs_performance_e.pdf But if you'll also test your system with "pseudo" random data (so-called data simulation) you have to generate specific algorithms (which is a little work). More info here: http://www.zentrader.de/html/monte_carlo_simulator1.html bye, Volker
QuantLib may do what you need and its free/open source. http://quantlib.org/index.shtml They have an excel plug-in or you can call it from other programs. Try it out and see how it works. I would be interested to hear how well it works out for you. Eric