This repository contains Python-based tools for Computational Finance. It is related to the Computational Finance blog run by Stuart Reid (www.stuartreid.co.za/blog).
Currently I'm checking if a problem is a min or a max and then evaluating two or more solutions side by side to decide which is better ... I should instead,
Overload the >, <, =, >=, <=, and != operators for the Solution abstract base class
Decouple the Function (optimization problem) from the Optimizer
Couple the Solution abc with the Function
That way in the Optimizer you would be able to directly compare solutions (or an instantiation thereof e.g. Particle) using equalities which will be a lot neater.
The code for the Quandl.com data downloader currently sits in the same class as the Regression Analysis from StatsModels. This should be decoupled for re-usability. The QuandlSettings class should remain decoupled for flexibility.
The plotting function used in the RegressionAnalysis class should be decoupled for re-usability ... it should also be tidied up a bit using some cool Matplotlib features.
Should be decoupled from the RegressionAnalysis class and into a Main function for testing regression analysis. Also, some more examples should be added.
Currently the abstract base class Solution is using standard Python lists. This should be refactored to use Numpy arrays instead to get an improvement in performance.