MIH8
- ago
Hello everybody,

I am a new user and I am very happy to be able to use the software in the future. My first impression is great. Now my first concern ...

While I tried the tool in the last days I thought that the settings for the commissions could be extended in the following way.

One configuration per minimum, maximum and default.

E.g. on IB these three commission units are separated.

Minimum is a fixed value (e.g. 1$)
Maximum is a percentage value (e.g. 1% of trade)
Basic setting (e.g. 0.005 per share).

I think with the different units for each limit you can estimate more accurate cost.

What do you think?
2
1,094
Solved
37 Replies

Reply

Bookmark

Sort
- ago
#1
Hi,

Glad you like Wealth-Lab, we appreciate this! "Commission Settings" have a basic setting with a minimum amount - and in WL8 they can apply on a per symbol/market basis. The only missing thing is maximum commission amount. Is my understanding correct? We could add it but I'm doubtful that a fine grained control is required beyond this.
0
MIH8
- ago
#2
Well, i am not a native speaker, maybe that is my problem.
What i mean is, that it is not clear to me how the units are assigned.

It is pretty obvious (for me), that the fields "Commission" and "Commsion Amount" correspond. But what is the unit for "Minimum Commision", is it "$" or "%" or even sth. else :-) ?



So, the point i try to make is, that each configuration has its own unit.

The second idea is when having these options, the maximum might be related to the "PctOfTradeValue". Maybe i am confused, but here is an example i have in mind (just to illustrate)

100$ 1.0$/Share -> 100 * 0.005 == 0.5$
100$ 0.1$/Share -> 1000 * 0.005 == 5.0$ but Maximum (1% perTrade) will reduce this value on 1$

Well, I think it has a relevant impact (if my understanding is correct) and IB as an connected broker makes it so.
Although I am talking about IB, this kind of change is not very specific and general use.

Maybe i am simply confused :-).
0
- ago
#3
QUOTE:
But what is the unit for "Minimum Commision", is it "$" or "%" or even sth. else :-) ?

It's per order. You can mouse over the label where it says that. In general, it's a good habit to have since most labels are documented with tooltips to avoid invoking the online help when you just want to quickly glance something. And it's a dollar figure, we should make it clear in the help.

QUOTE:
The second idea is when having these options, the maximum might be related to the "PctOfTradeValue"

Right, IB's maximum commission is percent-based. We will account for this when introducing a per order maximum commission preference.

Vote for your feature request from this page:
https://www.wealth-lab.com/wishlist
0
Best Answer
Cone8
 ( 28.25% )
- ago
#4
PctOfTradeValue is clearly %
Flat and Per Share are in $
0
- ago
#5
@MIH - Feature added to build 5.
1
MIH8
- ago
#6
Great. Thank you.
0
MIH8
- ago
#7
Hi,

can you have a look and check for max >= min ? (min <= commission amount <= max).
The commissions paid dropped under the minimum in the scoreCard report.

Thank you.
0
- ago
#8
Could you provide a more detailed test case?
0
MIH8
- ago
#9
Hello Eugene,

If you disable the maximum value, about 3.6 K will be spent because of the minimum value. If the maximum value is activated, the paid commissions are unexpectedly reduced. Considering the number of positions and the minimum value at the same time, the commissions paid should be higher, or am I wrong?





Of course i will provide mored detailed information if you need it.
0
- ago
#10
Please note that the maximum commission is based on a percent of trade value. It's not dollar based. As per Post #3, we designed it to follow the IBKR commission schedule. Does this help?
0
Glitch8
 ( 12.08% )
- ago
#11
Is the minimum commission like that too? Intuitively I would assume they’re both dollar based.
0
MIH8
- ago
#12
@Eugene

Well, it does not matter.

If the minimum is 1$ and the maximum of 1% would be 0.8$ you need to add 1$.
That said you will never pay less than 1$ and never more than 1% of the trade value. Within this range you will pay 0.005 per share.

Configuration: Min ($) <= Default (perShare) <= Max (%).

The commissions paid and are reported in the score card are finally the result of perShare and % calculations too.
0
- ago
#13
QUOTE:
If the minimum is 1$ and the maximum of 1% would be 0.8$ you need to add 1$.

No, the maximum commission caps the value so it will add $0.8 and not $1.
0
MIH8
- ago
#14
Ok, that explains my observations. Although i am little bit suprised but IB does handle it this way. ´

The note 8 from https://www.interactivebrokers.com/en/index.php?f=commission is

QUOTE:

In the event the calculated maximum per order is less than the minimum per order, the maximum per order will be assessed. For example, a purchase to buy 10 shares of a $0.20 stock will be charged $0.02 (10 shares x 0.005/share = 0.05 commission, minimum 1.00 per Order, capped at 10 shares x 0.20 x 1% = 0.02).


I am fine with it. Thank you for clarification.
1
MIH8
- ago
#15
Hello.

