You have discovered part of the equation, and hope that the rest comes up soon. Anger is a secondary emotion.
My guess would be that you've been through very traumatic events which you blame yourself for. Sexual, physical, or psychological abuse often cause symptoms along these lines. I've been there and have fought with myself for 25 years now. *knock on wood*
One tip I've been given is to look into the mirror everyday and verbally tell yourself that you have something nice. Something, anything that you honestly like about yourself. Hair, eyebrows, eyes, smile, nose, skin - whatever. Repeat it every time you look into the mirror. It only takes seconds. It's honest, positive, and necessary. You deserve a boost in your self-esteem! ((hugs)) to you

!
Shez