VeighNa量化社区
你的开源社区量化交易平台
Member
avatar
加入于:
帖子: 15
声望: 0

1.安装MINICONDA:

1)wget Miniconda下载地址;

2)bash Miniconda;

3)重启

2.安装TA-LIB及其依赖包:

1)

conda install -c conda-forge ta-lib;

3.安装vnpy:

1)安装VeighNa前需要先安装gcc编译器,用于编译C++类接口文件。在终端中运行以下命令;

sudo apt-get update
sudo apt-get install build-essential

2)下载vnpy压缩包tar

3)解压vnpy压缩包

tar -xvzf vnpy-3.0.0.tar.gz

4)安装vnpy:

. install.sh python3.7

4.图形问题及中文编码:

1)

图形驱动问题处理

在有图形界面的Ubuntu系统上启动,如果出现qt.qpa.plugin: Could not load the Qt platform plugin “xcb” in “” even though it was found的报错,可以在终端中运行下述命令来安装libxcb-xinerama0,尝试解决图形驱动的依赖问题:

sudo apt-get install libxcb-xinerama0

2)

中文编码问题处理

如果Ubuntu系统语言是英文,在连接CTP接口这类使用中文语言的接口时,可能会出现下述报错:

terminate called after throwing an instance of ‘std::runtime_error’ what(): locale::facet::_S_create_c_locale name not valid

可以使用local-gen安装中文编码尝试解决:

sudo locale-gen zh_CN.GB18030

5.安装图形桌面环境:

1)

安装Xubuntu-destop

Xfce是一款针对Linux/UNIX系统的现代化轻量级开源桌面环境,最大的优点是内存消耗小,且系统资源占用率很低,Linux之父Linus Torvalds日常使用的桌面环境就是Xfce。

Xfce只是纯粹的桌面环境,但我们在日常使用操作系统时,还需要许多其他常用的工具,如多国语言支持、浏览器、输入法工具等。Xubuntu-desktop就是一套整合了Xfce桌面环境和其他常用图形界面软件的安装包。

安装方法也相对简单,在终端中运行命令:

sudo apt-get install xubuntu-desktop

2)安装VNC

我们可以在文件/etc/apt/sources.list 中添加

deb http://archive.ubuntu.com/ubuntu/ bionic universe
sudo vim /etc/apt/sources.list
  保存退出

首先需要安装VNC服务器,在终端下运行命令:

sudo apt-get install vnc4server

安装完毕后,在终端运行vncserver命令,来启动VNC服务器。首次运行时需要设置VNC远程连接的密码,长度至少是6位,并且二次输入来确认(注意该密码不是Ubuntu账户的密码)。

https://mmbiz.qpic.cn/mmbiz_png/3HpBCK3bblBtgzH4iapM2sFpWPSxJcvZceOQyDcrukrBA7FYK18fy8Ze4sBciaRCSd2bYsXuzbFKrd9hEnyYH84A/640?wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1

VNC服务器启动好后,可以在日志输出文件名中看到其默认端口是1,上图所示红色方框标识“:1”。

启动了远程桌面服务器后,下一步是配置xstartup文件,来设置远程桌面使用Xfce的桌面环境。用文本编辑器nano打开xstarup文件,在终端运行命令:

sudo vim ~/.vnc/xstartup

可以看到如下内容:

https://mmbiz.qpic.cn/mmbiz_png/3HpBCK3bblBtgzH4iapM2sFpWPSxJcvZcC6XiaYw9lC8FSBXTiasOd3NoWPrwd6VAicA0yhPcPxzlrqZoBq8zO0iaFA/640?wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1

需要在最后一行 "x-window-manager &" 前面添加一个"#"注释掉这行,同时在文件最后加入一段新的配置信息:

sesion-manager & xfdesktop & xfce4-panel &
xfce4-menu-plugin &
xfsettingsd &
xfconfd &
xfwm4 &

保持退出

配置完xstartup后,我们需要重启VNC服务器:先把默认的1号端口服务杀掉,然后新的服务我们改为使用9号端口(因为1号端口容易被扫描攻击),同时设置远程桌面的分辨率为1920x1080(根据你的本地显示器分辨率来设),运行下列命令:

