I have a binomial option-pricing model (I don't think the details of how its implemented are relevant). However, when I go to calculate vega, I am essentially running the model a second time with new volatility input we call $\sigma + \epsilon$, where $\sigma$ is the volatility used to calculate the price. I then have two prices $p1$ and $p2$, the first of which is a function of $\sigma$, and the second a function of $\sigma + \epsilon$. I then calculate vega to be $\frac{(p2 - p1)}{\epsilon}$.
I'm having trouble coming up with a good value of $\epsilon$ to avoid floating-point underflows and overflows in the resulting calculation. Any suggestions on how to choose it?
Some things that I have available to me at the time of the choice of $\epsilon$:
- expiration
- strike
- volatility
- risk-free rate
- underlying price
- current time
- option price (as calculated by my model)
- delta (as calculated by my model)
- gamma (as calculated by my model)