Huobi Intf Save Abandoned

数字货币BTC量化交易系统-实盘行情服务器,虚拟币自动炒币-huobi火币API-币安Binance交易所实时行情数据-量化交易-网格策略。趋势跟踪策略,python源码,可在线回测,一键部署,可定制的比特币量化框架,程序化自动交易模式,3年实盘检验!

Project README

hb_spark(数字币—火花: 开源,免费,稳定,实盘)

hb_spark提供火币的高速免费实时行情服务器(支持火币网所有交易对的实时行情),自带API缓存,可用于实盘交易和模拟回测。 行情数据,是一切量化交易的基础,可以获取1min、60min、4hour、1day等数据。数据能进行缓存,可以在多个币种,多个时间段查询的时候,查询速度依然很快。 服务框架采用基于强大的异步网络库tornado

功能特点( hb_spark 开源版 )

  • 自带Redis接口缓存,重复的历史日线,4小时线等数据获取一次即被缓存,下次策略再取得时候直接返回,速度加速上百倍

  • 完美包装火币的行情API,行情服务对外只简洁到一个get_price()函数,可以实时获取火币所有交易对实时行情,包括按天,4小时,1小时,15分钟,5分钟,1分钟的实时行情

  • 历史行情支持从当前时间往前推3000条,和历史任意时间200条的数据

  • 最简函数调用 get_price(security, start_date=None, end_date=None, count=None, frequency='1d', fields=['open','close', 'low', 'high']) 具体看下面例子,懂的自然能看懂

  • 行情服务器编程语言是python,采用高性能异步网络框架tornado做WebApi, 标准json返回,所有语言都能方便调用

  • 经过半年的运行,已经是非常稳定的版本,可以直接用在实盘生成环境

  • 稳定,可靠,及时的行情服务器是高波动率数字货币量化交易的基础实施,我们全部免费开源出来,希望能帮助到大家

系统架构图:

火币行情服务器架构

手动部署服务

安装好第三方库后,运行文件huobi_app.py启动服务

python3 huobi_app.py              #(可选运行参数  --port=8005  )

docker模式一键部署运行

用下面一行命令在服务器运行镜像,默认端口是8005 (服务器尽量采用linux ),默认的火币api地址为api.huobi.de.com

docker run -d --restart=always --net host --name huobi_intf  mpquant/huobi_intf

如过要修改火币api地址用下面一行命令在服务器运行镜像,加入-e HBADDR=api.huobi.pro,可以修改api地址

docker run -d --restart=always --net host -e HBADDR=api.huobi.pro --name huobi_intf  mpquant/huobi_intf

启动成功后,在浏览器里输入http://127.0.0.1:8005/info,如果能出现下边的画面,说明启动成功了

需安装第三方库 (python >= 3.6 )

  • requests
  • pandas
  • tornado
  • websocket-client

安装时执行命令:pip install -r requirements.txt

接口说明

  • get_price接口得到火币的币的数据,返回dataframe的格式

  • 为了支持多交易所(币安,okex等),我们规范定义了几个核心数据格式

    • 交易对统一用 btc.usdt , eth.usdt , eth.btc 这样的中间加.分割的格式
    • 时间周期统一用 1d: 一天 , 4h: 四小时 , 60m: 60分 , 15m:15分 , 5m:5分 , 1m:1分 这样的格式

例子演示文件 intf_test.py

#1分钟的数据获取
df = get_price('btc.usdt', end_date='2021-04-25 18:56:23', count=10, frequency='1m')

#日线的数据获取
df = get_price('btc.usdt', end_date='2021-06-16 23:28:23', count=10, frequency='1d')

#4小时的数据获取
df = get_price('btc.usdt', end_date='2021-06-16 23:28:23', count=10, frequency='4h')

#1小时的数据获取
df = get_price('btc.usdt', end_date='2021-06-16 23:28:23', count=10, frequency='60m')

btc的1分钟线

			  open		 close		  high		 low		 volume
2021-06-16 23:24:00	38730.62	38713.29	38732.49	38688.74	670397.385812
2021-06-16 23:25:00	38713.29	38713.14	38728.11	38694.97	588707.649463
2021-06-16 23:26:00	38712.32	38691.62	38720.20	38676.73	641196.479334
2021-06-16 23:27:00	38691.62	38708.27	38728.08	38678.32	827388.811697
2021-06-16 23:28:00	38708.26	38708.20	38708.27	38671.41	489209.403379

btc日线

	  	  open		 close		  high	   	 low		  volume
2021-06-11	36902.49	36826.60	37680.00	35801.00	1.047830e+09
2021-06-12	36821.26	35396.31	37498.38	34608.05	1.057065e+09
2021-06-13	35396.30	36036.06	36155.17	34761.54	6.848616e+08
2021-06-14	36036.05	40688.55	41000.00	35969.27	1.770090e+09
2021-06-15	40688.54	40060.86	41000.00	39337.30	1.069996e+09
2021-06-16	40062.63	38796.12	41328.00	38568.00	1.097520e+09

btc小时线4小时

			 open	    	 close	  	  high	  	  low	   	  volume
2021-06-16 00:00:00	40062.63	39958.33	41328.00	39779.62	3.153508e+08
2021-06-16 04:00:00	39958.33	40151.65	40366.12	39515.59	1.130676e+08
2021-06-16 08:00:00	40145.78	40012.59	40180.00	39611.19	1.131376e+08
2021-06-16 12:00:00	40012.59	40129.06	40491.00	39840.00	1.488242e+08
2021-06-16 16:00:00	40129.06	39081.89	40258.54	38893.04	2.211407e+08
2021-06-16 20:00:00	39081.89	38744.37	39508.29	38568.00	1.871198e+08

如果这个项目能帮助到您,请抬手右上角帮我们点亮 ★star 以示鼓励!


团队其他开源项目


加入群聊

数字货币量化交易研究大群, 股市程序化交易, 圈内大咖量化策略分享

全是干货,无闲聊 ,物以类聚, 人以群分,一起感受思维碰撞的力量 !

Open Source Agenda is not affiliated with "Huobi Intf" Project. README Source: mpquant/huobi_intf
Stars
261
Open Issues
1
Last Commit
2 years ago

Open Source Agenda Badge

Open Source Agenda Rating