If you ask them where they got your number from most cold callers will say it's randomly generated from their client numbers in your location, implying they simply grabbed a number and then auto dialler made up new numbers by advancing that number few numbers up and down. In reality it was probably purchased as a predefined list of "active" numbers they purchased from somewhere, sometimes it is checked by silent calling "revolver" before hand. If you google your number up you'll find these lists, no names, just long lists of numbers activated by BT or other telecoms in recent years.
In my experience pranking them or threatening with legal action just encourages more calls, it's almost as if they give the "nasty" numbers to their work colleagues or competitors as a prank or training exercise. You can quite successfully shake cold callers off by impersonating, let's say public servants at a local law enforcement station or asking them to hold the line then putting receiver on mute indefinitely, if you are inclined to do so, but the best way I found, was to go off directory, register with PTS and those kind of "filters" and then set up yourself an 0845 number as redirector to your real number (you can find them free all over the net) and then use that 0845 number as a number for everything from bank, through shopping, to insurance enquiries and watch those cold calls disappear in months - all of a sudden your "verified" number appearing on lists everywhere will cost them money to call, won't be possible to call from abroad and will get auto rejected by most auto diallers.