The Wayback Machine - https://web.archive.org/web/20200915120841/https://github.com/eryk/squant
Skip to content

SQuant是使用scala语言编写的量化开发工具箱,提供开箱即用的A股股票数据和外汇数据(docker镜像),以及高效的回测框架与交易模块。方便Java/Scala爱好者进行量化投资研究。 QQ群:281599099,微信公众号:Python与数字货币量化交易。对,我已经转python了。。。

master
Go to file
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
src
 
 
 
 
 
 
 
 

README.md

TODO

  1. 计算和展示portfolio
  2. 接入外汇数据
  3. 验证在外汇上做回测
  4. 更新wiki,介绍数据更新及使用方法

功能介绍

squant主要分成数据服务、回测引擎、交易模块三部分,下面就各个部分实现的主要功能做简要介绍:

数据服务

数据模块包括数据的采集、清洗,全量和增量更新,以及提供数据访问接口。数据分类包括股票和外汇数据,具体数据类别如下:

股票数据:

  • 股票基本信息数据
  • 股票历史逐笔数据
  • 股票和指数k线数据(5分钟、15分钟、30分钟、60分钟、日线)
  • 股票和板块资金流数据
  • 股票分类数据(行业、概念、地区)
  • 财务报表数据
  • 龙虎榜数据(开发中)

外汇数据:

  • EUR/USD
  • GBP/USD
  • USD/JPA
  • USD/CHF
  • AUD/USD
  • USD/CAD
  • NZD/USD
  • EUR/GBP

注意:数据更新支持全量更新好增量更新,具体操作方式请参考 快速上手

回测引擎

通过继承策略类 com.squant.cheetah.strategy.Strategy 并实现 handle() 函数来开发策略

abstract class Strategy(context: Context, broker: Broker) extends LazyLogging with Broker {
  def init()

  def handle()

常用策略示例请参考examples目录

可视化的图表分析工具

TODO

丰富的交易接口支持

快速上手

定时下载股票数据到指定目录

  1. 创建数据保存的目录

sudo mkdir /data

  1. 拉取squant的docker镜像

sudo docker pull registry.cn-hangzhou.aliyuncs.com/eryk/squant:1.1

  1. 启动squant镜像,任务会定时下载各类股票数据

sudo docker run --name squant -v /data:/data -d registry.cn-hangzhou.aliyuncs.com/eryk/squant:1.1

注意:数据更新任务配置文件点这里

  1. 手动执行下载任务
sudo docker exec -t -i **CONTAINER_ID** /bin/bash
cd /home/squant/
java -cp squant-assembly-1.1.jar:conf com.squant.cheetah.Main

squant 1.x
Usage: squant [source|test|run] [options]

  -h, --help               display this help and exit
Command: source [options]
init or download data source
  -t, --type <value>       set datasource to be downloaded,
							support: 
								all: all kind of datasource,
								basic: stock list with basic info,
								category: stock category data,
								daily: stock day bar,
								finance: Financial Statements,
								minute: stock minute bar,include 5/15/30/60 minutes,
								moneyflow: stock money flow data,
								tick: stock tick data
  --init <value>           if true,init data from source, default:false
  --start <value>          format:yyyyMMdd, set download start time
  --stop <value>           format:yyyyMMdd, set download stop time
  --clear <value>          if true,clean data dir before download, default:true
Command: test

Command: run

例如:

  1. 下载股票基本信息数据

java -cp squant-assembly-1.1.jar:conf com.squant.cheetah.Main source -t basic --init true

  1. 下载日线级别股票数据可以执行如下命令

java -cp squant-assembly-1.1.jar:conf com.squant.cheetah.Main source -t daily -init true

About

SQuant是使用scala语言编写的量化开发工具箱,提供开箱即用的A股股票数据和外汇数据(docker镜像),以及高效的回测框架与交易模块。方便Java/Scala爱好者进行量化投资研究。 QQ群:281599099,微信公众号:Python与数字货币量化交易。对,我已经转python了。。。

Topics

Resources

Packages

No packages published
You can’t perform that action at this time.