ZhengyaoJiang / PGPortfolio

PGPortfolio: Policy Gradient Portfolio, the source code of "A Deep Reinforcement Learning Framework for the Financial Portfolio Management Problem"(https://arxiv.org/pdf/1706.10059.pdf).
GNU General Public License v3.0
1.74k stars 750 forks source link

About very small trades #61

Closed pisiiki closed 6 years ago

pisiiki commented 6 years ago

Hello,

I have observed that the target portfolio vs the portfolio you can reach by trading may differ a bit due to minimal volume required to perform trades. Do you think it would be difficult to modify the code to account for this? Ie: you can pass to the nn the minimal amount of cash required to buy/sell each asset so it won't suggest changes in target porfolio per asset smaller than this threshold.

Thanks.

ZhengyaoJiang commented 6 years ago

Hi, In general, the minimal volume of trading is very small. I think you can ignore them during live-trading.

Regards Zhengyao

pisiiki commented 6 years ago

Hello,

Thanks for your answer. I agree with you that most of the time the volume is negligible, however my intuition is that as the period gets smaller you may be trading less and less per step. There is a point where these volumes will be smaller than the minimal trade limit. At this point the differences between the training and the live trading will probably impact performance in a noticeable way.

I have observed this myself in my own experiments. The system tries to trade very small amounts under some circumstances step after step. This makes me wonder if that amount will accumulate with each step to something significant. In other words, maybe the bot is trying to raise an asset quantity slowly because it was perfectly valid during training.

Regards. Isaac.

astanziola commented 6 years ago

@pisiiki A way to circumvent the last issue that you observed, is to keep track of the previous output of the network and feed this one for the next step, rather than using the real one. However, I'm not sure how this will impact the real performance.