量化投研Linux环境搭建

需求描述

搭建云原生的量化投研环境,跨平台代码调试运行,本地与服务器的低成本成本迁移。

软硬件准备

  1. CentOS服务器
  2. VsCode
  3. SecureCRT

具体流程

vscode配置

  1. 安装remote-ssh插件
    安转之后 可以通过vscode远程到服务器进行文件操作以及命令行执行。

服务器配置

一些自定义目录:

  1. 安装的软件 /usr/local/soft/

  2. 下载数据 /downloads

  3. 系统中文支持

# 列出所有可用的公共语言环境的名称,包含有"zh_CN"
locale -a | grep “zh_CN”

# 如果没有安装中文语言包,则先安装中文语言包
yum groupinstall “fonts”

# 设置
vi /etc/profile
在最后面 添加一行  export LANG="zh_CN.UTF-8"  就可以了。
  1. root权限添加新用户,并且切换到新用户下
adduser xzr
passwd  xzrpassword
su xzr

/etc/sudoers 修改xzr这个账号的sudo权限

  1. 安装python3(centos自带py2)
    sudo yum -y install python3

默认是3.6 以上版本需要源码编译安装

安装依赖。
$ sudo yum install gcc openssl-devel bzip2-devel libffi-devel xz-devel -y
$ rpm -qa | grep openssl-devel
openssl-devel-1.0.2k-26.el7_9.x86_64

$ cd ~/downloads
$ wget https://www.python.org/ftp/python/3.7.0/Python-3.7.0.tgz
$ tar -xzf Python-3.7.0.tgz
$ cd Python-3.7.0/


$ ./configure --enable-optimizations --prefix=/usr/local/soft/python3/
$ make -j 16
$ make install

添加到 PATH 
$ vim ~/.bashrc #添加一行
export PATH=/usr/local/soft/python3/bin:$PATH

使用设置
$ source ~/.bashrc

查看py位置
$ which python3
$ which pip3
查看版本号
$ python3 -V

顺便改下pip源
pip install pip -U
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple

  1. 新建虚拟环境
    usr目录下,sudo mkdir pythonenvs 用于存放虚拟环境
    cd pythonenvs/ , sudo python3 -m venv venv_quant创建quant的虚拟环境
    cd venv_quant/bin/, source activate激活当前虚拟环境(或者直接source /usr/pythonenvs/venv_quant/bin/activate)
    (deactivate 退出虚拟环境)

  2. 安转git
    sudo yum install git

  3. 在个人用户目录新建code目录
    cd home/xzr/, mkdir code

  4. 安装docker

# 删除旧版本
sudo yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine


# 设置仓库
sudo yum install -y yum-utils \
  device-mapper-persistent-data \
  lvm2

# 选择阿里云
sudo yum-config-manager \
    --add-repo \
    https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

# 安转
sudo yum install docker-ce docker-ce-cli containerd.io docker-compose-plugin

# 启动
sudo systemctl start docker

# 测试
 sudo docker run hello-world

docker基础操作 参考菜鸟教程

  1. 安装redis/jupyter/... ... docker镜像

容器之间需要互联 所以首先设置docker的网络

# 创建bridge模式的网络
docker network create -d bridge quant-network

# 查看
docker network ls
# 查找镜像版本
docker search redis

# 拉取
docker pull redis

# 查看镜像
docker images

# 运行容器
docker run -itd --name redis-quant --network quant-network -p 6379:6379 redis

# 测试
docker exec -it redis-quant /bin/bash
cd //,  mkdir data/jupyter

docker pull  jupyter/datascience-notebook

# Jupyter容器的默认工作目录为:/home/jovyan。容器工作目录映射主机目录为:/data/juypter,如果在work目录之外创建的文件将不会映射到主机目录,而是保存在容器内部。
docker run -d --name jupyter-quant --network quant-network  -v /data/jupyter:/home/jovyan/work -p 8888:8888 -e JUPYTER_ENABLE_LAB=yes  jupyter/datascience-notebook

# 设置权限
sudo chown 1000 /data/jupyter

# 查看token
docker logs jupyter-quant
docker pull nicolargo/glances
docker run --pid host --network host -itd nicolargo/glances /bin/sh -c "python3 -m glances -w"

# 端口会受到防火墙影响 暂时可以关闭
systemctl stop firewalld.service
# 永久关闭防火墙
systemctl disable firewalld.service 
# 往现有网络添加容器
docker network connect quant-network new_container
# 查看网络ip
docker network inspect quant-network
  1. 通过vscode远程到服务器,安装python插件(本地的vscode拓展在远程是无法使用的)

    (ctrl + shift + P 输入python:select interpreter 选择解释器 就可以远程调试代码)

  2. 安装talib

yum -y install wget
yum install gcc
yum install python3-devel

wget http://prdownloads.sourceforge.net/ta-lib/ta-lib-0.4.0-src.tar.gz
tar zxvf ta-lib-0.4.0-src.tar.gz
cd ta-lib
./configure --prefix=/usr
make
make install
pip install ta-lib

效果展示

一些备注

# 登陆jupyter镜像的时候 需要输入token或者pwd
# 连接到docker的宿主机
docker ps
docker exec -it 3d097a4f85b2(你的jupyter的id) /bin/bash
jupyter server list(把token复制出来即可)

持续更新

安装clickhouse https://www.cnblogs.com/fanwenyan/p/18054589

posted @ 2023-09-15 14:52  LazyTiming  阅读(121)  评论(0编辑  收藏  举报