This repository has been archived by the owner on Feb 16, 2020. It is now read-only.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Bugfix
Roundtrip calculations only work if you follow a specific order of sequential events, I think it's buy then sell, ad infinitum. If you start with all your holdings in asset then move to currency you first roundtrip does not compute properly, and if you execute multiple sells/buys consecutively it messes up P&L computations (and shows incorrect durations).
This change records the P&L entry state by adding an ID so we can see when new positions are opened, and when an existing position is being updated by consecutive events, this also gives inherent stability if your first action is a sell (IIRC, it will just not report this case since the information is incomplete).
This change leads way to changes I will prepare and push in the future that allows strategies to specify a percentage of the portfolio to trade, which is desirable as it allows risk management in the strategy advice.
@werkkrew Based on other changes you've made I wonder if this will be relevant for you.