I have applied FFT on a random noisy signal (say for ex, on some stock data). Below figures shows input and output. Now, my question is, how to extract useful peaks (frequencies) from the output? Can FFT be useful on such random data?
First of all you should take the magnitude of the FFT (use
abs function) - what you've plotted is just a real part of FFT.
Secondly, depending on what you want to achieve, I would suggest to detrend your signal in order to remove the linear drift. From that point it's all up to you what you want to infer from this data.
To be honest, I'd suggest you to check out Orange3 with time-series add-on. It's a good starting point for quickly understanding your data. You can either import the CSV file or fetch series directly from Yahoo Finance. Then it's easy to perform any sort of analysis such as periodogram, ARMA, etc. This way you will avoid mistakes using FFT.