vn.py官网
开源量化社区
Member
avatar
加入于:
帖子: 2708
声望: 158

发布于vn.py社区公众号【vnpy-community】
 
vn.py进驻【Gitee】(简单来说就是中国版的Github),目前已经收获了262个Star和87个Fork,同时也拿到了【GVP】(Gitee最有价值开源项目)。

看来对于许多我们的用户,访问Github速度太慢真心是个需求痛点啊,好在现在有了一个更好的国内替代选择。同时也发现Fork/Star比例超过Github,可能因为同步方便所以更多人愿意尝试自己扩展开发?

最后再贴下仓库地址:https://gitee.com/vnpy/vnpy。该Gitee仓库会每日和Github仓库同步,自动更新最新版本的代码,欢迎大家Star和Fork!

 
原文作者:用Python的交易员 | 发布时间:2021-01-14

 
投资组合策略模块(Portfolio Strategy,简称PS),顾名思义,就是专门用来交易多标的量化策略的模块。同时,它也是vn.py框架中自由度最高可玩性最大的一个模块。

description

因为,这个模块适用于:

  • 所有资产(股票,债券,期货,期权等),
  • 所有策略(趋势,套利,波动率交易等)

通过PS模块,我们可以对高校论文或者券商研报中的众多投资组合策略,进行历史回测和效果验证。与交易单标的合约的CTA策略不同,公开资料上关于各类投资组合相关的研报要丰富得多。

这样,PS模块提供了,从策略验证,到实盘的一条龙服务。

 

目标受众

 

PS模块最大的特点体现在高度自由化,所以,如果有以下需求,说不定它适合你噢:

1)单策略交易多品种:目前大家用的最多的CTA策略模块(CtaStrategy)中的每个策略只能交易单一合约,买卖信号也就只能局限在单一合约的时间序列因子(技术指标、统计模型)。而PS模块对于交易多合约的支持,可以允许策略实现另一大类买卖信号【横截面因子】,从而捕捉更多的交易盈利机会。

2)更高的策略夏普率:单一合约的价格变化分布会呈现出尖峰肥尾特征,结果是预测率不高,故单标的CTA策略通常表现为低胜率,高盈亏比。但是,引入多标的后,投资组合的整体价格变化分布会偏向正太分布(如下图),这样,就能套用很多现代统计学理论,提升模型的预测率。

description

3)更高的策略容量:策略包含越多标的,其容量也自然成倍提高。

4)直接实盘的途径:和专注于回测而缺乏实盘交易支持的zipline等框架不同,PS模块秉承vn.py一向的回测实盘无缝切换设计。用户完成策略的回测优化等开发工作后,无需对策略代码做任何修改,立即就能开始实盘交易。

 

课程内容

 

PS模块更高的自由度,自然也代表着更高的使用难度。从2020年中这个模块发布以来,除了个别vn.py资深大佬外,社区里大部分成员还是停留在想用但又无从下手的阶段。

相信大家还是更希望把精力放在策略研究本身,而不是浪费在熟悉模块这第一步上:调用PS模块,遇到坑,读代码;然后再次使用,遇到坑,读代码……

所以,本课程的目标是让用户跳过入门的坑,快速了解PS模块的原理和用法,然后开始上手研究策略

课程内容主要包括:

  1. 介绍投资组合策略的原理,历史渊源,以及应用前景;
  2. 介绍PS模块的主要构成,基于策略生命周期的逻辑,逐步理清主要函数的功能,以及前后联系;
  3. 活用数据管理模块,批量下载数据;
  4. 介绍PS策略模块工作原理,与引擎层面交互,并开发一个简单策略;
  5. 实盘注意事项以及参数优化。

课程大纲如下:

description

 

预期收获

 

学完课程以后,你的收获将会包括:

  • 了解投资组合策略的原理和使用前景;
  • 使用自动化脚本来批量下载数据;
  • 了解实盘引擎的底层工作原理;
  • 了解回测框架的工作原理;
  • 了解策略模板的功能函数,以及与底层引擎的交互;
  • 了解投资组合策略,从信号生成到仓位维护全过程;
  • 了解目标持仓算法功能以及作用;
  • 了解策略回测后的品种持仓占比分析。

总之,结合代码demo,你将能够使用PS模块开发出一套简单的投资组合策略,后续也可以尝试把单标的CTA策略中的信号逻辑套用到多品种上。

毕竟,熟悉轮子的功能使用和工作原理,才能更好生产嘛。

description

 
本课程下周即将上线,敬请期待(๑•̀ㅂ•́)و✧

Member
avatar
加入于:
帖子: 69
声望: 1

请教一下,CtaTemplate模块也是可以一个策略创建多个针对不同品种的实例吧,那也是实现了组合策略的结果吧。
是不是Portfolio Strategy可以在一份代码内部统一进行调度处理,灵活性更大了。而CtaTemplate的多个实例是分开跑的,没有统一的调度和处理

Administrator
avatar
加入于:
帖子: 4887
声望: 284

yuanhuei wrote:

请教一下,CtaTemplate模块也是可以一个策略创建多个针对不同品种的实例吧,那也是实现了组合策略的结果吧。
是不是Portfolio Strategy可以在一份代码内部统一进行调度处理,灵活性更大了。而CtaTemplate的多个实例是分开跑的,没有统一的调度和处理

对的,每个CTA策略都只关注自己交易的品种数据,而组合策略是同时可以关注所有品种,从而能实现一系列的横截面因子信号。

Member
avatar
加入于:
帖子: 51
声望: 1

很奇怪一个问题,我在做组合策略回测的时候,但是却没有统计结果。debug过,数据是确定有的

Member
avatar
加入于:
帖子: 2708
声望: 158

那就请把发个帖把细节贴一下吧

Member
avatar
加入于:
帖子: 51
声望: 1

Chiang wrote:

很奇怪一个问题,我在做组合策略回测的时候,但是却没有统计结果。debug过,数据是确定有的
谢谢你,我已经解决了。期待这次的课程,不知道什么时候开始

Member
avatar
加入于:
帖子: 6
声望: 0

Portfolio Strategy代码在哪啊?

Member
avatar
加入于:
帖子: 2708
声望: 158

vnpy.app.portfolio_strategy

Member
avatar
加入于:
帖子: 69
声望: 1

请问“多合约组合策略模块”和这个有什么区别啊?

Member
avatar
加入于:
帖子: 2708
声望: 158

yuanhuei wrote:

请问“多合约组合策略模块”和这个有什么区别啊?
就是介绍这个模块的使用

© 2015-2019 上海韦纳软件科技有限公司
备案服务号:沪ICP备18006526号-3

沪公网安备 31011502017034号