但知行好事,莫要问前程。
在您下载和使用本项目前,请务必阅读相关协议和注意事项
项目是基于Java语言开发的开源量化交易程序开发框架。
项目仓库地址: https://github.com/sun0x00/redtorch
Java
此项目仅供代码相互学习,不提供文档,部分问题可在FAQ查找答案 。
redtorch 整套开源框架的核心,承载主要业务逻辑,Gradle管理,有进一步细分的模块,详见代码
redtorch-web-react redtorch的web页面,此项目主要使用typescript react开发,使用node yarn构建,编译后被集成在redtorch/rt-master中
redtorch-python-client redtorch有三种主要访问形式,web、python、desktop,此项目提供了Python接入的模板
redtorch-resources 项目涉及到的第三方资源,JNI封装说明、源码等内容
项目部署可分为主节点(rt-master)、从节点(rt-slave)、桌面端(rt-desktop)、python-client。
主节点用于管理配置、接入数据库数据库、登录鉴权等,这个模块默认还包含Web服务,提供基本的用户操作接口。
从节点属于容器,承载网关等组件。
桌面端可选,这个模块提供更高性能的用户监控和操作接口,并可拓展开发图形化组件。
主节点、从节点、桌面端模块都在项目redtorch中,使用Gradle bootJar命令打包为 .jar 文件后,一般情况下,可通过java -jar <文件名>.jar 运行
主节点的默认web访问端口为9099, admin用户的密码使用SHA-256加密,配置在主节点配置文件中
从节点接入主节点之前,请现在主节点中生成从节点信息,将id和token配置到从节点的配置文件中
桌面端和python-client接入使用用户名密码,这也需要提前在主节点中配置,或直接使用admin用户
其它接入方式,可通过websocket使用任意语言接入,数据结构请遵循redtorch/rt-pb中Protobuf配置文件中的数据结构
配置网关请指定一个存在的从节点ID,否则网关将无法被连接
如果在jar文件所在运行目录中加入配置文件application.properties,其配置会默认覆盖打包在jar中的配置文件,这一点将十分便于生产部署,配置分离。
本系统已经在windows和linux中应用
支持MAC,但是请注意,rt-slave模块依赖一些第三方运行库,例如ctp相关的dll和so,这些第三方库不一定支持mac,因此无法完全兼容
在redtorch-python-client中,提供了一些策略模板,可作为参照
如果需要编写Java策略,请自行拓展开发
目前不支持回测,由于历史数据存在诸多不同,很多使用旧版的朋友都遇到了回测困难的问题,因此移除了Java策略引擎和回测引擎
未来,可能会有一个新的精简项目,用于处理此类问题(不能保证)
如果你是一般用户,建议不要在此项目投入过多时间。
如果你是非高频类的一般小型私募机构,此项目或许能带来帮助,在开发效率,维护便利性和性能上提供一定的保证。
此项目的的网关可自行拓展开发,同时此项目使用了非常复杂的数据键,因此可以支持复杂的账户定位,合约定位。
在实际使用中已有接入国内证券(受限于政策,只读)和外盘接口的先例。
MIT
用户在遵循MIT协议的同时,请务必严格遵守当地法律法规,如果用户下载、安装、使用本项目中所提供的软件,软件作者对任何原因在使用本项目中提供的软件时可能对用户自己或他人造成的任何形式的损失和伤害不承担任何责任。作者有权根据有关法律、法规的变化修改本项目协议。修改后的协议会随附于本项目的新版本中。当发生有关争议时,以最新的协议文本为准。如果用户不同意改动的内容,用户可以自行删除本项目。如果用户继续使用本项目,则视为您接受本协议的变动。
作者不参与何形式的商业支持,任何关于本项目的商业活动或涉及金钱的内容均与作者无关
市场莫测 风险自负
请务必充分理解各类相关风险