Urgent - Positions bought without using cash

I have a (hopefully) odd bug that I noticed today. I just started sending signals to C2 today, and noticed a big error that I consider fatal.

Re: System ID 63143778 [LINKSYSTEM_63143778]

For Signal ID: 64080996

Bought: 309 shares of LIWA @ $5.95

C2 Shows: ($919) Cash and $0 margin was used for this buy

Problem: $1838.55 should be the actual minimum cash amount used for this purchase

For Signal ID: 64067920

Bought: 330 shares of BORN @ $5.86

C2 Shows: ($993) Cash and $0 margin was used for this buy

Problem: $1933.80 should be the actual minimum cash amount used for this purchase

My problem is with the above, and since I use the Signal Entry API calls ( getsystemhypothetical and getbuypower ) to determine my position sizing (a simple Total System Equity / 5) to hold 5 close-to-equally-sized positions, these are both returning horribly bad data for the Buying Power, Cash, and Equity. The only value that looks correct on the C2 page is the Total System Equity , but this line item is not available via the API. I believe the underlying problem is the incorrectly recorded values for Cash $ used when purchasing the shares, and this is throwing all of the other values off.

Please let me know ASAP, since I will have to avoid using C2 until I am assured that this issue is resolved.

It’s not an error, it’s rather a strange definition of buy power and margin. You might want to look at this post which addresses a similar question:


The basic answer is that when you buy a stock, we reduce value of “Cash” in your Model Account by half the value of the stock you purchase. The other half is borrowed. This borrowed half does not appear in the “margin” column, however. Rather it gets taken away from your “buy power.” (The bucket we call “margin” includes only the good-faith deposit required for futures or forex positions, not stocks.)

So, to sum up, if you buy 100 shares of stock at $10 per share, your cash will be reduced by $500 and your buy power will be reduced by $500.

I understand that, however, some positions that were opened today used the exact amount of cash, and some used roughly 50% of the amount of cash. Is there a reason why there is a difference with trades that were placed minutes apart… one would use the correct cash amount, while the other only used 50% of the full cash amount and neither used margin?

My next question is… using the methodology you described… how would I determine the correct "Total System Equity" using the Signal Entry API. None of the calls, or any calculation of the calls return this value, which is what is needed for a non-margined trading system to determine position sizing automatically.

Stocks under $5 can not be bought using margin and so those stocks will be bought for their entire purchase price using cash.

System equity can be requested by using the getsystemhypothetical call. You can read about it in the documentation here: http://www.collective2.com/content/automation.htm#getsystemhypo

Equity is showing up incorrect for the signals in question also… hence why I thought this was a bug to begin with:

309 Shares of LIWA @ $6.02 = Equity $21

339 Shares of BORN @ $5.84 = Equity ($6)

The system equity, as shown on the system page, and being returned by the API call is: $4,203

This is incorrect from what I calculate. The system is currently holding ~ $8,152 of stocks, so why would equity show only $4,203, and why would the equity for those individual holdings be almost nothing?

No. Equity in this case means the net gain or loss of the stock position in question. Equity of $21 means your position, whatever its initial value, has made a profit of $21.

Why is equity for my holding of DEXO showing at $2,508 while P/L shows $413? It sure didn’t make $2,508 today when only $2,031 was spent on it. The same thing with my holding of LLEN.

Equity of LIWA shows $21 while P/L shows $19 – same thing with my holding of BORN.

In addition, the equity $ amount being shown for the entire system is nowhere near the real equity of the system, if you add up the values of all of the holdings. The only numbers that looks like they might are correct are “Started”, “Cumulative $”, and “Total System Equity”.

Something is definitely wrong here. I’d appreciate someone looking deeper into the issue before I can continue using C2. I’ve looked at many systems and can’t see any one of them showing the same issue I am seeing on my particular system.

I’d also like to request a partial refund or credit, since I was unable to enter a 5th position today due to the inconsistency of the equity amounts.

The line-by-line display of cash/margin/equity is a bit peculiar, admittedly. C2 displays the per-trade data slightly differently in cases where margin is used for stock purchases and in other cases. In the case of DEXO, the stock is less than $5, so the “cash” column reflects the full price of the purchase, and the “equity” column reflects the entire equity of the position (not just profit).

In cases where stocks are above $5, “equity” reflects only the net p/l of the position, and cash shows only the amount of cash deducted (half the purchase price).

This is for display purposes only. Internally, equity is equity – in the case of U.S. stocks, it’s the value of the position you hold.

You can know your system’s total equity by looking at the line item on C2 that says, well, “Total System Equity.” That number is actionable, and it matches the line in your equity chart. The two numbers you need to care about are your buy power (you can’t buy a position larger than that) and your total system equity (which tells you, and everyone else, how your system is performing on a marked-to-market basis).

Admittedly, the methodology and terminology is unusual, but there’s a reason for this: we’re trying to handle several different instrument classes (futures, forex, stocks, non-US stocks) and several different margining regimes, but using only one pool of cash and margin. So we’ve had to repurpose some terms, and label things in unfamiliar ways. But the end results do actually work, and ultimately do make sense, and we’ve been doing this for quite some time.

Your other complaints and requests are more appropriately answered and asked by email, and I will respond via that channel.

Thank you for the help. For anyone else following this thread… This issue is being resolved and I am gaining a better understanding of how C2 uses these numbers… I am making some recommendations for enhancements to the Signal Entry API as well.