VeighNa量化社区
你的开源社区量化交易平台
xiaohe's Avatar
Member
离线
4300 帖子
声望: 268

发布于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

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

请问是只想看看还是想输出

可以查一下你的OrderRequest里面是不是没有volume

穿透式测试连ctptest接口吧

load_bar才是加载数据,前面这个只是指定am的size。而且你指定am的size为30的话,load_bar至少要30根日线数据才能初始化am

可以去github上拉取最新的dev分支的代码再试试

可以去看run_ga_optimization函数,这个有输出results的

  1. 6.3.15, simnow就是连的ctp接口。报4097可以检查是否同时连接了两个c++接口造成dll冲突或者用错了simnow环境或者simnow注册后还没改过密码;
  2. 可参考https://www.vnpy.com/forum/topic/1967-vn-pyshe-qu-jing-xuan-2-da-jian-a-li-yun-ubuntuliang-hua-jiao-yi-fu-wu-qi
    https://www.vnpy.com/forum/topic/1968-vn-pyshe-qu-jing-xuan-3-zai-ubuntuxi-tong-shang-yun-xing-vn-py
    要选择的接口和上层应用在run.py中取消注释即可

报错21应该是CTP服务端没启动吧
模拟盘的原因吧,穿透式测试环境有时候会随机拒单的

参数步进不能填0。并且,使用遗传算法跑优化,要最少两个,才能生成样本空间,不然也会报错。

没有吧

微信公众号的限价单撮合和停止单撮合中有详细讲解吧

simnow的仓位计算有点问题
ctptest这个有截图吗?

truego wrote:

中信建投也升级了,不兼容6.3.16版本,希望能更新下,谢谢
看你另一个帖子说已解决了

© 2015-2022 微信 18391752892
备案服务号:沪ICP备18006526号

沪公网安备 31011502017034号

【用户协议】
【隐私政策】
【免责条款】