Ejemplo n.º 1
0
def main(args):
    mode = args.mode
    # mode = 'test'
    # codes = args.codes
    codes = ["600036"]
    # codes = ["AU88", "RB88", "CU88", "AL88"]
    # codes = ["T9999"]
    market = args.market
    # market = 'future'
    # episode = args.episode
    episode = 200
    # training_data_ratio = 0.5
    training_data_ratio = args.training_data_ratio

    model_name = os.path.basename(__file__).split('.')[0]

    env = Market(
        codes,
        start_date="2008-01-01",
        end_date="2019-07-19",
        **{
            "market": market,
            # "use_sequence": True,
            # "mix_index_state": True,
            "logger": generate_market_logger(model_name),
            "training_data_ratio": training_data_ratio,
        })

    algorithm = Algorithm(
        tf.Session(config=config), env, env.trader.action_space, env.data_dim,
        **{
            "mode":
            mode,
            "episodes":
            episode,
            "enable_saver":
            True,
            "learning_rate":
            0.003,
            "enable_summary_writer":
            True,
            "logger":
            generate_algorithm_logger(model_name),
            "save_path":
            os.path.join(CHECKPOINTS_DIR, "RL", model_name, market, "model"),
            "summary_path":
            os.path.join(CHECKPOINTS_DIR, "RL", model_name, market, "summary"),
        })

    algorithm.run()
    algorithm.eval()
    algorithm.plot()
Ejemplo n.º 2
0
def main(args):
    mode = args.mode
    #mode = 'test'
    codes = args.codes
    #codes = ["600036"]
    #codes = ["eos_usdt"]
    # codes = ["600036", "601998"]
    # codes = ["AU88", "RB88", "CU88", "AL88"]
    # codes = ["T9999"]
    market = 'k15m'
    #market = args.market
    # market = 'future'
    # episode = args.episode
    episode = 1000
    training_data_ratio = 0.95
    # training_data_ratio = args.training_data_ratio

    #pdb.set_trace()

    model_name = os.path.basename(__file__).split('.')[0]

    #env = Market(codes, start_date="2018-06-04", end_date="2018-06-12", **{
    env = Market(codes, start_date=args.start, end_date=args.end, **{
        "market": market,
        "mix_index_state": False,
        "logger": generate_market_logger(model_name),
        "training_data_ratio": training_data_ratio,
    })

    algorithm = Algorithm(tf.Session(config=config), env, env.trader.action_space, env.data_dim, **{
        "mode": mode,
        "episodes": episode,
        "enable_saver": True,
        "learning_rate": 0.003,
        "enable_summary_writer": True,
        "logger": generate_algorithm_logger(model_name),
        "save_path": os.path.join(CHECKPOINTS_DIR, "RL", model_name, market, "model"),
        "summary_path": os.path.join(CHECKPOINTS_DIR, "RL", model_name, market, "summary"),
    })

    algorithm.run()
    algorithm.eval()
    algorithm.plot()
Ejemplo n.º 3
0
    def generator(code, start_date, end_date, market="stock", mode='trade'):
        training_data_ratio = 0.8
        episode = 500

        env = Market(
            code,
            start_date=start_date,
            end_date=end_date,
            **{
                "market": market,
                # "use_sequence": True,
                "logger": generate_market_logger(model_name),
                "training_data_ratio": training_data_ratio,
            })

        return Algorithm(
            tf.Session(config=config), env, env.trader.action_space,
            env.data_dim, **{
                "mode":
                mode,
                "episodes":
                episode,
                "enable_saver":
                True,
                "learning_rate":
                0.003,
                "enable_summary_writer":
                True,
                "logger":
                generate_algorithm_logger(model_name),
                "save_path":
                os.path.join(CHECKPOINTS_DIR, "RL", model_name, market,
                             "model"),
                "summary_path":
                os.path.join(CHECKPOINTS_DIR, "RL", model_name, market,
                             "summary"),
            })