1. A computer readable medium encoded with computer executable commands, which, when executed by the computer, cause the computer to perform a method for constructing an investment portfolio, comprising commands to: (a) access stored data regarding each of a plurality of investment assets; (b) compute a first score from a plurality of first score factors for each of the assets; (c) compute a second score from a plurality of second score factors for each of the assets; (d) rank the plurality of assets in ascending or descending order of the first score; (e) rank the plurality of assets in ascending or descending order of the second score; (f) for each asset calculate a rank ratio by dividing the asset's rank based on the first score by the asset's rank based on the second score; (g) rank the assets in ascending or descending order of the rank ratio; (h) select as a first portfolio a first portion of the assets ranked in accordance with step (g), the selected portion comprising assets beginning with the asset listed at a first end of the ranked assets through an asset constituting the last asset of a predefined first portion of the assets.