发布于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框架中自由度最高,可玩性最大的一个模块。
因为,这个模块适用于:
- 所有资产(股票,债券,期货,期权等),
- 所有策略(趋势,套利,波动率交易等)
通过PS模块,我们可以对高校论文或者券商研报中的众多投资组合策略,进行历史回测和效果验证。与交易单标的合约的CTA策略不同,公开资料上关于各类投资组合相关的研报要丰富得多。
这样,PS模块提供了,从策略验证,到实盘的一条龙服务。
目标受众
PS模块最大的特点体现在高度自由化,所以,如果有以下需求,说不定它适合你噢:
1)单策略交易多品种:目前大家用的最多的CTA策略模块(CtaStrategy)中的每个策略只能交易单一合约,买卖信号也就只能局限在单一合约的时间序列因子(技术指标、统计模型)。而PS模块对于交易多合约的支持,可以允许策略实现另一大类买卖信号【横截面因子】,从而捕捉更多的交易盈利机会。
2)更高的策略夏普率:单一合约的价格变化分布会呈现出尖峰肥尾特征,结果是预测率不高,故单标的CTA策略通常表现为低胜率,高盈亏比。但是,引入多标的后,投资组合的整体价格变化分布会偏向正太分布(如下图),这样,就能套用很多现代统计学理论,提升模型的预测率。
3)更高的策略容量:策略包含越多标的,其容量也自然成倍提高。
4)直接实盘的途径:和专注于回测而缺乏实盘交易支持的zipline等框架不同,PS模块秉承vn.py一向的回测实盘无缝切换设计。用户完成策略的回测优化等开发工作后,无需对策略代码做任何修改,立即就能开始实盘交易。
课程内容
PS模块更高的自由度,自然也代表着更高的使用难度。从2020年中这个模块发布以来,除了个别vn.py资深大佬外,社区里大部分成员还是停留在想用但又无从下手的阶段。
相信大家还是更希望把精力放在策略研究本身,而不是浪费在熟悉模块这第一步上:调用PS模块,遇到坑,读代码;然后再次使用,遇到坑,读代码……
所以,本课程的目标是让用户跳过入门的坑,快速了解PS模块的原理和用法,然后开始上手研究策略。
课程内容主要包括:
- 介绍投资组合策略的原理,历史渊源,以及应用前景;
- 介绍PS模块的主要构成,基于策略生命周期的逻辑,逐步理清主要函数的功能,以及前后联系;
- 活用数据管理模块,批量下载数据;
- 介绍PS策略模块工作原理,与引擎层面交互,并开发一个简单策略;
- 实盘注意事项以及参数优化。
课程大纲如下:
预期收获
学完课程以后,你的收获将会包括:
- 了解投资组合策略的原理和使用前景;
- 使用自动化脚本来批量下载数据;
- 了解实盘引擎的底层工作原理;
- 了解回测框架的工作原理;
- 了解策略模板的功能函数,以及与底层引擎的交互;
- 了解投资组合策略,从信号生成到仓位维护全过程;
- 了解目标持仓算法功能以及作用;
- 了解策略回测后的品种持仓占比分析。
总之,结合代码demo,你将能够使用PS模块开发出一套简单的投资组合策略,后续也可以尝试把单标的CTA策略中的信号逻辑套用到多品种上。
毕竟,熟悉轮子的功能使用和工作原理,才能更好生产嘛。
本课程下周即将上线,敬请期待(๑•̀ㅂ•́)و✧