最新消息:

MAC 安装vnpy 4.1 量化系统

Mac 梧桐 47浏览 0评论

首先要安装python,vnpy4.1建议安装python3.13,建议使用pyenv进行安装,比较好进行多版本管理

1、安装pyenv

  首先我们要已经安装brew,如果没有安装,安装方法如下:

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

安装pyenv,可以用brew进行安装:

brew update
brew install pyenv

配置pyenv环境变量:

  如果用的自带shell工具,则在Terminal执行:

echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc
echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(pyenv init -)"' >> ~/.bashrc
exec $SHELL -l

如果个人安装了zshell,则在Terminal执行:

echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.zshrc
echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.zshrc
echo 'eval "$(pyenv init -)"' >> ~/.zshrc
exec $SHELL -l

2、安装python

  执行命令查看可安装的python版本:

pyenv install --list

安装python3.13

pyenv install 3.13.3 -v

3、python版本管理

  安装完成之后需要对数据库进行更新:

pyenv rehash

查看当前已安装的python版本(如果执行pyenv version则直接显示当前版本):

$ pyenv versions
* system (set by /home/seisman/.pyenv/version)
3.13.3

其中的星号表示当前正在使用的是系统自带的python。

  设置全局的Python版本:

pyenv global 3.13.3

可以再次执行python global system再重新切换回系统自带版本。

  另外python切换版本有三种形式global、local、shell:

// 不同 python 版本之间切换
// 设置全局的 Python 版本,通过将版本号写入 ~/.pyenv/version 文件的方式
pyenv global 2.7.16  
// 设置 Python 本地版本,通过将版本号写入当前目录下的 .python-version 文件的方式。通过这种方式设置的 Python 版本优先级较 global 高
pyenv local 2.7.16
// 设置 Shell 当前会话,智慧影响当前会话的Python版本,一旦关掉当前Terminal或者另开一个Terminal就失效了
pyenv shell 2.7.16

// 优先级:shell>local>global

4、安装vnpy

(1)安装vnpy4.1

首先,新建一个vnpy的文件夹

到这里下载源码https://github.com/vnpy/vnpy/releases/tag/4.1.0

解压到vnpy的文件夹里

然后执行bash install_osx.sh命令进行安装

(2)安装CTP,建议在vnpy4.1的文件夹内

git clone https://github.com/vnpy/vnpy_ctp.git

cd vnpy_ctp

pip3 install .

(3)安装各类量化策略的交易应用(app):

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_riskmanager vnpy_webtrader pip install vnpy_mysql pip install vnpy_sqlite

(4)运行vnpy

在vnpy4.1文件夹里自建run.py文件,然后python run.py运行,文件内容如下

import os
# 启用高 DPI 缩放
os.environ["QT_ENABLE_HIGHDPI_SCALING"] = "1" 
# 禁用特定警告
os.environ["QT_LOGGING_RULES"] = "qt.core.qobject.connect=false"

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
from vnpy_spreadtrading import SpreadTradingApp
from vnpy_optionmaster import OptionMasterApp
from vnpy_portfoliostrategy import PortfolioStrategyApp
from vnpy_algotrading import AlgoTradingApp
from vnpy_scripttrader import ScriptTraderApp
from vnpy_paperaccount import PaperAccountApp
from vnpy_datarecorder import DataRecorderApp
from vnpy_datamanager import DataManagerApp
from vnpy_riskmanager import RiskManagerApp
# from vnpy_rpcservice import RpcServiceApp
from vnpy_chartwizard import ChartWizardApp
# from vnpy_portfoliomanager import PortfolioManagerApp
from vnpy_webtrader import WebTraderApp


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_engine.add_app(SpreadTradingApp)
    main_engine.add_app(OptionMasterApp)
    main_engine.add_app(PortfolioStrategyApp)
    main_engine.add_app(AlgoTradingApp)
    main_engine.add_app(ScriptTraderApp)
    main_engine.add_app(PaperAccountApp)
    main_engine.add_app(DataRecorderApp)
    main_engine.add_app(DataManagerApp)
    main_engine.add_app(RiskManagerApp)
    # main_engine.add_app(RpcServiceApp)
    main_engine.add_app(ChartWizardApp)
    # main_engine.add_app(PortfolioManagerApp)
    main_engine.add_app(WebTraderApp)

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

    qapp.exec()


if __name__ == "__main__":
    main()

转载请注明:八度生活 » MAC 安装vnpy 4.1 量化系统

您必须 登录 才能发表评论!