All Projects → eryk → Squant

eryk / Squant

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

Programming Languages

scala
5932 projects

Projects that are alternatives of or similar to Squant

Bursatil Argentina Python
Guia de ejemplos didácticos en python temática finanzas bolsa trading argentina usa
Stars: ✭ 153 (-1.29%)
Mutual labels:  trading, quant
Py Market Profile
A library to calculate Market Profile (aka Volume Profile) for financial data from a Pandas DataFrame.
Stars: ✭ 153 (-1.29%)
Mutual labels:  trading, quant
GOAi
No description or website provided.
Stars: ✭ 57 (-63.23%)
Mutual labels:  trading, quant
presso
Event-driven backtest/realtime quantitative trading system.
Stars: ✭ 59 (-61.94%)
Mutual labels:  trading, quant
Redtorch
Java开源量化交易开发框架
Stars: ✭ 528 (+240.65%)
Mutual labels:  trading, quant
autoxd
A股回测框架, 模拟实盘账户交易, 适合编写T+0策略
Stars: ✭ 71 (-54.19%)
Mutual labels:  trading, quant
51bitquant
51bitquant Python数字货币量化交易视频 CCXT框架 爬取交易所数据 比特币量化交易 交易机器人51bitquant tradingbot cryptocurrency quantitative trading btc trading
Stars: ✭ 284 (+83.23%)
Mutual labels:  trading, quant
wtpy
wtpy是基于wondertrader为底层的针对python的子框架
Stars: ✭ 283 (+82.58%)
Mutual labels:  trading, quant
Friartuck
Live Quant Trading Framework for Robinhood, using IEX Trading and AlphaVantage for Free Prices.
Stars: ✭ 142 (-8.39%)
Mutual labels:  trading, quant
Quantdom
Python-based framework for backtesting trading strategies & analyzing financial markets [GUI ]
Stars: ✭ 449 (+189.68%)
Mutual labels:  trading, quant
onetoken
1Token Demo & Docs
Stars: ✭ 53 (-65.81%)
Mutual labels:  trading, quant
Abu
阿布量化交易系统(股票,期权,期货,比特币,机器学习) 基于python的开源量化交易,量化投资架构
Stars: ✭ 8,589 (+5441.29%)
Mutual labels:  trading, quant
crypto-trading-engine
Crypto real-time trading engine
Stars: ✭ 19 (-87.74%)
Mutual labels:  trading, quant
howtrader
Howtrader is a crypto currency quant framework, you can easily develop, backtest and run your own strategy in real market. It also supports tradingview or other 3rd party signals, just simply send a post request and it will help trade automatically. Now it only support binance spot, futures and inverse futures exchange. It will support okex, ftx…
Stars: ✭ 294 (+89.68%)
Mutual labels:  trading, quant
cryptoquant
An Quantatitive trading library for crypto-assets 数字货币量化交易框架
Stars: ✭ 96 (-38.06%)
Mutual labels:  trading, quant
Tai
A composable, real time, market data and trade execution toolkit. Built with Elixir, runs on the Erlang virtual machine
Stars: ✭ 264 (+70.32%)
Mutual labels:  trading, quant
Vnpy
基于Python的开源量化交易平台开发框架
Stars: ✭ 17,054 (+10902.58%)
Mutual labels:  trading, quant
Starquant
a light-weighted, integrated trading/backtesting system/platform(综合量化交易回测系统/平台)
Stars: ✭ 250 (+61.29%)
Mutual labels:  trading, quant
Rqalpha
A extendable, replaceable Python algorithmic backtest && trading framework supporting multiple securities
Stars: ✭ 4,425 (+2754.84%)
Mutual labels:  trading, quant
Sgx Full Orderbook Tick Data Trading Strategy
Providing the solutions for high-frequency trading (HFT) strategies using data science approaches (Machine Learning) on Full Orderbook Tick Data.
Stars: ✭ 733 (+372.9%)
Mutual labels:  trading, quant

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

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].