How can I stop being so angry?

I have not been able to really sleep. I stay up all times of the night not even knowing why. Every day, I feel like I have anger inside of me. I have a little family, but I can't open up to them like I want to. I have a son, and I feel that I take my anger out on him by screaming at him.