eryk / Squant
SQuant是使用scala语言编写的量化开发工具箱,提供开箱即用的A股股票数据和外汇数据(docker镜像),以及高效的回测框架与交易模块。方便Java/Scala爱好者进行量化投资研究。 QQ群:281599099,微信公众号:Python量化交易实战。对,我已经转python了。。。
Stars: ✭ 155
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
presso
Event-driven backtest/realtime quantitative trading system.
Stars: ✭ 59 (-61.94%)
Mutual labels: trading, quant
51bitquant
51bitquant Python数字货币量化交易视频 CCXT框架 爬取交易所数据 比特币量化交易 交易机器人51bitquant tradingbot cryptocurrency quantitative trading btc trading
Stars: ✭ 284 (+83.23%)
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
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
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
- 计算和展示portfolio
- 接入外汇数据
- 验证在外汇上做回测
- 更新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
丰富的交易接口支持
快速上手
定时下载股票数据到指定目录
- 创建数据保存的目录
sudo mkdir /data
- 拉取squant的docker镜像
sudo docker pull registry.cn-hangzhou.aliyuncs.com/eryk/squant:1.1
- 启动squant镜像,任务会定时下载各类股票数据
sudo docker run --name squant -v /data:/data -d registry.cn-hangzhou.aliyuncs.com/eryk/squant: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
例如:
- 下载股票基本信息数据
java -cp squant-assembly-1.1.jar:conf com.squant.cheetah.Main source -t basic --init true
- 下载日线级别股票数据可以执行如下命令
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].