How to set buffering frames?
It depends of what type of physics you want.

For example, cloth simulation. In cache settings you can set start value negative:

 

You can noted, that this value limited by 1, but this not right. Click in center of value "Start" and enter negative value from keyboard. It's not a bug, many values in blender can be redefined in this way, for example 200% render resolution.

In other types of physics there is another option "offset". Like in water simulation. Offset shift all frames in time back and forward.



And of course, Allow Negative Frames in this case is useless.