I would say that although you may lack feelings and empathy for strangers, you say that you love and care for people close to you and would be endlessly sorry if you did something wrong to them and that you take loyalty seriously.. I would, therefore, say that you are not a sociopath. They tend to be able to act like they love but not have the feelings to back that up. A sociopath would ultimately not care about loyalty and can easily manipulate those around him regardless of relationship to his own end, not really caring if they got hurt or not. You may just be a little self absorbed and narcissistic but not a sociopath. I think you behave like a lot of people do these days. They care about themselves and their loved ones but nothing more, the rest of the world is irrelevant to them.