Grate the zest off the oranges and lemons into a large saucepan or small pot. Peel the fruit and break (or slice) the insides into chunks (quarters are fine) into the bowl of a food processor. Pulse a few times, just until chunky. Add to the saucepan with the zest.
Add the sugar, cranberries, raisins, cinnamon and allspice and bring to a boil. Reduce heat and simmer for 15-20 minutes, until the mixture thickens and becomes more uniform in colour and the cranberries pop. Remove from heat and set aside to cool. Remove the cinnamon sticks, if you used them, and stir in the pecans.
Store in jars in the fridge for up to a month, or freeze for up to 6 months.