Optim expects functions to just have one argument. All further arguments should hence be passed in a vector. That is: the function must be hestondifferences(c(vT, rho, k, sigma)) instead of hestondifferences(vT, rho, k, sigma). See the documentation:
fn : A function to be minimized (or maximized), with first argument the vector of parameters over which minimization is to take place. It should return a scalar result.