Simulated Random Walk in MATLAB
0
Put in simple terms, a Random Walk basically involves taking successive random steps and tracing the trajectory. I adapted the example from part one of Wilmott on Quantitative Finance and wrote a quick MATLAB script to simulate a simple random walk. Basically flip a coin if it is heads multiply the equity seed by 1.01 and if its tails multiply by 0.99.
Results
The graphs below show succesive runs of the script. I simulated 10,000 coin tosses in each test.
Sim one: You flipped 5069 heads & 4931 tails

Sim Two: You flipped 4946 heads & 5054 tails
Sim Three: You flipped 5026 heads & 4974 tails
Sim Four: You flipped 5042 heads & 4958 tails
MATLAB Code
Writing the code in MATLAB is very straightforward I wrote the code in less then five minutes so it is a bit rough around the edges. I probably could refactor it but it does the job.
% Simple Simulated Random Walk Adapted
% from part 1 Paul Wilmott on Quant Fin
% create matrix with random int either 1 or 2
randMat = randi(2,10000,1);
randEquity = [1:10000];
headCount = 0;
tailCount = 0;
equitySeed = 100.00;
for i=1:10000
if randMat(i)==1
% we flipped a heads
headCount = headCount + 1;
equitySeed = 1.01 * equitySeed;
randEquity(i) = equitySeed;
else
% must have flipped tails
tailCount = tailCount + 1;
equitySeed = 0.99 * equitySeed;
randEquity(i) = equitySeed;
end
end
fprintf('You flipped %i heads & %i tails\n', headCount, tailCount);
plot(randEquity);
title('\bf \fontname{Arial} \fontsize{16}Simulated Random Walk');
xlabel('\bf \fontname{Arial} \fontsize{12}Number of Coin Tosses');
ylabel('\bf \fontname{Arial} \fontsize{12}Price in ($)');
% clean-up
clear equitySeed headCount tailCount randMat i;
Category Blog, Blog Post, Matlab, Misc, OS X, Programming, Quantitative Trading, Share Market, Software, Trading | Tags: m file, Matlab, Random Walk, Simulation