Sorry for reopen this topic. I ran into a situation which confused me. Although the link above clearly explains how the commissions will be charged, i was able to see in the TWS trading history that the commission minimum was used although the maximum was below the minimum, 1$/Trade



Then I discovered the following details.

https://www.interactivebrokers.com/en/pricing/commissions-stocks.php



https://www.interactivebrokers.com/en/index.php?f=52596&nhf=T


The numbers mentioned are identical for the maximum calculation. The special rule to use the maximum, if the maximum is below the minimum (see above) is not offered/used in the API context though.

As I understand it at the moment, the special rule depends on whether the API or a person triggers the order.
Do I understand this correctly and do you have a suggestion how I can map this correctly in the backtest with the available resources?

Thank you in advance.

EDIT: By the way, just looking at it again. Would it mean to switch to an Tiered model, API orders would be free of charge?




0
Glitch8
 ( 12.08% )
- ago
#16
Personally I would map it to the least favorable commission that is still able to be modeled in the WL8 commission settings.
0
MIH8
- ago
#17
I agree. But how do i do it? So far I have no idea how to prevent that a value smaller than the configurable minimum is ignored. Ideas are welcome. This makes each configuration more positive in total than with a fixed minimum.

WL implements it like it is explained in #14, which is correct in general.
But using the API seems to be different and i do not know how i can manually change it.
0
MIH8
- ago
#18
@WL Team or Glitch

QUOTE:

Personally I would map it to the least favorable commission that is still able to be modeled in the WL8 commission settings.




Can you please make a concrete suggestion based on Glitch's comment. I would really appreciate it, honestly.

