VeighNa量化交易系统技术文档

【免费下载链接】vnpy 基于Python的开源量化交易平台开发框架 【免费下载链接】vnpy 项目地址: https://gitcode.com/vnpy/vnpy

1. 安装指南

1.1 系统要求

  • 操作系统:Windows/Linux/macOS
  • Python版本:3.10/3.11/3.12/3.13
  • 推荐配置:8GB以上内存,SSD硬盘

1.2 基础环境安装

# 创建虚拟环境(推荐)
python -m venv vnpy_env
source vnpy_env/bin/activate  # Linux/macOS
vnpy_env\Scripts\activate     # Windows

# 安装依赖库
pip install numpy pandas matplotlib scipy scikit-learn

2. 项目安装方式

2.1 核心框架安装

# 通过pip安装最新稳定版
pip install vnpy

# 或者从GitHub安装开发版
git clone https://github.com/vnpy/vnpy.git
cd vnpy
pip install .

2.2 交易接口安装(以CTP为例)

# 安装CTP接口
pip install vnpy_ctp

# 其他接口安装方式类似
# pip install vnpy_<接口名称>

2.3 数据库适配器安装(以MySQL为例)

pip install vnpy_mysql mysqlclient

3. 项目使用说明

3.1 快速启动

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

# 创建Qt应用对象
qapp = create_qapp()

# 创建主引擎
event_engine = EventEngine()
main_engine = MainEngine(event_engine)

# 添加交易接口
main_engine.add_gateway(<GatewayClass>)

# 创建GUI窗口
main_window = MainWindow(main_engine, event_engine)
main_window.showMaximized()

# 运行应用
qapp.exec()

3.2 AI量化模块使用流程

  1. 数据准备:使用vnpy.alpha.dataset模块生成因子特征
  2. 模型训练:通过vnpy.alpha.model模块训练预测模型
  3. 策略开发:基于vnpy.alpha.strategy模块实现交易逻辑
  4. 投研分析:利用vnpy.alpha.lab模块进行策略评估

4. 项目API使用文档

4.1 核心API接口

事件引擎(EventEngine)
from vnpy.event import Event, EventEngine

# 创建事件引擎
ee = EventEngine()

# 注册事件处理函数
def handler(event: Event):
    print(event.data)
    
ee.register("test_event", handler)

# 发送事件
ee.put(Event("test_event", data={"key": "value"}))
交易接口(Gateway)
from vnpy.trader.gateway import BaseGateway
from vnpy.trader.constant import Exchange, OrderType

class MyGateway(BaseGateway):
    # 必须实现的接口方法
    def connect(self):
        """连接交易接口"""
        pass
        
    def subscribe(self, req: SubscribeRequest):
        """订阅行情"""
        pass
        
    def send_order(self, req: OrderRequest):
        """发送委托"""
        pass

4.2 AI量化模块API

因子数据集(Dataset)
from vnpy.alpha.dataset import Dataset

# 创建数据集
dataset = Dataset(
    instruments=["600000.SH", "000001.SZ"],
    start_time="20200101",
    end_time="20201231",
    fields=["close", "volume"]
)

# 计算因子
dataset.add_formula("factor1", "Rank(close)")
模型训练(Model)
from vnpy.alpha.model import LassoModel

# 初始化模型
model = LassoModel(
    target="return_5",  # 预测目标
    features=["factor1", "factor2"],  # 特征列表
    train_start="20200101",
    train_end="20201231"
)

# 训练模型
model.train(dataset)

# 预测结果
pred = model.predict(dataset)
策略开发(Strategy)
from vnpy.alpha.strategy import BaseAlphaStrategy

class MyStrategy(BaseAlphaStrategy):
    """自定义AI量化策略"""
    
    def __init__(self):
        super().__init__()
        self.model = None  # 预测模型
        
    def on_bar(self, bar: BarData):
        """K线回调"""
        # 获取预测信号
        signal = self.model.predict(bar)
        
        # 执行交易逻辑
        if signal > 0.5:
            self.buy(...)
        elif signal < -0.5:
            self.sell(...)

4.3 数据库接口

from vnpy.database import get_database

# 获取数据库实例
db = get_database("sqlite")

# 保存K线数据
db.save_bar_data([bar1, bar2])

# 查询历史数据
bars = db.load_bar_data(
    symbol="600000.SH",
    exchange=Exchange.SSE,
    interval=Interval.DAILY,
    start=datetime(2020,1,1),
    end=datetime(2020,12,31)
)

5. 注意事项

  1. 实盘交易前请充分测试策略
  2. 建议使用仿真账户进行初步验证
  3. 注意风险管理模块的配置
  4. 定期备份关键数据和策略代码

【免费下载链接】vnpy 基于Python的开源量化交易平台开发框架 【免费下载链接】vnpy 项目地址: https://gitcode.com/vnpy/vnpy

Logo

加入社区!打开量化的大门,首批课程上线啦!

更多推荐