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

Change coins #47

Closed tomeq93 closed 6 years ago

tomeq93 commented 6 years ago

Hello,

First of all i'd like to thank you for sharing code with great paper. I've got question about your idea to change coins, because its not uncommon especially in crypto markets that previously chosen coin simply disappears from market or just become unpopular with ~0 volume. I find that agent isn't ready for that is it? Obvious idea would be to just learn new agent after some time past (f.e. 1-2 month) but it seems there is a better way.

ZhengyaoJiang commented 6 years ago

I find that agent isn't ready for that is it?

The agent is actually not sensitive to the type of the asset it is trading while the current program framework doesn't support that.

tomeq93 commented 6 years ago

But internally in nnagent in decide_by_history input_tensor is initialised with same shape (len(features), len(coins), len(window_size)) with proper values - isn't that tied with fact that values of coin X is always in position X, and that affects output because net has history for that coin 'remembered'? And now if i change coin, i would use history for old coin (for some time) and slowly feed it with new outputs?

dexhunter commented 6 years ago

I don't think current framework supports dynamically selecting coins. You probably need to do some modification or add the coins at the config and train again.

tomeq93 commented 6 years ago

Thanks, thats what i thought. I really appreciate you and Zheng are actively responding for issues, thanks again :) If i can have one more question - in shared example you have set buffer_biased to 5e-5 and rolling_training_steps to 85, dont you find it too low? I think net will often miss to learn with newest data which are the most important?

dexhunter commented 6 years ago

It is possible but as @ZhengyaoJiang said in another issue, the configuration is found automatically rather than manually.

On Fri, Jan 19, 2018 at 2:48 PM, tomeq93 notifications@github.com wrote:

Thanks, thats what i thought. I really appreciate you and Zheng are actively responding for issues, thanks again :) If i can have one more question - in shared example you have set buffer_biased to 5e-5 and rolling_training_steps to 85, dont you find it too low? I think net will often miss to learn with newest data which are the most important?

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/ZhengyaoJiang/PGPortfolio/issues/47#issuecomment-358881383, or mute the thread https://github.com/notifications/unsubscribe-auth/AGnAVi2lW9eBfd1CffzI6p0GSiAGnGPhks5tMDqlgaJpZM4Rfpxu .

-- Kind regards, Dex