I am trying to find for each european bond in my database a proper Benchmark to compare them with the Bloomberg benchmarks for bonds.
What i have done so far is to extract a list of all government bonds in Europe and calculate a simple linear formula where I compare 4 fields with each goverment bond:
- Coupon
- Maturity Date
- Issue Date
- Volume
the formula used is:
f(bond,govBond) = abs(bondcoupon - govcoupon)*coefCoupon + abs (bondMaturityDate - gov MaturityDate)*coefMaturity + ...
Where the coef are used to give the same weight to each field
So, to find a proper benchmark, I choose the min value returned by this function (i.e the closest gov bond using these criterias).
The results of this approach is approximately a 25% match with Bloomberg list of Benchmark.
Is this a "convenient" way to benchmark bonds? I know that those 4 criterias are not sufficient (Maybe use Yield points from a yield curve or tenor, there are a lot of fields to choose) but I have chosen those 4 fields to simplify the computing (database contains at least 10000 bonds).