向量化回测与Oanda交易机器人

本文介绍了如何使用Python模块进行深度Q学习交易机器人的向量化回测。通过OandaTradingBot类展示了如何部署交易机器人,结合了tpqoa库,实现了交易逻辑和数据处理,包括计算回报、准备特征数据、重采样以及交易报告。代码中还涉及了交易策略的执行、订单管理和交易细节的记录。

下面的 Python 模块会使用辅助函数 backtest 生成数据,以便对深度 Q 学习交易机器人进 行向量化回测。该代码在第 11 章中也使用过。 # # 交易机器人向量化回测 # (Q学习金融智能体) # # (c) Dr. Yves J. Hilpisch # Artificial Intelligence in Finance # import numpy as np import pandas as pd pd.set_option('mode.chained_assignment', None) def reshape(s, env): return np.reshape(s, [1, env.lags, env.n_features]) def backtest(agent, env): done = False env.data['p'] = 0 308 | 第 12 章 state = env.reset() while not done: action = np.argmax( agent.model.predict(reshape(state, env))[0, 0]) position = 1 if action == 1 else -1 env.data.loc[:, 'p'].iloc[env.bar] = position state, reward, done, info = env.step(action) env.data['s'] = env.data['p'] * env.data['r']

下面是带有 OandaTradingBot 类和部署该类的代码的 Python 脚本。 # # Oanda交易机器人 # 和部署代码 # # (c) Dr. Yves J. Hilpisch # Artificial Intelligence in Finance # import sys import tpqoa import pickle import numpy as np import pandas as pd sys.path.append('../ch11/') class OandaTradingBot(tpqoa.tpqoa): def __init__(self

评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值