You are currently trying to move it 2500px over a time period of 20000. It's stalling because that distance and time doesn't match how frequently your main function is updating.
If you change your doTicker function to the following it should be constant instead of stalling,
//setup variables to track timer
var t;
var timer_is_on = 0;
//function to start the timer and reset the ticker when it gets updated
function doTicker()
{
//if the timer is running, stop it and reset it.
if(timer_is_on==1)
{
clearTimeout(t);
timer_is_on = 0;
}
//set the ticker back to the start
$('.quotesbar-ticker').css('left',0);
//wait for the ticker to be loaded with the new data
jQuery(document).ready(function($) {
//set a timer to repeat every 20 seconds
t = setTimeout(runTicker(), 20000);
timer_is_on = 1;
});
}
//this function is run every 20 seconds
function runTicker()
{
//don't set the ticker to the begining anymore, but do tell it to move left over 20 seconds
$('.quotesbar-ticker').animate({'left': '-2500px' } , 20000 , 'linear');
}