sklearn - overfitting problem
To see if SVM can capture any signal at all, try to balance your data: create training and test sets that consist of exactly 50% positive and 50% negative samples (i.e., by subsampling randomly from whichever one is bigger). Also standardize the data (subtract the mean and divide by standard deviation).

(For balancing, you might try changing the class_weight parameter in sklearn, but we found the manual method (subsampling) to work better.)