IMPORTANT : BIG BUG ON SPREAD !

Viewing 15 posts - 16 through 30 (of 66 total)
  • Author
    Posts
  • #184315 quote
    nonetheless
    Participant
    Master

    I ran some quick tests on the DJ using spread of 2, 2.5, 2.8, 3.5 and results were exactly as one might expect; % win stayed the same while total gain was slightly lower with each increase in the spread. If there is a bug, it does seem to be a forex-only problem, something getting lost in the difference between points and pips.

    #184316 quote
    Eric
    Participant
    Master

    If you exit with a profit (sell at limit) the spread doesent matter

    as long as you get filled

    and the only slippage is positive slippage

    #184317 quote
    PeterSt
    Participant
    Master

    If you exit with a profit (sell at limit) the spread doesent matter

    But it does, because the sequence of orders is going to change (positions run longer). Or you may run in a SL with the higher spread.

    #184318 quote
    PeterSt
    Participant
    Master

    If there is a bug, it does seem to be a forex-only problem, something getting lost in the difference between points and pips.

    This is almost more than interesting, because in IB there’s just no option to to even enter the BrokerFee somewhere for Forex. And indeed this is a Forex problem only. I described that problem here (again vague to begin with). Please notice that subjects/bugs like these were sent to PRT 11 months ago (after asking them whether it was a good idea to do that with the answer of Yes, after reporting it to local support something like 4 years ago already). I asked 4 times about the status of these formally sent bugs throughout the year 2021, before I gave up on it. Totally nothing happened anywhere. Anyway, this is besides the subject. Interesting is that something looks to be about with Forex. However :

    Meanwhile I have been running some tests, and what’s also mentioned in that link I just gave, is something which now looks to be a rounding issue. Or better : an insufficient resolution problem. Look at the attachments below …
    Left you see the PositionPerf result, right what was entered in the Editor.

    You thus can see the numbers we receive back from PositionPerf. This is with 5 decimals (looks to be the max rounding *we* can apply which is at 5 decimals, but I did not round anything), and this “percentage” is what we need to apply to our position amount. Like 480.000 in my example cases … This will give a maximum rounding error of a factor two, I’d say. Thus, this is 30 euros where it should be 60. And this is the same as denoting a spread of 0.8 while reality is 1.6 – and which is killing. Quick reasoning tells me now that to avoid this rounding error, we should enter 1.6 while we think it will be 0.8 (on average). Well, I already know that I can start over with my backtesting.

    So the relation with Forex should be the very small number (like 1.13 for EUR/USD). Well, try Penny Stocks ? 😉

    What’s funny is that I actually saw the problem many years ago (per my description in that link for the urge for one decimal more in the Editor’s field), but this was only a derivate – I know now. It is required just the same (but this is personal), but the same kind of error is made by PRT development in providing a 5-decimal-only number for PositionPerf.
    I might even go further with thinking that deep-down more does isn’t working, but now at the Broker’s side, because what tells me that my profit / loss is calculated with the right base ?? *This* now is that other topic and link I gave, because in there I am talking about not being able to understand Live regarding this. Things just don’t add up. … But by now I also like to see ghosts, so apologies if the ghosts are for real. 🙂

    PRTz592.png PRTz592.png PRTz592a.png PRTz592a.png PRTz592b.png PRTz592b.png PRTz592c.png PRTz592c.png
    #184323 quote
    GraHal
    Participant
    Master

    does seem to be a forex-only problem

    Zilliq and PeterSt have discussed Forex only, but they have made the point even with Forex all is fine except where spread entered in the backtest engine is < 1.

    So your test needed to be with spread < 1 to test if the bug might be on DJI also.

    #184324 quote
    PeterSt
    Participant
    Master

    even with Forex all is fine except where spread entered in the backtest engine is < 1.

    Thus indeed … the smaller the spread the larger the (rounding) error …

    GraHal thanked this post
    #184327 quote
    zilliq
    Participant
    Master

    Now I’m slowly picking up on the subject. Does that mean the spread in the back test is incorrectly calculated and a back test is therefore wrong ?! I usually use a higher spread than is calculated in real, so I’m on the safe side.

    SP500 always 0.6

    EURUSD always 1

    NASDAQ always 2

    Yes your spread on SP500 is probably Wrong and your results are overestimated because it considers there is a spread of 0(.6)=no spread

    Sorry

    Try to change your spread on sp500 to 0.3 and 0.9 and see if the Gain change

    #184328 quote
    zilliq
    Participant
    Master

    does seem to be a forex-only problem

    Zilliq and PeterSt have discussed Forex only, but they have made the point even with Forex all is fine except where spread entered in the backtest engine is < 1.

    So your test needed to be with spread < 1 to test if the bug might be on DJI also.

    In fact (previous message), the problem is with spread greater than 1 too, because it doesn’t consider the decimals 1.2, 1.4, 1.8 and so on

    1.2, 1.5, 1.8 ..=1

    GraHal thanked this post
    #184329 quote
    nonetheless
    Participant
    Master

    because it doesn’t consider the decimals 1.2, 1.4, 1.8 and so on

    That was not observable in my very quick tests on the DJ.

    But I did see some weird stuff on the SP: spread of 0.6 was worse than 0.4 (as you would expect), but spread =0 gave the worst result of all, when it should have been noticeably better.

    ???

    #184330 quote
    PeterSt
    Participant
    Master

    Dear people,

    For what it is worth, on my Forex amount of 480.000 (4.8 EUR/USD contracts) the first/lowest Spread number for the Editor that resembles reality is 1.9.
    See below;

    Thus calculated spread (orange) is 38,64695 while PositionPerf (yellow) shows -0,00008 = 0,00008 * 480.000 = 38,40. This will be depended on the position amount ? Let’s see (2nd attachment):

    Ha ! The SpreadAmount nicely doubled (orange) and the PositionPerf (yellow) remained the same. The PositionAmount is now 960.000.
    So at least this looks to be workable for everyone, once you know what to do for it (this might not be for everyone and at this moment I wonder whether it can be decently explained).

    Another thing is that by now, to me this seems to be more than “rounding error”. I mean, the 1.9 – including rounding error – seems mighty close to the desired spread of 0.8 times 2, right ?

    The average spread of 0.7 or so (according to IG support, proven by long spreadsheets) is taken only once. But if I ask PRT support about this, they seem to be quite clueless (read : no direct answer unless they are fed with answers). So I also can envision something to me amiss with the number of times the spread is taken by the PRT platform. I can’t even reason how that would go, but if double the number from reality gives reality results …
    More tests needed. 🙁

    image_2022-01-02_140417.png image_2022-01-02_140417.png image_2022-01-02_141048.png image_2022-01-02_141048.png
    #184333 quote
    zilliq
    Participant
    Master

    You’re right,

    It did some test on Dax and there is no bugs, it seems

    Seems to be, at least, on Forex

    But why, I don’t no

    #184334 quote
    PeterSt
    Participant
    Master

    But I did see some weird stuff on the SP: spread of 0.6 was worse than 0.4 (as you would expect), but spread =0 gave the worst result of all, when it should have been noticeably better.


    @nonetheless
    , carefully compare the trade Enters (the times), the length of the trades and obviously especially the number if trades. If this is not the same, then this is the reason for deviation. Any difference in spread will imply different trade times (unless you don’t play for break-even to begin with ;-)).
    Anyway, without further context I say that what you see is perfectly normal (or at least can be) to happen.

    #184335 quote
    PeterSt
    Participant
    Master

    In fact (previous message), the problem is with spread greater than 1 too, because it doesn’t consider the decimals 1.2, 1.4, 1.8 and so on

    With me it does. See my latest posts / screenshots. It just does as expected. But the rounding is killing. So it will depend on the amount you trade …

    zilliq thanked this post
    #184336 quote
    zilliq
    Participant
    Master

    In fact (previous message), the problem is with spread greater than 1 too, because it doesn’t consider the decimals 1.2, 1.4, 1.8 and so on

    With me it does. See my latest posts / screenshots. It just does as expected. But the rounding is killing. So it will depend on the amount you trade …

    Yes it depends / the impact on the amount you trade, the unit you trade and so on

    #184339 quote
    phoentzs
    Participant
    Master

    Maybe Nicolas can give us an answer?

Viewing 15 posts - 16 through 30 (of 66 total)
  • You must be logged in to reply to this topic.

IMPORTANT : BIG BUG ON SPREAD !


ProOrder: Automated Strategies & Backtesting

New Reply
Author
author-avatar
zilliq @zilliq Participant
Summary

This topic contains 65 replies,
has 10 voices, and was last updated by zilliq
4 years, 1 month ago.

Topic Details
Forum: ProOrder: Automated Strategies & Backtesting
Language: English
Started: 01/01/2022
Status: Active
Attachments: 57 files
Logo Logo
Loading...