|
14 | 14 | parser.add_argument('--stock_code', nargs='+') |
15 | 15 | parser.add_argument('--ver', choices=['v1', 'v2'], default='v2') |
16 | 16 | parser.add_argument('--rl_method', |
17 | | - choices=['dqn', 'pg', 'ac', 'a2c', 'a3c']) |
| 17 | + choices=['dqn', 'pg', 'ac', 'a2c', 'a3c', 'monkey']) |
18 | 18 | parser.add_argument('--net', |
19 | | - choices=['dnn', 'lstm', 'cnn'], default='dnn') |
| 19 | + choices=['dnn', 'lstm', 'cnn', 'monkey'], default='dnn') |
20 | 20 | parser.add_argument('--num_steps', type=int, default=1) |
21 | 21 | parser.add_argument('--lr', type=float, default=0.01) |
22 | 22 | parser.add_argument('--discount_factor', type=float, default=0.9) |
|
63 | 63 |
|
64 | 64 | # 로그, Keras Backend 설정을 먼저하고 RLTrader 모듈들을 이후에 임포트해야 함 |
65 | 65 | from agent import Agent |
66 | | - from learners import DQNLearner, PolicyGradientLearner, \ |
67 | | - ActorCriticLearner, A2CLearner, A3CLearner |
| 66 | + from learners import ReinforcementLearner, DQNLearner, \ |
| 67 | + PolicyGradientLearner, ActorCriticLearner, A2CLearner, A3CLearner |
68 | 68 |
|
69 | 69 | # 모델 경로 준비 |
70 | 70 | value_network_path = '' |
|
130 | 130 | learner = A2CLearner(**{**common_params, |
131 | 131 | 'value_network_path': value_network_path, |
132 | 132 | 'policy_network_path': policy_network_path}) |
| 133 | + elif args.rl_method == 'monkey': |
| 134 | + args.net = args.rl_method |
| 135 | + args.num_epoches = 1 |
| 136 | + args.discount_factor = None |
| 137 | + args.start_epsilon = 1 |
| 138 | + args.learning = False |
| 139 | + learner = ReinforcementLearner(**common_params) |
133 | 140 | if learner is not None: |
134 | 141 | learner.run(balance=args.balance, |
135 | 142 | num_epoches=args.num_epoches, |
|
0 commit comments