is there a python library that allows for the optimization of parameters used within a strategy? I want to parameter step over several years in rolling 30 day periods, then average the results for each parameter and optimize for max return min risk... Otherwise as a brute force method, can I simply loop through running the backtest several times at different parameters and with a few if statements record the optimal parameters at each time interval?
There are plenty of python libraries for general, batch optimization. However, optimizing a trading strategy in an online way isn't quite that simple for several (mostly implementational) reasons. I wrote a blog post on this here which you might be interested in.
As to your second proposal: Yes, you can just optimize by trying out one parameter value and run a whole backtest. I will actually give a talk on how to do this at PyData with zipline (Quantopian's open-source backtester). Unfortunately we haven't gotten around to making this available in Quantopian but it is something we would like to do.