Commissions - Combined Fixed Dollar plus Percent
Author: Panache
Creation Date: 11/26/2017 8:57 PM
profile picture

Panache

#1
Before I start trying to write a custom commission schedule, I wanted to make sure it doesn't already exist somewhere.

I'd like to have very accurate transaction costs, ie a fixed dollar commission plus the "SEC fee", which is a percentage of the dollar value of the transaction. Is that something that's already available?

If not, is there anything about the way commissions are calculated in Wealth-Lab that would make that impractical to implement?
profile picture

KGo

#2
Perhaps a combination of the Fixed rate Fidelity type commission and the Percent of Trade Value currently available in Community.Commissions could be done. However the SEC Fee is only applied to selling for securities and the C.Commissions percent currently applies to both buying and selling.

So an added question for your goal of very accurate commission: Is it possible to have commission applied to entry and exit plus a fee applied only to selling/shorting?
profile picture

Cone

#3
It would probably be a pretty trivial task to modify the Community.Commissions to include the SEC Fee for sales.

But I'll argue that the SEC fee of 0.0000125 of the trade value doesn't add a lot of significance to a simulation. That's just a $12.50 charge on a $1M sale. Imagine you buy $1M of AAPL - about 5700 shares at the current price. Just 1 penny of slippage represents $57, more than 4 times the SEC amount.

In fact, if you're not already using WL's slippage feature (assuming a market order strategy), you could just enter 0.00125 for slippage (or half that since it will be taken from both buys and sells) and you'd essentially be extracting that SEC fee. The Preferences > Slippage control only displays 2 decimals, but don't worry. If you enter 0.000625, that number will be used.
profile picture

Panache

#4
QUOTE:
Perhaps a combination of the Fixed rate Fidelity type commission and the Percent of Trade Value currently available in Community.Commissions could be done.
That's what I was thinking of writing. The existing IB Bundled Commissions in Community Commissions doesn't allow that because the fixed dollar is a minimum commission and the percent of trade value is a maximum commission, so they can't be added together.

QUOTE:
but don't worry. If you enter 0.000625, that number will be used
A great suggestion, but it doesn't work. In Tools>Preferences>Commissions, I have Apply Commissions to simulated trades checked and have Per Trade selected, with a commission setting of 8.0. In Tools>Preferences>Slippage and Round Lots, I have Activate Slippage for Market, AtClose and Stop Orders checked and entered 0.000625 in For Equities.

For testing, I used the following highly reproduceable code
CODE:
Please log in to see this code.

On 11/21/17, A closed at $69.91 and on 11/22/17, A closed at $68.69. When I run this Strategy, the profit is ($17,453.46), which is equal to (14,293 shares times $68.69 per share minus the $8.00 commission) minus (14,293 shares times $69.91 per share minus the $8.00 commission) WITH NO REDUCTION FOR SLIPPAGE. That is the same result I get if I uncheck Activate Slippage for Market, AtClose and Stop Orders.

I tried changing the AtClose orders to AtMarket, but the slippage is still not being factored in. If I change the slippage to 1%, it is taken into account.
profile picture

KGo

#5
QUOTE:
the SEC fee of 0.0000125
Should something be done, know the fee was raised in July 2017 to 0.0000231. As usual it should be user set.https://www.sec.gov/news/press-release/2017-111
profile picture

Panache

#6
QUOTE:
the fee was raised in July 2017 to 0.0000231
I know, but thank you.

QUOTE:
It would probably be a pretty trivial task to modify the Community.Commissions to include the SEC Fee for sales.
Not exactly trivial for someone who only does this a couple of times a year, but in any event, I wrote a new commission option which applies a commission of a fixed dollar per share plus an amount based on the value of the trade. Thank you.