VeighNa量化社区
你的开源社区量化交易平台
Trader4F's Avatar
Member
离线
3 帖子
声望: 0

Ubuntu22.04环境,anaconda包
vnpy_optionmaster项目或者gitee上,下载 cython_model 目录。
下载完成后,进入该目录下的 binomial_tree_cython, black_76_cython, black_scholes_cython 三个目录中。分别运行:
python setup.py build_ext --inplace
复制新生成同目录名一样的.pyx .so文件,共6个文件,到/site-packages/vnpy_optionmaster/pricing/目录下。

郭易燔 wrote:

veighna3.3.0版本中使用ZoneInfo替代pytz库,目前部分组件已经升级完毕,但是3.3.0版本的veighna版本没发布,所以有找不到ZoneInfo的错误,根据错误倒数第四行,判断错误是来自vnpy_rqdata,将vnpy_rqdata回退一个版本,将为2.9.48.2即可,若还有其他组件错误,都先回退一个版本即可

非常感谢,退后一个版本,解决问题。

bfcat wrote:

在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的界面可以根据自己的需要裁剪, 不错。

本人也是如此安装,系统ubuntu20.04,conda 4.13.0。但运行examples/veighna_trader/run.py
报如下错误。

找不到数据服务驱动vnpy_,使用默认的RQData数据服务
Traceback (most recent call last):
  File "/home/用户目录/anaconda3/envs/vnpy3/lib/python3.10/site-packages/vnpy/trader/datafeed.py", line 50, in get_datafeed
    module: ModuleType = import_module(module_name)
  File "/home/用户目录/anaconda3/envs/vnpy3/lib/python3.10/importlib/__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1050, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1027, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1004, in _find_and_load_unlocked
ModuleNotFoundError: No module named 'vnpy_'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/用户目录/vnpy-3.2.0/examples/veighna_trader/run.py", line 99, in <module>
    main()
  File "/home/用户目录/vnpy-3.2.0/examples/veighna_trader/run.py", line 76, in main
    main_engine.add_app(CtaStrategyApp)
  File "/home/用户目录/anaconda3/envs/vnpy3/lib/python3.10/site-packages/vnpy/trader/engine.py", line 101, in add_app
    engine: BaseEngine = self.add_engine(app.engine_class)
  File "/home/用户目录/anaconda3/envs/vnpy3/lib/python3.10/site-packages/vnpy/trader/engine.py", line 72, in add_engine
    engine: BaseEngine = engine_class(self, self.event_engine)
  File "/home/用户目录/anaconda3/envs/vnpy3/lib/python3.10/site-packages/vnpy_ctastrategy/engine.py", line 111, in __init__
    self.datafeed: BaseDatafeed = get_datafeed()
  File "/home/用户目录/anaconda3/envs/vnpy3/lib/python3.10/site-packages/vnpy/trader/datafeed.py", line 53, in get_datafeed
    module: ModuleType = import_module("vnpy_rqdata")
  File "/home/用户目录/anaconda3/envs/vnpy3/lib/python3.10/importlib/__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1050, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1027, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1006, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 688, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 883, in exec_module
  File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
  File "/home/用户目录/anaconda3/envs/vnpy3/lib/python3.10/site-packages/vnpy_rqdata/__init__.py", line 26, in <module>
    from .rqdata_datafeed import RqdataDatafeed as Datafeed
  File "/home/用户目录/anaconda3/envs/vnpy3/lib/python3.10/site-packages/vnpy_rqdata/rqdata_datafeed.py", line 14, in <module>
    from vnpy.trader.utility import round_to, ZoneInfo
ImportError: cannot import name 'ZoneInfo' from 'vnpy.trader.utility' (/home/用户目录/anaconda3/envs/vnpy3/lib/python3.10/site-packages/vnpy/trader/utility.py)

有什么解决办法吗?

已解决:将vnpy_rqdata退后一个版本。查了下论坛感觉遇到出错,大多数可以将使用的包退后到某个版本能解决问题。
希望给大家带来帮助

© 2015-2022 微信 18391752892
备案服务号:沪ICP备18006526号

沪公网安备 31011502017034号

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