My lab is working on a project called gemini for exploring genomic variation in the context of genome annotations. Briefly, you load a VCF (eventually BCF2) into our local sqlite database framework and from there you can explore the variation therein in several ways. Take a look through the README for details. The project is still in an alpha state, but we do have a tool for detecting compound heterozygotes from VCF files that have phased genotypes. This section of the README covers it, but the workflow would be as follows:
# load a VCF that has been annotated by snpEff
> gemini load -v my.vcf -t snpEff my.vcf.db
# extract candidate compound hets
> gemini comp_hets my.vcf.db
sample gene het1 het2
NA19002 GTSE1 chr22,46722400,46722401,G,A,G|A,stop_gain,exon_22,0.005,1 chr22,46704499,46704500,C,A,A|C,stop_gain,exon_22,0.005,0
# restrict to compound hets that are clearly loss-of-function
> gemini comp_hets --only_lof my.vcf.db
To call a 'compound heterozygous' I think you need the parents otherwise it might be just double hets. What are the files you have: BAM , VCF, etc?