How do I get that a minimum value is not undercut, if not with the parameter minimum itself?
It makes a huge difference if I have to pay Entry+Exit 2$ instead or 26 cents for example.
The backtest is too optimistic about commissions, if I understood IB's description correctly.
If I am misinterpreting it (the API context #15), I would also appreciate an explanation.
0
Glitch8
 ( 12.08% )
- ago
#19
I asked Eugene to respond too, but since I'd want to get the most pessimistic commision, I would select the Minimum Commission and uncheck the Maximum.
0
MIH8
- ago
#20
Unfortunately, I don't think that works there. The reason is that the maximum can be larger and smaller than the minimum.

Example 1: Max = 0,2$ (1% of trade 1) Min = 1$
Example 2: Max = 3,5$ (1% of trade 2) Min = 1$

If I deactivate Maximum I am also too positive, because I would calculate the second trade only with 1$ instead of 3,5$.

The pessimistic approach is actually to set values below the minimum to the minimum. I don't see how this can be configured.
At the same time keep values above the minimum (up to the maximum).

The problem is the IB rule, which is not consistent. Depending on how the order is triggered.
Of the two options available, the API variant is the pessimistic one, as it incurs higher costs.
Assuming that I have understood the documentation correctly. How do you interpret the above description of IB?
0
Glitch8
 ( 12.08% )
- ago
#21
But the Maximum is not the commission, it's the Maximum commission. I don't see how turning off the Maximum could result in a lower commission. It could only go higher because you're eliminating the cap.
0
MIH8
- ago
#22
Okay, now it has clicked.

If the 1% == $3.5, then that could have been 1.2% == $4.2 with the option turned off, as an example.
Further applies, if I understand you correctly, that a comparison with minimum then does not happen at all. (?!)

The commission will then be >= Minimum (1$).

API commissions can be measured with the maximum disabled. (In the back of your mind that the commissions are pessimistic).
Alternatively, you can trade manually in TWS with WL signals, taking into account the maximum by activating it for the backtest.

Thanks Glitch for your help.
0
Glitch8
 ( 12.08% )
- ago
#23
Yes, that's my thinking. I'm still not 100% clear on which takes priority when Minimum and Maximum are both enabled, waiting for Eugene to respond since he's responsible for creating this feature in WL8.

As a side note, in WL6 Commissions were "discoverable" and extendable objects, so extensions could plug in their own commissions so it was completely flexible. Since commissions have been going the way of zero we thought to simplify this in WL8, which has many more discoverable and pluggable components that WL6 had, but Commissions isn't one of them. We could always add this back as a #FeatureRequest if there's sufficient demand.
0
- ago
#24
If a minimum $ commission is set, it is applied.

If a maximum % commission is set, WL8 forces PctOfTradeValue commission i.e. sets commission to a specified Commission Amount value as % and caps it to the Max % Commission value.
0
MIH8
- ago
#25
QUOTE:

As a side note, in WL6 Commissions were "discoverable" and extendable objects, so extensions could plug in their own commissions so it was completely flexible. Since commissions have been going the way of zero we thought to simplify this in WL8, which has many more discoverable and pluggable components that WL6 had, but Commissions isn't one of them. We could always add this back as a #FeatureRequest if there's sufficient demand.


The previous solution is already quite valuable.

I think commissions have a very different influence on trading, depending on the time frame in which the strategies run. In scalping or day trading, there are very tight profit margins that can be wiped out very quickly by commissions. I can only recommend to backtest these strategies with commissions.

In general, I think costs / commissions are just better hidden by brokers but they still exist. (e.g. wider spreads)

By the way, I am glad that the commissions are now transparently listed in the backtest results.
At this point a quick question, because I can not understand the amounts.

This is what we talked about with maximum option disabled.



Next is with maximum amount enabled. So, how are the 5 cents calculated?
In other words, if 1% == 0.05$ (rounded for view), how is this related to the trade value?



Maybe I just need to drink another coffee. Thanks, for another short feedback.
0
MIH8
- ago
#26
Hello Eugene.

Can you please explain me how the amount is calculated? Based on the numbers shown in the (second) screenshot, I can't figure it out.
Is it a simple calculation error that needs to be fixed or am I missing something?
0
- ago
#27
Hello,

The Commission Amount is taken as percent from the respective field in Preferences > Backtest.
0
MIH8
- ago
#28
I know that. Seriously, please look at the numbers.
The view shows the resulting amount in $ not any percent value.

How can 1% of the trade value result in 5 cents?




0
- ago
#29
At the risk of repeating, the entered Commission Amount is treated as percent when calculating the maximum commission %:

Your amount = 0.005
First trade's value = $75.59 * 13 = $982.67
Resulting max commission = Value * (Max % i.e. 1 / 100.0) = $9.83

Since $0.05 is less than the max commission ($9.83), WL returns $0.05.

UPDATE: edited some error in the calculation (looked at the wrong field)
0
MIH8
- ago
#30
Ok, now there is a calculation, so we can talk about it.
I don't know why you use 1% of 0.005. For me the calculation looks like that.

Calculation

value = $75.59 * 13 = $982.67 ( trade value )

comish_min = $1
comish _std = 13 * $0.005 = $0.065
comish_max = $982.67 / 100 = $9.8267 (1% of the trade value)

Result: $1 because Minimum Rule needs to be used

Example - "max" rule should kick in

value = $0.38 * 250 = $95

comish_min = $1
comish_std = 250 * $0.005 = $1.25
comsh_max = $95 / 100 = $0.95 (1% Max < Minimum of $1)

Result: $0.95 because Maximum rule needs to be used

Example - default

value = $42 * 400 = $16800

comish_min = $1
comish_std = 400 * $0.005 = $2
comish_max = 16800 / 100 = $168

Result: $2 because $2 >$1 Minimum && $168 > $1 Minimum too

Can you accept that i already know that we are talking about percent calculation but it is not clear what the base value is? Let's clarify ...

Regardless of which value is finally to be used based on the rules, I see the difference in the calculation of the value. In my understanding the 1% are realized to the trade value and not the commission value. Please correct me if i am wrong.
0
- ago
#31
QUOTE:
I don't know why you use 1% of 0.005. For me the calculation looks like that.

Because you entered that value (Post #9). Regardless of the commission plan used, this value is treated as percentage for the purpose of calculating the maximum commission (!) First, WL calculates the minimum commission and then the maximum commission - which takes precedence.
0
MIH8
- ago
#32
QUOTE:

Regardless of which value is finally to be used based on the rules, I see the difference in the calculation of the value. In my understanding the 1% are realized to the trade value and not the commission value. Please correct me if i am wrong.


Do you understand what i want to say? The commission is calculated on the trade value.
1% of the trade value, not the 1% of the commission itself.
Is that a difference ?!!

Do you follow my examples? Do you read what i write sometimes?
What value needs to be used for calcuation? That was my question.

The 1% must be calculated on the basis of the trade value.
As you have already shown, you do not do that! Please fix it or correct me.
0
MIH8
- ago
#33
Hello Eugene.

Even after editing your post and correcting the trade value, your calculation is still wrong.

Before correction of the trade value



After correction of the trade value



My explanation

Now, because 1% of the trade value is $9.83, it is higher than the minimum value $1.
The default calcuation needs to be done.

comish_min = $1
comish_std = 13 * $0.005 = $0.065
comish_max = $75.59 * 13 / 100 = $9.83

The final result is $1 (not $0.05).

Only in very rare cases where the 1% of the trade value (max commission value) should drop below the minimum of 1$, the resulting commission can be less than 1$. Otherwise it is inbetween, like 1$ <= commission <= max commission.

I would be happy if you confirm the appropriate correction. Thank you very much.

0
- ago
#34
Consider it fixed: we found a bug in the code.
1
MIH8
- ago
#35
Thanks a lot.
0
- ago
#36
Please uninstall B11 first and then update to Build 11B.
0
MIH8
- ago
#37
QUOTE:

Please uninstall B11 first and then update to Build 11B.


Wow! I did not expect a hot fix. Thanks!
0

Reply

Bookmark

Sort