TradzQAI 开源项目使用教程
1. 项目介绍
TradzQAI 是一个用于强化学习(RL)代理的交易环境,支持回测和训练。该项目受到 q-trader 的启发,并使用了 pyti 的指标库。TradzQAI 提供了多种代理(如 DDPG、DQFD、DQN、DQNN、NAF、PPO、TRPO、VPG)和合约类型(如 CFD 和 Classic)。此外,TradzQAI 还支持本地数据集和实时 Gdax API 交易。
2. 项目快速启动
2.1 安装依赖
首先,确保你已经安装了所有必要的依赖。可以通过以下命令安装:
pip install -r requirements.txt
2.2 运行项目
2.2.1 显示使用帮助
python run.py -h
2.2.2 手动构建配置文件
python run.py -b agent_name
默认情况下,agent_name
为 PPO。
2.2.3 启动实时会话
python run.py -s live
2.2.4 评估模式
python run.py -m eval
2.2.5 加载配置文件
python run.py -c config_dir/
确保在 config_dir/
目录中有 agent.json
、env.json
和 network.json
文件。
2.2.6 默认运行
python run.py
3. 应用案例和最佳实践
3.1 自定义决策函数
你可以自定义决策函数来处理 maker 侧的交易逻辑。以下是一个示例:
from core import Local_session as Session
from mymodule import myfunc
session = Session(mode=args.mode, config=args.config)
session.initApi(key=key, b64=b64, passphrase=passphrase, url=url, product_id=product_id)
session.getApi().setBestPriceFunc(myfunc)
3.2 自定义运行器
你可以创建自己的运行器来启动会话:
from core import Local_session as Session
session = Session() # 使用默认值运行
session.loadSession() # 加载环境和代理
session.start() # 启动会话线程
3.3 自定义工作线程
你可以创建自己的工作线程来处理交易逻辑:
from core import Local_env
env = Local_env() # 使用默认值运行
for e in episode:
state = env.reset()
for s in step:
action = agent.act(state)
next_state, terminal, reward = env.execute(action)
agent.observe(reward, terminal)
if terminal or env.stop:
break
if env.stop or e == episode - 1:
env.logger._running = False # 关闭日志线程
break
4. 典型生态项目
4.1 TradingBrain
TradingBrain 是一个与 TradzQAI 相关的项目,它提供了更高级的交易策略和算法。
4.2 q-trader
q-trader 是 TradzQAI 的灵感来源之一,它是一个基于强化学习的交易代理项目。
通过以上步骤,你可以快速上手并使用 TradzQAI 进行交易环境的回测和训练。