vncserver -kill :1
vncserver -geometry 1920x1080 :9
Member
avatar
加入于:
帖子: 300
声望: 15

感谢分享!

Member
avatar
加入于:
帖子: 5
声望: 0

我在 ubuntu20.04 上面, python3.9 ,安装 vn-py 3.0, 有图形化界面。 执行 install.sh 顺利,完成,但发现 vnpy_xxxxx的库都没有装。
检查发现 这个发行版本里面的 requirements.txt 里面只有
tzlocal==2.0.0
PySide6==6.2.3
pyqtgraph==0.12.3
qdarkstyle==3.0.3
numpy==1.21.5
pandas==1.3.5
matplotlib==3.5.1
seaborn==0.11.2
ta-lib==0.4.24
deap==1.3.1
pyzmq==22.3.0
plotly==5.5.0
importlib-metadata==4.10.1

没有 vnpy的其他安装库,按照文档自行下载用 pip 安装
pip install vnpy_ctastrategy vnpy_ctabacktester vnpy_spreadtrading vnpy_optionmaster vnpy_portfoliostrategy vnpy_algotrading vnpy_scripttrader vnpy_paperaccount vnpy_chartwizard vnpy_portfoliomanager vnpy_rpcservice vnpy_datamanager vnpy_datarecorder vnpy_excelrtd
vnpy_webtrader vnpy_rest vnpy_websocket vnpy_ctp vnpy_rqdata vnpy_tushare vnpy_ifind vnpy_riskmanager vnpy_riskmanager vnpy_sqlite vnpy_tushare

完成后,可以启动界面,操作正常。

问题:
1 。发现所有的vnpy 库都被装到 python3.9的环境里面了。不知道其他在 ubuntu下面安装的是否也是这样?
回答: 有建立了一个虚拟换, 试验过来还是一样,就不折腾了,也能用。

2。 针对 Faile to import cython option pricing model, please rebuild with cython in cmd. 的提醒, 如何编译?
回答: 去 github 或者 gitee 下载 vnpy_optionmaster 的源文件,把 cython_model 目录下面的东西复制到 Ubuntu的python 环境里面 , 我是用conda 建立的虚拟环境 .../site-packages/vnpy_optionmaster/pricing, 里面有三个子目录, 依次进去执行 python setup.py build_ext --inplace , 分别生成两个文件, pyx和so结尾的, 总共 6个。 在复制到 ../../的目录里面,就是 .../site-packages/vnpy_optionmaster/pricing 这个目录里面, 原来里面有几个 pyd结尾的文件,就是这里。看不见 pyd结尾的地方就错了。 然后这个问题就ok了。

先谢谢各位了。

Member
avatar
加入于:
帖子: 5
声望: 0

pip list | grep vnpy
vnpy 3.0.0
vnpy-algotrading 1.0.2
vnpy-chartwizard 1.0.2
vnpy-ctabacktester 1.0.5
vnpy-ctastrategy 1.0.8
vnpy-datamanager 1.0.5
vnpy-datarecorder 1.0.3
vnpy-excelrtd 1.0.1
vnpy-mysql 1.0.0
vnpy-optionmaster 1.0.2
vnpy-paperaccount 1.0.1
vnpy-portfoliomanager 1.0.1
vnpy-portfoliostrategy 1.0.1
vnpy-rest 1.0.3
vnpy-riskmanager 1.0.3
vnpy-rpcservice 1.0.1
vnpy-rqdata 2.9.44.1
vnpy-scripttrader 1.0.1
vnpy-spreadtrading 1.1.4
vnpy-sqlite 1.0.0
vnpy-tushare 1.2.64.3
vnpy-websocket 1.0.2
vnpy-webtrader 1.0.4

从 github 上下载的 3.0.0 版本,解压缩目录是这样的
build/ dist/ examples/ install_osx.sh LICENSE README_ENG.md requirements.txt setup.py vnpy.egg-info/
CHANGELOG.md docs/ install.bat install.sh
MANIFEST.in README.md setup.cfg vnpy/

从example/vn_trader 里面可以启动 GUI。

