Line a 20cm square tin with baking paper. Heat the oven to 160C/140C fan.
Melt the butter, golden syrup and treacle together in a pan over a low heat, stirring until smooth, then set aside to cool slightly.
Mix the flour, oatmeal, sugar, ginger and salt in a bowl. Stir the bicarbonate of soda into the milk, it will fizz a little.
Pour the melted syrup mixture and the milk into the dry ingredients and beat well with a wooden spoon until you have a smooth, loose batter that drops lazily off the spoon.
Tip into the tin and bake for 50-55 minutes until firm to the touch and springy in the centre. A skewer should come out with a few sticky crumbs rather than wet batter.
Cool completely in the tin, then wrap the whole thing in baking paper and foil. Parkin is best after 3-5 days resting and will keep up to 2 weeks, getting stickier and darker as it sits.