ZVT 项目介绍
背景与声明
ZVT 项目起源于股市交易的三大原则,旨在提供一个强大而灵活的金融数据和策略分析平台。需要注意的是,该项目目前不保证向后兼容性,所以请谨慎升级。随着作者思维的演变,有些曾被认为重要的功能可能不再维护,新添加的元素是否对用户有用需自行评估。
安装指南
要安装 ZVT,只需在命令行中运行以下命令:
python3 -m pip install -U zvt
主用户界面
Dash 和 Plotly 界面
该界面适合回测和研究,但不适用于实时市场数据和用户交互。安装完成后,在命令行中输入 zvt
,然后打开 http://127.0.0.1:8050/ 即可访问。
该界面通过可视化展示系统核心概念,保持一致性和可扩展性。用户可以在自己喜欢的 IDE 中编写和运行策略,然后通过 UI 查看其相关目标、因子、信号和性能。
REST API 和独立 UI
REST API 和独立 UI 具有更高的灵活性和可扩展性,适合处理实时市场数据以及用户交互。结合 ZVT 提供的动态标签系统,可以实现人工智能与人为干预结合的交易方式。
-
初始化标签系统,运行相关脚本:
- init_tag_system.py
- stock_pool_runner.py
- qmt_data_runner.py
- qmt_tick_runner.py
-
安装 Uvicorn:
pip install uvicorn
-
运行 ZVT 服务器:
- 在命令行中输入
zvt_server
,或者从源代码运行。
- 在命令行中输入
-
检查 API 文档,打开 http://127.0.0.1:8090/docs。
-
部署前端服务,修改 env 文件,将
{your server IP}
设置为zvt_server IP
,然后参照前端的 README 开始服务。
系统功能展示
通过简单的几行代码,ZVT 可以完成数据采集、存储、更新、机器学习、预测和结果展示。熟悉系统核心概念后,用户可以将其应用到市场中的任何目标。
from zvt.domain import Stock, Stock1dHfqKdata
from zvt.ml import MaStockMLMachine
Stock.record_data(provider="em")
entity_ids = ["stock_sz_000001", "stock_sz_000338", "stock_sh_601318"]
Stock1dHfqKdata.record_data(provider="em", entity_ids=entity_ids, sleeping_time=1)
machine = MaStockMLMachine(entity_ids=["stock_sz_000001"], data_provider="em")
machine.train()
machine.predict()
machine.draw_result(entity_id="stock_sz_000001")
数据支持
ZVT 提供丰富的金融数据,包括中国、美国、香港的股票,指数,ETF,区块,基金等,为用户分析和策略开发提供基础支持。此外,ZVT 提供了统一的 record_data
和 query_data
方法,方便用户进行数据录入和查询。
策略开发
用户可以基于可交易实体和其事件编写策略。一个简单的策略可能是基于财报数据和市场行为做出买卖决策。当然,ZVT 支持更复杂的策略开发和回测。
在项目的支持下,用户能轻松查询必要数据,进行市场分析,并测试自己的交易策略,从而有效应用于真实的投资中。ZVT 是一个开源项目,用户可以根据个人需求做二次开发和功能扩展。