明天折腾 vscode 远程调试, 界面框架不是最重要的。更加喜欢script干活, 可视化的部分在django上面再慢慢折腾吧。

Member
avatar
加入于:
帖子: 5
声望: 0

在ubuntu上,发现另外一种装法,更加简单快捷

  1. conda create vnpy3 python=3.10
  2. conda activate vnpy3
  3. pip install vnpy vnpy_ctastrategy vnpy_ctabacktester vnpy_spreadtrading vnpy_optionmaster vnpy_portfoliostrategy vnpy_algotrading vnpy_scripttrader vnpy_paperaccount vnpy_chartwizard vnpy_portfoliomanager vnpy_rpcservice vnpy_datamanager vnpy_datarecorder vnpy_excelrtd vnpy_riskmanager vnpy_webtrader vnpy_rest vnpy_websocket vnpy_sqlite vnpy_mysql vnpy_tushare vnpy_ctp

这样就完成安装了。
下面开始测试, 参考 https://gitee.com/vnpy
新建一个工作目录,在里面建立文件 run.py, 里面的内容如下 :

from vnpy.event import EventEngine
from vnpy.trader.engine import MainEngine
from vnpy.trader.ui import MainWindow, create_qapp

from vnpy_ctp import CtpGateway
from vnpy_ctastrategy import CtaStrategyApp
from vnpy_ctabacktester import CtaBacktesterApp

def main():
"""Start VeighNa Trader"""
qapp = create_qapp()

event_engine = EventEngine()
main_engine = MainEngine(event_engine)

main_engine.add_gateway(CtpGateway)
main_engine.add_app(CtaStrategyApp)
main_engine.add_app(CtaBacktesterApp)

main_window = MainWindow(main_engine, event_engine)
main_window.showMaximized()
qapp.exec()

if name == "main":
main()

在终端里面行下列命令启动VeighNa Trader:

python run.py

原来 vnpy的界面可以根据自己的需要裁剪, 不错。

Member
avatar
加入于:
帖子: 5
声望: 0

关于Ubuntu 安装的调整:

一键安装过程整体分为3步:

  1. Ubuntu 需要准备 gcc 环境,

     sudo apt update # 更新信息
     sudo apt install build-essential  # 安装 gcc
  2. 利用 conda 构建环境,例如

    conda create -n vnpy3 python=3.10  #喜欢的也可以用 python=3.9
    conda activate vnpy3 # 激活环境准备安装下面的东西

3.下载安装ta-lib库, 记得要先完成第2步,否则不知道装哪里去了,

   TA_Lib    # install from src for linux
   wget http://prdownloads.sourceforge.net/ta-lib/ta-lib-0.4.0-src.tar.gz
   tar xf ta-lib-0.4.0-src.tar.gz
   cd ta-lib
   ./configure --prefix=/usr
   make
   sudo make install
   pip install TA-Lib

4. 安装requirements.txt文件内的相关依赖库;这个步骤可以省略, 因为pip 会根据第三步重新匹配相应的基础环境。

5. 安装VeighNa本身。这次系统重构后,可以让用户根据自己的需求灵活选择所需的功能,故不同的功能模块需要独立安装。一个典型的安装组合如下, 利用 sqlite存放tushare的数据,所有功能都装上,有点贪心。其实不做期货的就可以用用装期货模块:

pip install vnpy vnpy_ctastrategy vnpy_ctabacktester vnpy_spreadtrading vnpy_optionmaster vnpy_portfoliostrategy vnpy_algotrading vnpy_scripttrader vnpy_paperaccount vnpy_chartwizard vnpy_portfoliomanager vnpy_rpcservice vnpy_datamanager vnpy_datarecorder vnpy_excelrtd vnpy_riskmanager vnpy_webtrader vnpy_rest vnpy_websocket vnpy_sqlite vnpy_mysql vnpy_tushare vnpy_ctp
```

特别提醒,若是在虚拟机上运行,请把内存调至4G以上,否则会报错内存不足。

© 2015-2022 上海韦纳软件科技有限公司
备案服务号:沪ICP备18006526号-3

沪公网安备 31011502017034号

【用户协议】
【隐私政策】
【免责条款】