在这个过程中经过思考,发现我要做的本质上是这样的:一个数据库,用来存储和读写数据,包括基础的K线数据、生成的策略数据;一个可视化前端,用来展示图表,能展示Table、时间序列图即可;一个量化程序,用来抓数据并生成策略信号。
其中第三个量化程序本来就有,所要做的核心就是做个数据库和前端,做完后思考,其实大部分需求都逃不出这俩,比如公司现在做的周报,无非就是数据储存和显示,不同的是他们用excel储存数据和图表,最后放到word、ppt上展示,而公司准备做的数据库,也是如此。
做这个过程中还是踩了很多坑,来记录下以免后续部署再踩。
首先,我们使用Linux系统,由于自己对Linux操作并不熟,也不会vim这种编辑器,为了交互方便,还是使用宝塔,这里直接用了大佬提供的安装包:
sudo su root
wget -N --no-check-certificate https://raw.githubusercontent.com/evon16888/ubuntu_quant/master/bin.sh && bash bin.sh
宝塔配置完后在软件商店安装supervisor,这个软件可以在进程被意外kill后可以自动重新拉起。
我最开始想使用sqlite,一个轻量的数据库,对我的需求肯定是够用的,但后面在前端面板里不知道为什么无论怎么样也无法connect,最开始是因为安全问题,解决后找不到文件,尝试了大半天无果,最后还是选择用MySQL,其实不嫌弃安装难的话,还是很棒的,比如权限打开后任何电脑都可以往里面传输数据。
这里直接用宝塔安装,安装完后点击数据库界面的root密码进行修改,然后打开终端进行配置:
mysql -u root -p
***** # password
create DATABASE 数据库名称;
然后因为数据库默认是不支持外界访问的,需要设置白名单,同时记得在防火墙把相关的端口打开:
SELECT host FROM mysql.user WHERE User = 'root';
CREATE USER 'root'@'ip_address' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'ip_address';
exit;
以上数据库就配置完了,可以往里面输入数据了。
这里我最终选用的是superset,因为grafana这个框架的表格部分怪怪的,而且深色的配色不太习惯,但它的安装还是费了很大劲儿的,网上虽然有各种各样的安装指南,但最终试了一圈总是因为各种环境配置原因失败,所以还是推荐按最新的官方文档安装。
首先官方推荐的是用Docker安装,试了几遍后我也是推荐如此,虽然对小白来说Docker很陌生,打开文档也是陌生的语言,不过…反正按照文档说的做就完了呗。
我的linux系统是Ubuntu,在按照文档推荐的安装方式repository进行时遇到问题,在过程中需要添加某个版本的仓库,但我不知道为什么就添加不了,说在相关网址上找不到文件(no such file),在网上搜索也没有特别好的方法和原因解释,然后就看看网上其他人推荐安装docker的方法,和官网文档不同,但我也不知道不同的依据是啥,反正敲完确实是安装成功了。
sudo apt-get update
sudo apt-get install \
apt-transport-https \
ca-certificates \
curl \
software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) \
stable"
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io
sudo docker run hello-world # 测试
然后是compose的安装,这个一下就成功了:
sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
docker-compose --version # 测试
接下来就按照文档装superset:
git clone https://github.com/apache/superset.git
cd superset
docker-compose -f docker-compose-non-dev.yml pull
docker-compose -f docker-compose-non-dev.yml up
ok这样就大功告成了,放开端口就可以访问并配置图表了。