Price value of a basis point is the full price change if YTM changes 1 basis point or 0.01%

From the textbook, it says it should be calculated as Money Duration*0.01, or (PV- - PV+)/2

However, these 2 will never give the same result: Money Duration * 0.01 is actually the full price change if YTM changed 1%, as Money Duration is the full price change if YTM changes 100%.

Here’s an example:

A bond with exactly five years remaining until maturity offers a 4% coupon rate with annual coupons. The bond, with a yield-to-maturity of 6%, is priced at 91.575272 per 100 of par value. Estimate the price value of a basis point for the bond.

If we change YTM to 5.99% and 6.01%, we have:

PV- = 91.615115

PV+ = 91.535451

so PVBS = 0.039832

If we calculate it by Money duration:

Modified duration = 4.349646

Money duration = 4.349646 * 91.575272 = 398.32

PVBS = 398.32 * 0.01 = 3.98.32

But it should be 0.039832 so there is a 100 times difference!!

Can someone tell me why the CFA textbook has this very obvious contradiction?