All Projects → mmmaaaggg → IBATS_HuobiTrader_old

mmmaaaggg / IBATS_HuobiTrader_old

Licence: GPL-3.0 license
【停止维护】新版本更新已迁移到 IBATS 项目组对应名称项目中。Auto Backtest Analysis Trade Framework 支持期货、数字货币进行量化交易,集成回测、分析、交易于一体。当前项目主要用于数字货币使用。

Programming Languages

python
139335 projects - #7 most used programming language
shell
77523 projects

Projects that are alternatives of or similar to IBATS HuobiTrader old

Crex
A Golang cryptocurrency trading API & Library. Support Binance, BitMEX, Deribit, Bybit, Huobi DM, OKEX Futures and more.
Stars: ✭ 166 (+690.48%)
Mutual labels:  quant, backtest
DeltaTrader
极简版Python量化交易工具
Stars: ✭ 174 (+728.57%)
Mutual labels:  quant, trader
Starquant
a light-weighted, integrated trading/backtesting system/platform(综合量化交易回测系统/平台)
Stars: ✭ 250 (+1090.48%)
Mutual labels:  quant, backtest
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 (+1300%)
Mutual labels:  quant, trader
goex backtest
goex orderbook回测, fetch驱动非event驱动的数字货币回测系统
Stars: ✭ 33 (+57.14%)
Mutual labels:  quant, backtest
openctp
CTP开放平台提供A股、港股、美股、期货、期权等全品种接入通道,通过提供中泰证券XTP、华鑫证券奇点、东方证券OST、东方财富证券EMT、盈透证券TWS等各通道的CTPAPI接口,CTP程序可以无缝对接各股票柜台。平台也提供了一套基于TTS交易系统的模拟环境,同样提供了CTPAPI兼容接口,可以替代Simnow,为CTP量化交易开发者提供7x24可用的模拟环境。
Stars: ✭ 389 (+1752.38%)
Mutual labels:  quant, trader
presso
Event-driven backtest/realtime quantitative trading system.
Stars: ✭ 59 (+180.95%)
Mutual labels:  quant, backtest
Rqalpha
A extendable, replaceable Python algorithmic backtest && trading framework supporting multiple securities
Stars: ✭ 4,425 (+20971.43%)
Mutual labels:  quant, backtest
binance-downloader
Python tool to download Binance Candlestick (k-line) data from REST API
Stars: ✭ 44 (+109.52%)
Mutual labels:  backtesting-trading-strategies, backtest
LiuAlgoTrader
Framework for algorithmic trading
Stars: ✭ 514 (+2347.62%)
Mutual labels:  trader
mt4-expander
DLL extension for the MetaTrader MQL4 framework
Stars: ✭ 25 (+19.05%)
Mutual labels:  backtest
Pandoratrader
CTP 高频量化交易平台 C++ Trade Platform for quant developer
Stars: ✭ 238 (+1033.33%)
Mutual labels:  quant
IBATS HuobiFeeder old
【停止维护】新版本更新已迁移到 IBATS 项目组对应名称项目中。连接火币交易所,获取火币实时行情、火币历史行情,保存到mysql数据库同时redis广播,供 ABAT 交易平台进行策略回测、分析,交易使用
Stars: ✭ 38 (+80.95%)
Mutual labels:  quant
mooquant
MooQuant 是一个基于 pyalgotrade 衍生而来的支持 python3 的支持国内A股的量化交易框架。
Stars: ✭ 24 (+14.29%)
Mutual labels:  quant
cryptoquant
An Quantatitive trading library for crypto-assets 数字货币量化交易框架
Stars: ✭ 96 (+357.14%)
Mutual labels:  quant
Alphatools
Quantitative finance research tools in Python
Stars: ✭ 226 (+976.19%)
Mutual labels:  quant
Vnpy
基于Python的开源量化交易平台开发框架
Stars: ✭ 17,054 (+81109.52%)
Mutual labels:  quant
wolfinch
Wolfinch is your friendly trader Bot written in Python
Stars: ✭ 246 (+1071.43%)
Mutual labels:  strategies
pandas-datareader-gdax
GDAX data for Pandas in the style of DataReader
Stars: ✭ 11 (-47.62%)
Mutual labels:  quant
MyTT
MyTT将通达信,同花顺,文华麦语言等指标公式,最简移植到Python中,核心库单个文件,仅百行代码,十几个核心函数,神奇的实现所有常见技术指标算法(不依赖talib库)的纯python实现和转换通达信MACD,RSI,BOLL,ATR,KDJ,CCI,PSY等公式,全部基于pandas函数计算方法封装,简洁且高性能,能非常方便的应用在股票指标公式,股市期货量化框架分析,自动程序化交易,数字货币量化等领域,它是您最精练的股市量化工具。Python library with most stock market indicators.
Stars: ✭ 888 (+4128.57%)
Mutual labels:  quant

ABAT_trader_4_blockchain

Auto Backtest Analysis Trade Framework (简称ABAT)支持期货、数字货币进行量化交易,集成回测、分析、交易于一体。与市场上同类回测框架相比,有如下优势:

  • 更加完备的支持多品种、多周期策略交易
  • 对跨周期策略回测更加真实,回测模式下,将不同周期数据进行时间排序推送,从而激活对应的周期的响应函数
  • 框架采用分部署架构,行情推送与主框架可分离部署,通过redis进行数据广播
  • 未来将可以支持股票、期货、数字货币多种接口,同时交易

