Given the richeness of the API, I'm sure I'm overlooking a simpler way to handle this.  Essentially, my algo wants to go short on occassion.  But, I want to keep the algo from overbuying.  I want to hold cash in reserve to cover the short positions.

So, when I go to open a short position, I need to be able to sum up the value of my short positions and compare that against, presumably, the Portfolio.CashBook["USD"].Amount.

Maybe there's a better way to do this?  

What's the best way to sum up the value of all the short positions?  I know I can loop through the Portfolio and get all the items where Quantity < 0, but I'm wondering if there's a more elegant solution?