Like 3v0, I think a gearmotor would be the better solution. From what I've seen, you can buy new/surplus-new ones that would be ample for what you need for somewhere in the $5-$10 range. For instance:
https://www.robotobjects.com/scripts/prodList.asp?idCategory=30
The same website has worm gear sets that you might consider using. Counter-balancing the arm is a very good idea - maybe you have some old bits of metal (something compact and heavy) to fit in the shoulder?
My preference is for a continuous rotation motor, as oppose to one that's constantly changing direction. Maybe you could connect a dual-lobe cam (elongated oval shape) to the output of the motor. With the counter-balance set so that the arm part always puts just a little bit of weight on the lobe, you could get away with using the least amount of power for the effect.
Also, having the counter-balance, and the cam separate from where the counter-balance/arm is attached to the figure, you don't need to worry too much about stress on the output shaft of the motor (because you'll have the other point where the arm pivots that can be quite beefy, without the bother of figuring out how you'll connect that part to a motor).
You could make the cam out of a 1/2" to 1" thick piece of UHMW, and have it contact a thin strip of aluminum on the underside of the arm. That way, the arm will move quietly and be self-lubricating. The cam doesn't need to be big - just plan where it's positioned with the arm, and the arm balance carefully. The cam should glue easily to the motor shaft. You can get UHMW at most places that also sell sheet metal (call first!).