I am trying to implement Margin using the AlgorithmFramework, and in particular InsightWeightedPortfolioConstruction.  

This is proving difficult as the above does not allow the sum of all weights to total > 1.0.

Is there a "cleaner" way to implement margin than modifying the InsightWeightedPortfolioConstructionModel?