Quote from Martinghoul:
In my view, the problem is as follows, sambian. You have to be consistent between your distribution assumption and the method of calculating the expected return. So you can use either, but not both, of the two following cases:
1) Assume the price of eur/usd is normally distributed, in which case the two branches of your binomial tree will be eurusd_up = eurusd0 + epsilon and eurusd_down = eurusd0 - epsilon. In this case, your expected return can be calculated the way you do it, i.e. as E1 = P[up] * (eurusd_up - eurusd0) + P[down] * (eurusd_down - eurusd0)
2) Assume the price of eur/usd is log-normally distributed, in which case the two branches of your binomial tree will be eurusd_up = eurusd0 * epsilon and eurusd_down = eurusd0 / epsilon, which is what, effectively, you have used. In this case, expected return should be calculated as E2 = P[up] * log(eurusd_up / eurusd0) + P[down] * log(eurusd_down / eurusd0).
Note that in both cases, assuming P[up] = P[down] = 0.5 implies that E1 = E2 = 0. There is no positive expectancy.
What you're doing is taking the distribution assumption from case 2, but using the expected return calculation from case 1 with it. That's the fallacy, IMHO.