FinDPO: Financial Sentiment Analysis for Algorithmic Trading through Preference Optimization of LLMs