Place the shallots in saucepan, add the stock, and simmer gently 25 to 30 minutes, until the shallots are tender. Much of the stock will evaporate.
Heat the oil in a skillet and stir in the sugar.
Add the shallots along with any remaining stock and cook over medium heat until the shallots become brown and glazed.
Stir in the vinegar and cook a few minutes longer, so the shallots are just coated with a syrupy sweet and sour sauce.
Store in the refrigerator until ready to use.