I'm playing around with some historical stock data and attempting to optimize a portfolio.
I essentially have created a function that generates certain statistics about a portfolio (right now it's composed of a list of equities with corresponding weights). The portfolio is constant and tracked over a historical time range to arrive at some statistics regarding its performance (sharpe ratio, sortini, etc).
Given that the function that generates the Sharpe ratio isn't really smooth, I've decided to approximate the gradient in order to maximize the Sharpe ratio given input weights subject to the constraint that they add up to 1.
What would be the best way to go about doing this? Is this even feasible for this kind of data?