主要组件:

  • 行情代理 md agent
  • 交易代理 trade agent
  • 行情推送 md feeder
  • 回测及实时行情交易框架 ABAT

当前项目主要用于对数字货币进行自动化交易,策略分析使用。

由于精力有限,目前暂未实现前端展现。交易自动执行,通过日至可查看交易执行情况。

安装

系统环境要求:

Python 3.6

MySQL 5.7 (具体配置见下文)

Redis 3.0.6

配置

config.py 配置文件

策略运行示例

strategy 目录下

  • simple_strategy.py 实现简单均线交叉策略回测\
  • file_strategy.py 调仓文件导入式的交易(实时行情)\

其他策略 coming soon

策略研发框架

执行策略

# 参数设置
strategy_params = {}
md_agent_params_list = [
	# {
	#     'name': 'min1',
	#     'md_period': PeriodType.Min1,
	#     'instrument_id_list': ['rb1805', 'i1801'],  # ['jm1711', 'rb1712', 'pb1801', 'IF1710'],
	#     'init_md_date_to': '2017-9-1',
	#     'dict_or_df_as_param': dict
	# },
	{
		'name': 'tick',
		'md_period': PeriodType.Tick,
		'instrument_id_list': ['ethusdt', 'eosusdt'],  # ['jm1711', 'rb1712', 'pb1801', 'IF1710'],
	}]
run_mode_realtime_params = {
	'run_mode': RunMode.Realtime,
	'enable_timer_thread': True,
	'seconds_of_timer_interval': 15,
}
run_mode_backtest_params = {
	'run_mode': RunMode.Backtest,
	'date_from': '2017-9-4',
	'date_to': '2017-9-27',
	'init_cash': 1000000,
	'trade_mode': BacktestTradeMode.Order_2_Deal
}
# 初始化策略处理器
stghandler = StgHandlerBase.factory(
	stg_class_obj=ReadFileStg,
	strategy_params=strategy_params,
	md_agent_params_list=md_agent_params_list,
	**run_mode_realtime_params)
# 开始执行策略
stghandler.start()
# 策略执行 2 分钟后关闭
time.sleep(120)
stghandler.keep_running = False
stghandler.join()
logging.info("执行结束")

StgHandlerBase.factory 为工厂方法,用于产生策略执行对象实力

def factory(stg_class_obj: StgBase.__class__, strategy_params, md_agent_params_list, run_mode: RunMode, **run_mode_params):
    """
    建立策略对象
    建立数据库相应记录信息
    根据运行模式(实时、回测):选择相应的md_agent以及trade_agent
    :param stg_class_obj: 策略类型 StgBase 的子类
    :param strategy_params: 策略参数,策略对象初始化是传入参数使用
    :param md_agent_params_list: 行情代理(md_agent)参数,支持同时订阅多周期、多品种,例如同时订阅 [ethusdt, eosusdt] 1min 行情、[btcusdt, ethbtc] tick 行情
    :param run_mode: 运行模式 RunMode.Realtime  或 RunMode.Backtest
    :param run_mode_params: 运行参数,
    :return: 策略处理对象实力
    """

欢迎赞助

微信

微信支付

支付宝

微信支付

微信打赏(¥10)

微信打赏

MySQL 配置方法

  1. Ubuntu 18.04 环境下安装 MySQL,5.7

    sudo apt install mysql-server
  2. 默认情况下,没有输入用户名密码的地方,因此,安装完后需要手动重置Root密码,方法如下:

    cd /etc/mysql/debian.cnf
    sudo more debian.cnf

    出现类似这样的东西

    # Automatically generated for Debian scripts. DO NOT TOUCH!
    [client]
    host     = localhost
    user     = debian-sys-maint
    password = j1bsABuuDRGKCV5s
    socket   = /var/run/mysqld/mysqld.sock
    [mysql_upgrade]
    host     = localhost
    user     = debian-sys-maint
    password = j1bsABuuDRGKCV5s
    socket   = /var/run/mysqld/mysqld.sock

    以debian-sys-maint为用户名登录,密码就是debian.cnf里那个 password = 后面的东西。 使用mysql -u debian-sys-maint -p 进行登录。 进入mysql之后修改MySQL的密码,具体的操作如下用命令:

    use mysql;
    
    update user set authentication_string=PASSWORD("Dcba4321") where user='root';
    
    update user set plugin="mysql_native_password"; 
     
    flush privileges;
  3. 然后就可以用过root用户登陆了

    mysql -uroot -p
  4. 创建用户 mg 默认密码 Abcd1234

    CREATE USER 'mg'@'%' IDENTIFIED BY 'Abcd1234';
  5. 创建数据库 bc_md

    CREATE DATABASE `abat` default charset utf8 collate utf8_general_ci;
  6. 授权

    grant all privileges on abat.* to 'mg'@'localhost' identified by 'Abcd1234'; 
    
    flush privileges; #刷新系统权限表
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].