Skip to content
/ quant4s Public
forked from quant4s/quant4s

一个用scala 实现的交易平台系统,支持多语言编写策略,支持回测,支持实盘

Notifications You must be signed in to change notification settings

qutz/quant4s

This branch is up to date with quant4s/quant4s:master.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

author
quant4s
Apr 10, 2017
a111448 · Apr 10, 2017
Apr 10, 2017
Apr 10, 2017
Apr 8, 2017
Mar 19, 2017
Apr 10, 2017
Apr 8, 2017
Mar 19, 2017
Apr 9, 2017
Mar 19, 2017
Apr 10, 2017
Mar 19, 2017
Apr 8, 2017
Oct 13, 2016
Sep 4, 2016
Apr 9, 2017
Mar 19, 2017
Sep 4, 2016
Sep 4, 2016
Sep 26, 2016
Aug 11, 2016

Repository files navigation

quant4s

一个用scala 实现的交易平台系统,支持多语言(C#, PYTHON, JAVA, R, MATLAB)编写策略,支持实盘

简介

引擎采用Scala 语言,基于Akka 架构编写,并完全采用开源化管理方案。系统可以构建在桌面系统和云服务器上。 设计目标是采用Actor模型,提供一种大数据下,高并发计算的股票算法交易方案。系统采用JDK1.8,支持LINUX, WINDOWS, MAC OS等平台。 引擎分为服务器端和客户端两个部分组成。客户端请参见quant4s-sdk

服务器端的主要功能接收数据,高并发的指标计算。 客户端的主要功能,根据服务器提供计算好的数据判断买卖点,下单交易。

quant4s 可以胜任绝大多数的策略应用场合,但是对ns级别的高频力不从心,除此之外的策略,quant4s 都游刃有余。

更详细的内容参见WIKI

项目定位

一个策略的实盘分为 3个部分。

  1. 数据源采集
  2. 数据的分析和计算,为策略快速提供计算后的数据
  3. 根据 数据 判断买卖点,下单交易。

1 方便的接入各种数据源;2 高效提供指标数据计算、模式匹配,是本项目的核心价值。项目提供了交易功能,同时也让用户可以选择使用其他各种语言编写的交易通道。

技术架构

参见知乎

技术特点

  1. 采用了分布式部署,将策略和引擎从物理层上分离。引擎部署在服务器端,策略部署在客户端,使得执行多个策略成为可能。
  2. 采用Actor模型,实现了高并发的计算,让多指标、大数据量计算不在成为性能的瓶颈
  3. 将指标的计算从客户端转移到服务器端,在应用层实现了指标的共享,降低了策略开发的难度
  4. 优雅的实现了跨周期策略的直接支持, 可以直接指定技术指标的数据推送的周期,参见SDK
  5. 完美的提供了多语言的支持。只要语言可以访问http,可以支持zeromq,那么这种语言就可以用来编写策略
  6. 优美的指标框架,可以很方便的扩展自己的技术指标
  7. 提供了作业机制,可用于定期作业。比如(每天早上 9:00 推送历史数据分钟线,保证当天计算技术指标的连续性

后续的目标

  1. 集成选股框架,让策略选股更容易
  2. 完善系统监控界面

部署方法

  1. 安装zeroMQ, 参见 http://zeromq.org/ ,
  2. 克隆,编译,运行项目
git clone https://github.com/quant4s/quant4s
mvn compile
sh run.sh [linux]

扩展方法

交易接口

  1. 从Brokerage派生之类
  2. 修改TradeRouteActor._init, 增加支持

数据接口

  1. 参照 SinaL1Actor, 构建Actor
  2. 修改配置文件application.conf, 可同时支持多个数据源(不同的数据, 如果数据相同,在Tick级别时可能会报错)。

About

一个用scala 实现的交易平台系统,支持多语言编写策略,支持回测,支持实盘

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 39.0%
  • Scala 29.7%
  • HTML 17.9%
  • CSS 12.9%
  • ActionScript 0.5%
  • Ruby 0.0%