Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

FinRL Paper Trading demo bug #1164

Open
olistokes opened this issue Jan 31, 2024 · 3 comments
Open

FinRL Paper Trading demo bug #1164

olistokes opened this issue Jan 31, 2024 · 3 comments

Comments

@olistokes
Copy link

I get the following errors when I run FinRL Paper trading demo. Please can you help?

TypeError Traceback (most recent call last)
in <cell line: 1>()
----> 1 train (start_date = '2022-12-04',
2 end_date = '2022-12-24',
3 ticker_list = ticker_list,
4 data_source = 'alpaca',
5 time_interval= '1Min',

2 frames
in train(start_date, end_date, ticker_list, data_source, time_interval, technical_indicator_list, drl_lib, env, model_name, if_vix, **kwargs)
58 )
59 model = agent.get_model(model_name, model_kwargs=erl_params)
---> 60 trained_model = agent.train_model(
61 model=model, cwd=cwd, total_timesteps=break_step
62 )

in train_model(self, model, cwd, total_timesteps)
75 model.cwd = cwd
76 model.break_step = total_timesteps
---> 77 train_agent(model)
78
79 @staticmethod

in train_agent(args)
308 env = build_env(args.env_class, args.env_args)
309 agent = args.agent_class(args.net_dims, args.state_dim, args.action_dim, gpu_id=args.gpu_id, args=args)
--> 310 agent.states = env.reset()[np.newaxis, :]
311
312 evaluator = Evaluator(eval_env=build_env(args.env_class, args.env_args),

TypeError: tuple indices must be integers or slices, not tuple

I'm running windows 10, python 3.10, on google chrome

@krishdotn1
Copy link
Contributor

most probably You used the environment which returns 5 values from step method and 2 values from reset method.
change this code
return state, reward, done, False, dict()
to
return state, reward, done, dict()

and from the reset function return only state
return self.get_state(price) please check the code.

it must resolve the error.
from new update gymnasium returns 5 values but elegantrl still returns 4.

let me know if you still get the error.

@olistokes
Copy link
Author

olistokes commented Feb 5, 2024 via email

@krishdotn1
Copy link
Contributor

image

in the above-marked file. you will find the reset method it returns 2 values change it to return self.get_state(price)
image

same with the step method return state, reward, done, dict()

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants