future分钟数据服务搭建

hfpy架构

go_xml_tick
tick_min
hfpy_data_server
xml.tar.gz
tick.csv.gz
min.csv.gz
future.future-min postges

部署

安装docker

Docker Desktop - Max Win

https://hub.docker.com/editions/community/docker-ce-desktop-windows

系统需求
  • Microsoft Windows 10 Professional or Enterprise 64-bit

  • 安装 Hyper-V virtualization

  • BIOS开启CPU虚拟

Docker - Linux
在线安装

curl -fsSL https://get.docker.com | bash -s docker mirror Aliyun

systemctl enable docker

systemctl start docker

docker-compose

curl -o /usr/local/bin/docker-compose -L https://github.com/docker/compose/releases/download/1.25.5/docker-compose-Linux-x86_64

离线安装

https://blog.csdn.net/along1976/article/details/106611750

部署data server

https://hub.docker.com/r/haifengat/hfpy_data_server

docker-compose.yml
version: "3.7"
services:
    # 启动: docker-compose --compatibility up -d
    hfpy_data_server:
        image: haifengat/hfpy_data_server
        container_name: hfpy_data_server
        restart: always
        ports:
            - "15555:5055"
        environment:
            - TZ=Asia/Shanghai
            # 数据服务端口
            - port=5055
            # redis 实时行情
            - redis_addr=redis_real:6379
            # postgres 历史K线数据
            - pg_config=postgresql://postgres:123456@pg_min:5432/postgres
            # 分钟数据路径
            - min_csv_gz_path=/home/min_csv_gz
        volumes: 
            - .:/home/min_csv_gz
        depends_on:
            - pg_min
            - redis_real
        deploy:
            resources:
                limits:
                    cpus: '1'
                    memory: 2G
                reservations:
                    memory: 200M

    # 遇到the database system is starting up错误, 配置数据文件下的postgres.conf,hot_standby=on
    pg_min:
        image: postgres:12
        container_name: pg_min
        restart: always
        environment:
            TZ: "Asia/Shanghai"
            POSTGRES_PASSWORD: "123456"
        ports:
            - "25432:5432"
        volumes:
            - /mnt/pg_future/pgdata:/var/lib/postgresql/data

    real_md:
        image: haifengat/ctp_real_md
        container_name: real_md
        restart: always
        environment:
            - "TZ=Asia/Shanghai"
            - "redis_addr=redis_real:6379"
            - "front_trade=tcp://180.168.146.187:10101"
            - "front_quote=tcp://180.168.146.187:10111"
            - "login_info=008105/1/9999/simnow_client_test/0000000000000000"
        deploy:
            resources:
                limits:
                    cpus: '1'
                    memory: 2G
                reservations:
                    memory: 200M
        depends_on:
            - redis_real

    redis_real:
        image: redis:6.0.5
        container_name: redis_real
        restart: always
        environment:
            - TZ=Asia/Shanghai
配置
data server
  • port
    • 数据服务端口
    • 默认 5055
  • redis_addr
    • 实时行情的redis库地址
    • 默认 redis_real:6379
  • pg_config
    • 用于保存历史K线的 postgresql 数据库
    • 默认 postgresql://postgres:123456@pg_min:5432/postgres
  • min_csv_gz_path(可选)
    • 分钟数据 min.csv.gz 的路径

    • 不配置,则不启动分钟数据导入功能

    • 将分钟数据包放在此目录中,data server会导入到postgresql中

real_md

实时行情处理,配置交易、行情前置及登录信息,订阅并接收实时行情后,合成分钟数据存于redis中。

        - "redis_addr=redis_real:6379"
        - "front_trade=tcp://180.168.146.187:10101"
        - "front_quote=tcp://180.168.146.187:10111"
        - "login_info=008105/1/9999/simnow_client_test/0000000000000000"
启动

docker-compose --compatibility up -d

带 compatibility 参数,以便内存、CPU限制的配置生效。

部署hfpy

docker-compose.yml
version: "3.7"

services:
    hfpy:
        image: haifengat/hfpy
        container_name: hfpy
        restart: always
        environment:
            # config.yml所在目录
            config_path: /home/config/
        volumes: 
            # 个人策略文件夹
            - ./strategies:/home/strategies
            # hfpy配置文件
            - ./config.yml:/home/config/config.yml
       

补充

xml->tick

从期货公司获得xml文件后,整理为tick数据。

version: "3.7"
services:
    go_xml_tick:
        image: haifengat/go_xml_tick
        container_name: go_xml_tick
        restart: always
        environment:
            - TZ=Asia/Shanghai
            # xml压缩包文件路径
            - xmlFilePath=/home/xml_path
            # tick csv文件保存路径
            - csvPath=/home/csv_path
            # xml文件所在的sftp配置,不配置则不读取
            - xmlSftp=192.168.111.191/22/root/123456
        volumes: 
            - /mnt/future_xml:/home/xml_path
            - /mnt/future_tick_csv_gz:/home/csv_path

tick->min

将上一步生成的tick数据合成分钟数据

version: "3.7"
services:
    tick_min:
        image: haifengat/tick_min
        container_name: tick_min
        restart: always
        environment:
            - TZ=Asia/Shanghai
            - tick_csv_gz_path=/home/tick_csv_gz_path
            - min_csv_gz_path=/home/min_csv_gz_path
        volumes:
        	# 上一步生成的tick数据路径
            - /mnt/future_tick_csv_gz:/home/tick_csv_gz_path
            # 分钟数据存放路径,与data server部署结合使用,可自动导入pg库中。
            - /mnt/future_min_csv_gz:/home/min_csv_gz_path
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

haifengat

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值