All doubles. When calculating vol I use days/365.0 as time. There should be no rounding problems, I showed some code in previous pages.

B-S is valuing everything correctly. Your interpretation of it is what's flawed. Check out this thread: http://www.wilmott.co.uk/messageview.cfm?catid=4&threadid=89255

Yes. I think I understand difference between straddle payoff and vol. In simple terms: if price is trending, payoff will be +, if mean reverting it will be negative. To judge vol I would have to continuously delta hedge, then I can make money with short straddles betting real vol will be lower than implied. What I'm surprised about is that my price changes are normally distributed and I'm not sure why I'm getting so much bias to buying side. I was pretty sure, that with prices being random and changes normally distributed + impl vol at right value, I won't be able to make any money on neither long nor short atm straddles.

Right, let's go through it... Simplistic exercise for a single straddle. Let's say your underlying is normally distributed arnd 0 with stdev of sigma. You're buying/selling a 1y straddle w/ strike 0. Is that a reasonable setup?

I'm buying straddle 7 days, underlying at 100, strike 100. Price changes are normally distributed, stdev of 2%.

Looking foward to Martinghoul's next post. In the meantime I ran a quick Excel sim usng constant realised vol and constant implied vol and it is in agreement with the formula from Willmott's book. I used S(7) = S(0)*EXP(-0.5*sigma*sigma*7/365 + sigma*sqrt(7/365)*NORMSINV(RAND()) for spot. (mu = 0) The variance of the P/L is very significant. I think OP said that he ran 1year i.e. 52 sims(?) which is probably not high enough. Definitely a high variance trading method - even if you can predict vol. Also the distribution of the P/L is very skewed (from my sims) with occasional very nasty losses for the straddle seller (not a surprise)