Save
Saving
  • wdg

    VNPY不是新东西,Python更不是新语言。
    实际上,VNPY是属于2015年以前的东西,因为随着最近几年大数据,人工智能的兴起,才获得大家的关注。

    大家都寄托希望于一种编程语言,这种语言需要在风口上,也许是擅长大数据分析,也许是因为Tesorflow,大家在接收一门新的编程语言的同时,又先通过他做完所有的事。

    VNPY的架构似乎满足了这一点,偏广度而缺乏深度,既然如此,那么在2015-2018年VNPY的战略就是尽可能多的封装接口,最后一次主要是虚拟币接口,并通过营销来宣传和推广。 随着2019年的到来在VNPY发布2.0后,VNPY的发展似乎陷入瓶颈。

    一定是VNPY缺了点什么,VNPY毕竟是Python框架,优点和缺点都十分明显。

    于是从2019年起我们在VNPY基础上进行拓展,比如利用底层防止来丰富VNPY的回测,利用C++底层为多账户平台的搭建提供更强有力的支持。VN.PY老婆叫VNPY,最初的时候就是vn.py, 因为大家读VN.PY很拗口,久而久之就忘记了VN.PY,而存在VNPY。
    第一次VN.PY被注册商标,但是失败了,为什么失败了,因为"."不得作为文字存在于商标之中,于是乎,VN.PY就真的成了VNPY。

    111.png
    既然叫VNPY了,那么曾用名VN.PY对量化爱好者还有意义吗?
    也许有,也许没有,全凭你喜欢。

    最终VNPY打败了VN.PY成了新的量化框架名称。

    VN.PY怎么都不会想到最近变了。

    VN.PY的时代结束了,VNPY的时代来临了,黎明中将冲突黑暗,简约终将击败繁琐,这是人性的呼唤。

    和VNPY合作的MDSAHRE也脱颖而出

    retroshare-symbol88888888888888888888888.png
    VNPY在黎明中仰天长啸,这个家我做主。
    量化交易的热潮下,相关领域的人才缺口巨大。量化交易学习技术广泛应用于金融领域

    随着市场都封装完毕,VNPY变得幽默寡言,失去方向了。

    毕竟兴趣广泛才是VNPY的性格特征,而一辈子做一件事并且做的更好,难度太大了。最终VN.PY选择了…

    VNPY量化交易框架再添新功能

    posted in vn.py CTA、python量化交易、程序化交易版块 read more
  • wdg

    2019年6月已经实行穿透式监管了,
    老的代码可能不再能够接入,那么如何将老的CTP程序实现升级到穿透式监管呢?本文就讲一下修改的方法。

    (1)先替换为最新的CTP api
    CTP API下载地址
    http://www.simnow.com.cn/static/softwareDownload.action

    VNPY下载地址
    http://www.vnpy.cn/
    期货行情数据下载地址
    http://www.mdshare.cn
    http://www.pythonpai.com/topic/4206/
    免费商品期货股指期货跟单系统和资管系统
    http://www.kucps.com/
    参考代码打包下载
    http://mdshare.cn/source.zip
    期货低佣金开户
    http://www.kaihucn.cn/
    期货低佣金开户步骤(交易所标准+1分,交反40%~90%)
    http://www.kaihucn.cn/comm/topic/1882/

    同时免费提供期货APP下单掌上宏源https://mp.weixin.qq.com/s/j_xLax6qM74dcUlM2jZCww

    主要涉及以下2个方法

    
    ///客户端认证请求
    virtual int ReqAuthenticate(CThostFtdcReqAuthenticateField *pReqAuthenticateField, 
    int nRequestID) = 0;
    ///客户端认证响应
    virtual void OnRspAuthenticate(CThostFtdcRspAuthenticateField *pRspAuthenticateField, 
    CThostFtdcRspInfoField *pRspInfo, 
    int nRequestID, bool bIsLast) {};
    
    
    
    

    这2个方法分别是:客户端认证响应和客户端认证请求。

    (2)代码方面的修改:

    之前大家做CTP都需要调用ReqUserLogin();这个登录请求,现在如果要接入穿透式监管的流程改变了,请将ReqUserLogin();替换为ReqAuthenticate(CThostFtdcReqAuthenticateField *pReqAuthenticateField, int nRequestID) 认证请求,然后在认证回调里添加ReqUserLogin();

    简单的说代码修改流程即为:

    1.把以前登录请求替换为认证请求
    2.就是把登录请求放到认证回调里
    即先认证再登录
    向期货公司申请获得信息
    在认证请求的结构体定义如下:

    ///客户端认证响应
    
    struct CThostFtdcRspAuthenticateField
    {
    	///经纪公司代码
    	TThostFtdcBrokerIDType	BrokerID;
    	///用户代码
    	TThostFtdcUserIDType	UserID;
    	///用户端产品信息
    	TThostFtdcProductInfoType	UserProductInfo;
    	///App代码
    	TThostFtdcAppIDType	AppID;
    	///App类型
    	TThostFtdcAppTypeType	AppType;
    };
    

    (3)认证的函数定义

    ReqAuthenticate(UserProductInfo, AuthCode);
    
    void CTraderSpi::ReqAuthenticate(const char *UserProductInfo,const char *AuthCode)
    {	   	     
    	    
    	 if(pUserApi[accountid]   ==   NULL ){return;}
    	//认证码
    	CThostFtdcReqAuthenticateField  pReqAuthenticateField;
    	memset(&pReqAuthenticateField, 0, sizeof(CThostFtdcReqAuthenticateField));
    	strcpy(pReqAuthenticateField.BrokerID, BROKER_ID);
    	strcpy(pReqAuthenticateField.UserID, INVESTOR_ID);
    	strcpy(pReqAuthenticateField.UserProductInfo, UserProductInfo); //产品标识
    	strcpy(pReqAuthenticateField.AuthCode, AuthCode);  //认证码
    	int iResult = pUserApi[accountid]->ReqAuthenticate(&pReqAuthenticateField, ++iRequestID);
     	cerr << "--->>> 发送认证请求: " << ((iResult == 0) ? "成功" : "失败") << endl;
    }
    

    其中产品信息UserProductInfo、AppID、AppType
    需要通过咨询期货公司获得。
    《mdshare财经数据接口包》
    《QuicklibTrade A股行情接口,Level2接口》
    《期货跟单软件视频教学4集》
    python量化交易
    《Quicklib程序化交易框架www.quicklib.cn》
    http://www.mdshare.cn/comm/topic/2750/

    《优秀量化资源导航》
    《TradeApi A股程序化交易接口》
    《酷操盘手期货跟单软件》
    《开户中国期货低佣金开户》

    posted in vn.py CTA、python量化交易、程序化交易版块 read more
  • wdg

    VN.PY老婆叫VNPY,最初的时候就是vn.py, 因为大家读VN.PY很拗口,久而久之就忘记了VN.PY,而存在VNPY。
    第一次VN.PY被注册商标,但是失败了,为什么失败了,因为"."不得作为文字存在于商标之中,于是乎,VN.PY就真的成了VNPY。

    既然叫VNPY了,那么曾用名VN.PY对量化爱好者还有意义吗?
    也许有,也许没有,全凭你喜欢。

    最终VNPY打败了VN.PY成了新的量化框架名称。

    VN.PY怎么都不会想到最近变了。

    VN.PY的时代结束了,VNPY的时代来临了,黎明中将冲突黑暗,简约终将击败繁琐,这是人性的呼唤。

    VNPY在黎明中仰天长啸,这个家我做主。
    量化交易的热潮下,相关领域的人才缺口巨大。量化交易学习技术广泛应用于金融领域

    随着市场都封装完毕,VNPY变得幽默寡言,失去方向了。

    毕竟兴趣广泛才是VNPY的性格特征,而一辈子做一件事并且做的更好,难度太大了。最终VN.PY选择了…

    https://github.com/vnpycn/vnpy

    《QuicklibTrade A股行情接口,Level2接口》
    《酷操盘手期货跟单软件》
    《开户中国期货低佣金开户》
    《mdshare财经数据接口包》
    《某python量化交易框架性能评测》
    (http://www.quicklib.cn)
    http://www.mdshare.cn/comm/topic/2750/
    《期货跟单软件视频教学4集》
    《优秀量化资源导航》
    《TradeApi A股程序化交易接口》

    posted in vn.py CTA、python量化交易、程序化交易版块 read more
  • wdg

    随着2019年已经进入下半年,2020年VN.PY的开发发展规划也浮出水面,VN.PY的核心团队特拟定了2020年发展规划。

    1,全面支持VirtualApi ,因为老的VN.PY回测能力低下,特别是在易用性和多线程方面处于劣势,鉴于VirtualApi良好的设计,VNPY将VirtualApi将纳入Partner Source体系。
    这样可以降低使用VN.PY的研发时间和成本。
    http://www.virtualapi.cn
    2,将支付酷操盘手系列资管系统,由于VN.PY在处理多账户时性能无法克服Python本身的性能问题,所以VN.PY急需一个C++产品弥补这个功能缺陷,酷操盘手系列采用C++进行研发,并且提供了C++ 类CTP api的接口,通过VN.PY接入,这样可以非常完美解决了多账户时VNPY的性能问题。
    酷操盘手资管也将纳入Partner Source体系。

    3.将MDSHARE的TICK采集工具纳入VN.PY 的Partner Source体系。
    量化交易的一个关键步骤就是数据的采集,VNPY基于Python做数据采集时因为牵涉合约多达500-600个,基于采集模块属于功能模块,完全可以用通过www.mdshare.cn模块提供采集的功能。
    http://www.mdshare.cn

    4.通过KUCPS系列的支持,增加对C++ 策略支持,可以大大提高策略保密性。
    http://www.kucps.com

    vn.py基于广度方面一直做的很好,为了弥补在部分功能方面的不足,VN.PY将以上3个产品纳入VN.PY的partner source体系。

    2020年,VN.PY将和合作伙伴一起迎来新一轮的发展。

    量化行业瞬息万变,虽然VNPY已经5岁了,但是VNPY还不老,VNPY将联合这些优秀产品一起增强自己的功能, 无论你是交易者、还是金融从业者、还是IT开发者,在量化课堂,都可以提升开发实力,启迪策略思路 都会从2020年的新的增强功能中为广大量化爱好者们找到新的开发模式,降低研发成本。
    基于Python的开源量化交易平台开发框架 http://www.vnpy.cn

    vn.py是一套基于Python的开源量化交易系统开发框架,于2015年1月正式发布,在开源社区5年持续不断的贡献下一步步成长为全功能量化交易平台,目前国内外金融机构用户已经超过300家,包括:私募基金、证券自营和资管、期货资管和子公司、高校研究机构、自营交易公司、交易所、Token Fund等。 对vn.py和量化交易新手的建议:

    1.Python 适合用于快速开发,解释性语言导致了运行效率比较低,但是开发速度相对于其他语言却很高。当然Python做数据分析的效率比较高,但是做底层会下降一个 数量级的原因,所以尽可能建议用成熟的资管系统去实现多账户。目前虚拟币市场比较混乱,厂商的API水平参差不齐,而A股禁止使用资管系统,外盘相对而言 波动小是一个更成熟的市场,国内的期货的API是最成熟和完善的,那么期货的资管也很丰富,包括了信管家、融航、酷操盘手等。

    2.因为搭建整个量化平台需要涉及很多,包括数据处理,策略开发,底层搭建,而这些工作在私募基金是由一个团队去完成的,如果是一个爱好者自己做怎么的也得3-5年吧。所以给出的建议是,尽可能的将精力放在策略开发上,对底层和框架可以拿来主义。

    3.对一些人工智能库该怎么用,对大多数程序员来说也只是学会调用,能做到调参的已经是比较高的水平了。若想真正做到精通人工智能算法,对程序员也 不是一个简单的工作,更不要说一般爱好者了,人工智能算法需要的是优秀的算法工程师 , 要熟练的掌握高等数学、线性代数、离散数学、组合数学、矩阵论、概率统计等数学课程,数据结构 (树、链表、矩阵、图)等各种典型的数据结构以及常用的查找和排序算法(比如冒泡排序、快速排序、二分查找、希尔排序等,熟悉各自算法的时间复杂度)。对 于通用型的算法思想,比如递推、分治、贪心、递归、动态规划等算法策略要熟记于心并能灵活运用。要做好人工智能算法这一些都离不开深厚的数学功底。。 所以所以对一般量化交易爱好者而言,一上来不要追求人工智能去开发策略。

    4.vn.py python框架也在不断进化,vn.py目前最大的问题是性能问题,相信未来还有更好的框架出现,建议爱好者将精力方在策略开发上,策略相比平台则是更保值的东西。

    posted in vn.py CTA、python量化交易、程序化交易版块 read more
  • wdg

    VNPY目前对国内期货的支持还是比较薄弱的,
    我们建议VNPY和国内的多个量化工具结合起来以便取长补短获得更好的使用体验。

    比如

    数据采集方面,可以使用MDSHARE的采集工具,这个采集工具已经完美支持期货CTP接口的行情数据TICK采集,并支持按日期分类存储。
    还支持了Python接口的TICK数据回放。
    当然VNPY也可以调用这些历史数据,mdshare的数据是采用CSV格式存储的,和数据库比起来优点是存储控件小,读取速度快。

    我们推荐在mdshare下载vnpy可用的历史行情数据
    http://www.mdshare.cn

    如果对CSV存储数据有什么疑问,可以参考这篇文章
    《 用VNPY做量化交易,你真的需要数据库吗?》
    http://www.quicklib.cn/comm/topic/1762/

    为了避免新入量化的你,从头开始采集数据,也可以从网盘下载历史TICK数据,这样可以解决很大一部分问题。
    http://www.pythonpai.com/topic/4206/

    回测呢?
    回测怎么办?
    对新手而言,你需要解决一堆问题,比如Python,比如量化交易,比如CTP,比如回测系统如何搭建,

    如果VNPY结合VirtualApi,那么就可以大大减少你的工作量。

    http://www.virtualapi.cn

    VirtualApi技术文档浏览
    http://www.virtualapi.cn/document.html

    VirtualApi下载页
    http://www.virtualapi.cn/download.html

    《酷操盘手期货跟单软件资管系统》
    《开户中国期货低佣金开户》

    posted in vn.py CTA、python量化交易、程序化交易版块 read more
  • wdg

    VN.PY在2015年以前是属于一个外汇交易公司内部使用的框架,随着该公司员工的离职,也将公司产品重新包装之后发布到GITHUB上。VN.PY不仅包括了国内的股票、期货还封装了多个其他市场的框架。
    主要偏重于全面,目前得到了很多量化初学者的关注。
    VN.PY现在迎来了新的伙伴VirtualApi,通过VirtualApi对原生CTP接口的仿真和模拟,使得VNPY的回测更加简单易用。

    可以这样说, VirtualApi对VNPY的回测功能方面是一次极大的升级和提高。

    支持以下策略的TICK级回测

    一、VN.PY模式匹配系统回测
    识别价格的运行模式,然后按照其指定方向开仓。可以辅助使用各种技术指标,比如MACD,BOLL,double top等。

    二、VN.PY突破系统回测
    如果如果有一些明显的波动,价格就会突破(向上或者向下)。突破系统通常监控价格的正常波动幅度,在价格突破正常幅度的时候开仓。

    比如期货交易中著名的4周规则就是使用这种方法,在价格高于最近4周的最高价格或者低于最近4周的最低价格的时候买入,在达到盈利目标或止损条件后卖出。

    三、VN.PY趋势跟随交易系统回测
    这是在高频交易被曝光前最流行也是最热门的交易系统类型。最早的趋势跟随交易策略成形于20世纪早期,主要利用移动平均线进行买入、持有、卖出。
    趋势系统主要有摆动系统、当日交易系统、动能系统或者其他较快节奏的交易系统。**止损往往伴随着各种趋势交易系统,因为趋势交易系统的理念就是不断亏小钱以捕捉几次赢大钱的机会。因此,作为趋势交易投资者,你必须具有承受这些风险的能力,并且有足够多的资金去抵消这些交易损耗。
    之后,由于有了计算机生成的开仓以及平仓信号,当今的趋势跟随系统更为完善和成熟。但是,无论怎样现代化,趋势跟随系统都会在某些市场情况下失效。众所周知,没有任何策略能够战胜所有市场。

    趋势跟随系统盈利的假设是股票或者期货市场正在形成一个较强的上升或者下降趋势。通常意义下,我们认为较强的上升或者下降趋势是指价格沿着大于35度角的上升或者下降通道运行,并且回撤较小。比如在上升趋势中,调整幅度较小并且获利平仓盘不明显。

    从历史数据来看,市场在30%—35%的时间内时处于趋势行情中。在趋势行情中,通常有某些因素导致投资者更为贪婪(在上升趋势中)或者更为恐惧(在下降趋势中)。投资者的这些极端情感和行为往往导致市场价格快速变化。趋势跟随系统就是利用这样的优势,往往能够在较短的时间内获得丰厚的利润。

    为抓行情大趋势,交易研究者开发出了相应的趋势跟随系统。这些趋势跟随系统是很受交易者欢迎的,因为每一个交易者都希望简单、快速地赚到钱。那么趋势交易的劣势是什么呢?作为一个趋势交易者,你需要在趋势性强的市场或者是带有一定速度的投机市场中进行交易,振荡行情或者是无趋势的市场将会是这些交易者的噩梦。

    如上所述,趋势交易系统的最大制约因素就是它只能应用于市场出现趋势时,尽管目前来看市场大概只有30%的时间处于趋势状态。如果交易者尝试将趋势系统应用于快速振荡行情中,那么他们一定会连续亏损直至退出。假设交易者不能认识到市场是否适合趋势交易,那么他们将会损失大量的金钱和时间。

    四、VN.PY反趋势交易系统回测
    是与市场的主流趋势、长期趋势相反交易的系统。**通常认为,最佳判定主流趋势的方法是利用周K线而不是利用日K线。反趋势顾名思义就是相反方向的策略。反趋势系统存在的历史已经超过几十年,但并未在中小投资者中流行开来,它被冷落是由于投资者的本性所导致的。

    反趋势交易是在较短的时间周期或者中级时间周期做与主流趋势相反的交易。本质上,是在市场进入超卖或者超买状况下持有相反的头寸。

    五、VN.PY缺口关闭系统回测
    市场经常会出现跳空缺口,缺口迟早会被回补的,因此可以在缺口的反方向开仓。不同周期的缺口都存在交易机会的。

    典型的交易规则是这样的,当价格低于前一个收盘价2%的时候买入;当价格上涨到前一个收盘价的时候或者在当天收盘的时候卖出。

    六、VN.PY期差(spread)交易回测
    2个合约价差偏离比较大的时候,可以买入一个并且卖出另一个,期望之后能回归正常的偏离值。典型的交易规则是这样的。以纳斯达克100和标准普尔500(SPY)为例,当和SPY偏离的比率比其10日平均值高于2个标准差的时候,买入,卖出SPY。2个标准差是常态分布的90%,因此其不会经常发生。
    交易两个价格价格有一定联动性的品种在一定时期内的差价。**当两者偏离正常的价格关系的时候,可以开仓来预期其会回归正常关系。例如道琼斯指数和标准普尔指数通常有相同的趋势,或者是两个邻近国家的货币通常有相同的趋势。

    七、VN.PY波动性系统回测
    交易一系列价格发生的波动性,通常会拿其移动平均值作为标的。一个波动性交易的例子是交易和其移动品均值。

    典型的交易规则是这样的,当价格低于其10日平均值1.5个标准差分的时候,买入。当价格回归到平均,目标利润达到或者止损位达到的时候卖出。

    当然对高频交易是不适合的。

    《Quicklib程序化交易框架www.quicklib.cn》
    http://www.mdshare.cn/comm/topic/2750/
    《开户中国期货低佣金开户》
    《mdshare财经数据接口包》
    《某python量化交易框架性能评测》
    《QuicklibTrade A股行情接口,Level2接口》
    python量化交易
    《优秀量化资源导航》
    《TradeApi A股程序化交易接口》
    《酷操盘手期货跟单软件》

    posted in vn.py CTA、python量化交易、程序化交易版块 read more
  • wdg

    随着量化交易市场的成熟,给广大量化爱好者多了更多选择的机会,尤其在开源行业,VN.PY作为一个量化行业的带头人孜孜不倦的带领广大量化爱好者找到量化的真谛。而vn.py官网提供的VN.PY超强版是一套基于Python的开源量化交易系统开发框架,于2015年1月正式发布,在开源社区5年持续不断的贡献下一步步成长为全功能量化交易平台,目前国内外金融机构用户已经超过300家,包括:私募基金、证券自营和资管、期货资管和子公司、高校研究机构、交易所、自营交易公司等。 对vn.py和量化交易新手的建议:

    1.因为搭建整个量化平台需要涉及很多,包括数据处理,策略开发,底层搭建,而这些工作在私募基金是由一个团队去完成的,如果是一个爱好者自己做怎么的也得3-5年吧。所以给出的建议是,尽可能的将精力放在策略开发上,对底层和框架可以拿来主义。

    2.Python 适合用于快速开发,解释性语言导致了运行效率比较低,但是开发速度相对于其他语言却很高。当然Python做数据分析的效率比较高,但是做底层会下降一个 数量级的原因,所以尽可能建议用成熟的资管系统去实现多账户。目前虚拟币市场比较混乱,厂商的API水平参差不齐,而A股禁止使用资管系统,外盘相对而言 波动小是一个更成熟的市场,国内的期货的API是最成熟和完善的,那么期货的资管也很丰富,包括了信管家、融航、酷操盘手等。

    3.vn.py python框架也在不断进化,vn.py目前最大的问题是性能问题,相信未来还有更好的框架出现,建议爱好者将精力方在策略开发上,策略相比平台则是更保值的东西。

    3.对一些人工智能库该怎么用,对大多数程序员来说也只是学会调用,能做到调参的已经是比较高的水平了。若想真正做到精通人工智能算法,对程序员也 不是一个简单的工作,更不要说一般爱好者了,人工智能算法需要的是优秀的算法工程师 , 要熟练的掌握高等数学、线性代数、离散数学、组合数学、矩阵论、概率统计等数学课程,数据结构 (树、链表、矩阵、图)等各种典型的数据结构以及常用的查找和排序算法(比如冒泡排序、快速排序、二分查找、希尔排序等,熟悉各自算法的时间复杂度)。对 于通用型的算法思想,比如递推、分治、贪心、递归、动态规划等算法策略要熟记于心并能灵活运用。要做好人工智能算法这一些都离不开深厚的数学功底。。 所以所以对一般量化交易爱好者而言,一上来不要追求人工智能去开发策略。
    VN.PY项目在Github地址
    https://github.com/vnpycn/vnpy

    VN.PY官方网站 http://www.vnpy.cn
    https://github.com/vnpycn/vnpy
    vn.py (http://www.vnpy.cn) 是基于Python的开源量化交易系统开发框架,起源于中国国内私募基金的自主交易系统。2015年1月项目正式在Github发布,在开源社区数年持续 不断的贡献下,已经从早期的交易API接口封装,一步步成长为一套多市场多接口的量化交易平台。随着量化交易行业业内关注度的上升,用户群体也日渐多样 化,包括:高校研究机构、专业个人投资者、私募基金、期货资管、证券自营和资管等等。 vn.py由于属于纯Python架构不适合搭建多账户系统,因为Python适合数据处理,但不适合多账户的并发。如需要多账户,消除原始VN.PY性 能架构缺陷,建议采用资管系统来实现。 期货资管系统推荐酷操盘手系列 http://www.kucps.com/ 虽然是商业化产品,但是是可以获得免费使用的。

    其他量化交易网站,和支持VN.PY扩展功能

    [支持VNPY和任意自编程序的底层仿真TICK级回测系统,实盘代码和回测代码100%一致] http://www.virtualapi.cn/

    [实盘低佣金开户,为了给广大量化交易爱好者提供便利,我们帮大家和期货公司谈的手续费非常低了,交易所标准加1分,交反40~90%支持CTP接口] http://www.kaihucn.cn/

    [上海期货交易所CTP接口,支持模拟账户注册] http://www.simnow.com.cn

    [酷操盘手资管软件、酷操盘手跟单软件系列] http://www.kucps.com/

    行情数据免费下载 http://www.mdshare.cn

    [量化资源导航] http://www.pythonpai.cn

    [量化交易社区] http://www.pythonpai.com

    [A股交易工具] http://www.quicklib.net

    官方微信公众号:vnpy-community,接下来将在公众号中陆续上线各种关于vn.py的使用教程,欢迎关注。

    2.0版本基于Python 3.7全新重构开发,不再提供对Python2.0的支持)。
    功能特点

    全功能量化交易平台(vnpy.trader),整合了多种交易接口,并针对具体策略算法和功能开发提供了简洁易用的API,用于快速构建交易员所需的量化交易应用。

    覆盖国内外所有交易品种的交易接口(vnpy.gateway):

    国内市场
    宽睿(oes):国内证券(A股)

            中泰XTP(xtp):国内证券(A股)
    
            华鑫奇点(tora):国内证券(A股)
    
            CTP(ctp):国内期货、期权
    
            CTP Mini(mini):国内期货、期权
    
            飞马(femas):国内期货
    

    海外市场

            富途证券(futu):港股、美股
    
            老虎证券(tiger):全球证券、期货、期权、外汇等
    
            Interactive Brokers(ib):全球证券、期货、期权、外汇等
    
            易盛9.0外盘(tap):全球期货
    

    数字货币

    币安(binance):数字货币现货

    OKEX(okex):数字货币现货

    火币(huobi):数字货币现货

    Bitfinex(bitfinex):数字货币现货

    BitMEX(bitmex):数字货币期货、期权、永续合约

    OKEX合约(okexf):数字货币期货

    火币合约(hbdm):数字货币期货

    1Token(onetoken):数字货币券商(现货、期货)

    特殊应用
    RPC服务(rpc):跨进程通讯接口,用于分布式架构

    开箱即用的各类量化策略交易应用(vnpy.app):
    
        cta_strategy:CTA策略引擎模块,在保持易用性的同时,允许用户针对CTA类策略运行过程中委托的报撤行为进行细粒度控制(降低交易滑点、实现高频策略)
    
        cta_backtester:CTA策略回测模块,无需使用Jupyter Notebook,直接使用图形界面直接进行策略回测分析、参数优化等相关工作
    
        algo_trading:算法交易模块,提供多种常用的智能交易算法:TWAP、Sniper、Iceberg、BestLimit等等,支持常用算法配置保存
    
        script_trader:脚本策略模块,针对多标的组合类交易策略设计,同时也可以直接在命令行中实现REPL指令形式的交易,不支持回测功能
    
        rpc_service:RPC服务模块,允许将某一VN Trader进程启动为服务端,作为统一的行情和交易路由通道,允许多客户端同时连接,实现多进程分布式系统
    
        csv_loader:CSV历史数据加载器,用于加载CSV格式文件中的历史数据到平台数据库中,用于策略的回测研究以及实盘初始化等功能,支持自定义数据表头格式
    
        data_recorder:行情记录模块,基于图形界面进行配置,根据需求实时录制Tick或者K线行情到数据库中,用于策略回测或者实盘初始化
    
        risk_manager:风险管理模块,提供包括交易流控、下单数量、活动委托、撤单总数等规则的统计和限制,有效实现前端风控功能
    
    Python交易API接口封装(vnpy.api),提供上述交易接口的底层对接实现。
    
    简洁易用的事件驱动引擎(vnpy.event),作为事件驱动型交易程序的核心。
    
    跨进程通讯标准组件(vnpy.rpc),用于实现分布式部署的复杂交易系统。
    
    Python高性能K线图表(vnpy.chart),支持大数据量图表显示以及实时数据更新功能。
    
    VNPY首页和知乎专栏,内容包括vn.py项目的开发教程和Python在量化交易领域的应用研究等内容。
    
    官方交流群262656087(QQ),管理严格(定期清除长期潜水的成员),入群费将捐赠给vn.py社区基金。
    

    环境准备

    推荐使用vn.py团队为量化交易专门打造的Python发行版VNStudio-2.0.4,内置了最新版的vn.py框架以及VN Station量化管理平台,无需手动安装
    支持的系统版本:Windows 7以上/Windows Server 2008以上/Ubuntu 18.04 LTS
    支持的Python版本:Python 3.7 64位(注意必须是Python 3.7 64位版本)

    安装步骤

    在这里下载最新版本,解压后运行以下命令安装: Windows

    install.bat

    Ubuntu

    bash install.sh

    使用指南

    在SimNow注册CTP仿真账号,并在该页面获取经纪商代码以及交易行情服务器地址。

    VirtualAPi For CTP支持VNPY的CTP框架进行回测,并保证实盘代码和回测代码一模一样 http://www.virutalapi.cn 。

    启动VN Station(安装VNConda后会在桌面自动创建快捷方式),输入上一步的账号密码登录

    点击底部的VN Trader Lite按钮,开始你的交易!!!

    注意:

    在VN Trader的运行过程中请勿关闭VN Station(会自动退出)
    如需要灵活配置量化交易应用组件,请使用VN Trader Pro

    脚本运行

    除了基于VN Station的图形化启动方式外,也可以在任意目录下创建run.py,写入以下示例代码:

    from vnpy.event import EventEngine
    from vnpy.trader.engine import MainEngine
    from vnpy.trader.ui import MainWindow, create_qapp
    from vnpy.gateway.ctp import CtpGateway
    from vnpy.app.cta_strategy import CtaStrategyApp
    from vnpy.app.cta_backtester import CtaBacktesterApp

    def main():
    “”“Start VN 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)后运行下列命令启动VN Trader:

    python run.py

    贡献代码

    vn.py使用Github托管其源代码,如果希望贡献代码请使用github的PR(Pull Request)的流程:

    创建 Issue - 对于较大的改动(如新功能,大型重构等)最好先开issue讨论一下,较小的improvement(如文档改进,bugfix等)直接发PR即可

    Fork vn.py - 点击右上角Fork按钮

    Clone你自己的fork: git clone https://github.com/$userid/vnpy.git
    如果你的fork已经过时,需要手动sync:https://help.github.com/articles/syncing-a-fork/

    从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!

    在提交代码的时候,请遵守以下规则,以提高代码质量:

    使用autopep8格式化你的代码。运行autopep8 --in-place --recursive . 即可。
    使用flake8检查你的代码,确保没有error和warning。在项目根目录下运行flake8即可。

    项目捐赠

    过去5年中收到过许多社区用户的捐赠,在此深表感谢!所有的捐赠资金都投入到了vn.py社区基金中,用于支持vn.py项目的运作。

    先强调一下:vn.py是开源项目,可以永久免费使用 !!!

    VNPY原始作者:用Python的程序员 还有其他为VNPY做出贡献的其他作者
    其他内容

    获取帮助
    社区行为准侧
    Issue模板
    PR模板

    . .
    版权说明

    MIT

    posted in vn.py CTA、python量化交易、程序化交易版块 read more
  • wdg

    vn.py Github仓库再次升级,不仅升级到支持Python3.7的2.0最新版本,而且还增加了Partner Source目录,目录里是vn.py的一些扩展,这些程序在原始的VNPY程序上做了功能扩展,这些目录中的程序都是围绕着上海期货交易所的CTP接口的代码和工具资源,是做量化不可多得的好资源。

    特别是Virtualapi 回测系统,可以说非常的棒,完美支持VNPY,可以完美的实现VNPY 的回测功能,也是在原来回测基础上的一次升级,
    http://www.virtualapi.cn

    价值DataCollect 行情数据采集工具,也是配合VNPY回测使用的好包庇,也升级到4.8的最新版本。

    另外增加了TradeApi和大智慧采集数据程序的链接

    http://www.tradeapi.cn

    http://www.quicklib.net

    作为VNPY历史上的最重要的一次升级,可以说我们为这次升级做了很多工作,直到今天我们将升级程序推送到Github之后才好好睡觉。

    http://www.coolquant.cn/

    /comm/topic/2750/)

    《酷操盘手期货跟单软件》
    《开户中国期货低佣金开户》
    《mdshare财经数据接口包》

    posted in vn.py CTA、python量化交易、程序化交易版块 read more
  • wdg

    数据是量化交易力量之源,没有完整无缺的数据,量化交易就无从谈起,回测作为量化交易的必须的步骤,vn.py开发者应该非常的注重,mdshare提供了一款CTP期货数据实时采集软件DataCollect.exe
    可以完美的解决内盘期货TICK数据采集问题,

    vnpy自带的回测和采集功能较为简单,只是在清除非交易时段,没有考虑周六日,由于考虑到把所有问题交给Python处理会导致比较低的性能,所以一致在考虑模块化的工具来处理,这个DataCollect软件可以说完美的解决了问题,当然是广大VNPY量化交易开发者的福音,利用它可以实时采集期货CTP的全品种行情数据,包括了中金所的股指期货,上海期货交易所的商品期货、大连,郑州商品交易所的商品期货,能源所的原油。

    这个采集工具可以说是量化交易爱好者的必备品
    mdshare 传送门链接
    http://www.mdshare.cn/

    下载链接
    http://mdshare.cn/DataCollect.zip

    至于回测,VN.PY本书的回测并不出众,建议使用
    http://www.virtualapi.cn 来增强性能和功能

    关于看穿式接入的方法

    可以在东方期货寻求支持

    由于6月底期货全行业都将采用全新穿透式监管CTP api
    所以需要在6月底前按下面网址流程申请信的CTP接口的认证码

    东方期货开户步骤、
    http://www.kaihucn.cn
    安装开户云APP,选择东方期货,总部,推荐人:上海量贝信息科技有限公司,开户完成会自动降低到最低手续费

    东方期货的处理流程如下:
    http://www.shdfqh.com/jygg/info_51.aspx?itemid=4398

    大致步骤如下:
    (1) 自编程序申请测评表发到电子邮箱,按规定填写你的自己开发软件的APPID
    (2)东方期货回邮件提供测试认证码和测试账户
    (3)下载穿透式CTP API,使用你的认证码在测试环境进行测试
    (4)测试通过
    (5)按上线流程,再次填写申请表
    (6)再次获得生产环境的认证码

    东方期货联系人电话
    021-68401541 杜女士

    VN.PY Python量化交易

    http://www.virtualapi.cn/
    http://www.coolquant.cn/

    posted in vn.py量化交易框架 read more