量化交易正在重塑现代金融交易的格局,而 vn.py 是一个开源、跨平台的量化交易开发框架,专为金融市场的自动化交易、策略研究和回测而设计。作为一个功能全面的量化交易工具,vn.py 在全球范围内拥有庞大的用户群体,并在金融科技领域占据重要地位。
在量化交易的快速发展中,投资者需要高效、灵活、可靠的工具来完成复杂的交易策略开发与执行。然而,市面上的许多商业工具价格高昂,扩展性不足,难以满足个性化需求。
vn.py 作为一个开源项目,不仅免去了高额的使用成本,还提供了强大的功能和灵活的定制能力,成为专业交易者和研究者的重要选择。
全市场支持
vn.py 支持多个主流市场,包括国内期货、股票、期权,以及国际的外汇、加密货币等。
跨平台设计
支持 Windows、macOS 和 Linux 系统,便于开发者自由选择开发环境。
多语言扩展
基于 Python 开发,同时支持与 C++、C# 等语言的集成,适合高性能需求。
模块化架构
提供了包括交易接口、策略引擎、回测模块等核心组件,便于灵活组装与扩展。
丰富的社区支持
拥有活跃的社区,开发者可通过贡献代码、参与讨论来推动项目发展。
在这里下载Release发布版本,解压后运行以下命令安装:
Windows
install.bat
Ubuntu
bash install.sh
Macos
bash install_osx.sh
注意:setup.cfg中列举了VeighNa框架安装所需的依赖库,requirements.txt中给出了这些依赖库的推荐安装版本。
在VeighNa社区论坛注册获得VeighNa Station账号密码(论坛账号密码即是)
启动VeighNa Station(安装VeighNa Studio后会在桌面自动创建快捷方式),输入上一步的账号密码登录
点击底部的VeighNa Trader按钮,开始你的交易!!!
注意:
除了基于VeighNa Station的图形化启动方式外,也可以在任意目录下创建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()
在该目录下打开CMD(按住Shift->点击鼠标右键->在此处打开命令窗口/PowerShell)后运行下列命令启动VeighNa Trader:
python run.py
VeighNa使用Github托管其源代码,如果希望贡献代码请使用github的PR(Pull Request)的流程:
创建 Issue - 对于较大的改动(如新功能,大型重构等)建议先开issue讨论一下,较小的improvement(如文档改进,bugfix等)直接发PR即可
Fork VeighNa - 点击右上角Fork按钮
Clone你自己的fork: git clone https://github.com/$userid/vnpy.git
从dev创建你自己的feature branch: git checkout -b $my_feature_branch dev
在$my_feature_branch上修改并将修改push到你的fork上
创建从你的fork的$my_feature_branch分支到主项目的dev分支的[Pull Request] - 在此点击compare across forks,选择需要的fork和branch创建PR
等待review, 需要继续改进,或者被Merge!
在提交代码的时候,请遵守以下规则,以提高代码质量:
flake8
即可。项目地址:https://github.com/vnpy/vnpy