financial algorithm