交易网站源码有哪些(线上虚拟商品交易平台推荐)
量化交易是指借助现代金融学、计算机和数学的方法,把人的投资理念和研究成果量化为客观的数理模型,利用计算机技术完成数据处理、分析建模、决策下单,以先进的数学模型代替人为的主观判断,可以克服人性的弱点与认知偏差,避免在市场极度*或悲观的情况下做出非理性的投资决策,力求取得稳定的、可持续的、高于平均的超额回报。
那么交易人员在做量化交易时首先得要有一套量化交易的系统,能够编写策略、执行策略、评测策略等。目前市场上有很多量化交易平台能够提供量化策略编写功能,本文介绍一款非常不错的开源免费量化交易系统——vnpy。vnpy是一款开源免费开箱即用的专业量化交易平台,可灵活加载各类交易接口如期货、股票、期权、外汇、数字货币等,支持诸多量化交易策略功能如cta策略、算法交易、脚本策略、行情录制、rpc服务等,具备降低交易者的开发门槛,不断地维护系统的稳定性,保护了交易员策略的保密性,零费用等优点。将是机构和个人交易者升级交易系统的首选。另外基于python的量化交易系统具备极强的拓展性,开发者可以根据自己的需求进行二次开发,在数据统计,人工智能策略开发方面,能帮助您占领先机。
vnpy安装运行
运行vnpy,第一步需要准备python环境,目前vnpy为2.0版本,现在再也不用像1.0时代需要折腾半天安装python环境、anaconda、三方模块、mongodb数据库等等,2.0只有一个步骤就是安装由vn.py核心团队针对量化交易开发的python发行版vn studio就可以了。vn studio是针对量化交易专门打包的python发行版,包含了python解释器以及一系列量化交易常用的三方库。
1. 打开官网vnpy.com首页,正*左边的金色按钮就是最新版本vn studio的下载链接。
2. 下载完成后双击运行默认一路下一步下一步安装就可以了,安装目录推荐选择默认的c:vnstudio。
3. 安装完成后,桌面上就能看到vn station的快捷方式,双击启动后会看到vn station的登录框。首次使用的用户,点击微信登录扫描二维码注册账号,同样该账号也用于登录社区论坛www.vnpy.com/forum,后续使用可以直接输入用户名和密码保存后进行登录。
4.登录后看到的就是vn station主界面了,上方区域显示的是vnpy社区论坛相关内容,下方的几个按钮则是vn station提供的量化相关功能按钮。
- vn trader lite:一键启动针对国内期货cta策略的轻量版vn trader;
- vn trader pro:支持灵活配置加载交易接口和策略模块的专业版vn trader;
- jupyter notebook:启动jupyter notebook交互式研究环境;
- 提问求助:打开浏览器访问社区论坛的“提问求助”板块,掉坑了快速进行提问;
- 更新:傻瓜式更新vn.py和vn station,按钮平时点不了,只在有更新时才会亮起。
5. 由于vn trader lite是一键式启动无需配置,我们这里就只讲vn trader pro。点击vn trader pro按钮后可选择vn trader运行时的目录,这里默认是当前操作系统的用户目录。在2.0中对python源代码和运行时文件进行了分离,vn trader运行过程中所有产生的配置文件、临时文件、数据文件都会放置在该目录下的.vntrader文件夹中。
在左上侧选择需要的底层交易接口,“介绍”一栏中可以看到每个接口所支持的交易品种。注意部分接口存在冲突不能同时使用,下方的说明信息中有写。在右上侧选择需要的上层应用模块,在“介绍”一栏中可以看到该模块所提供的具体功能。各个上层应用之间并不存在冲突的情况,所以新手不妨全部加载了一个个看看,后续确定自己的交易策略后再按需加载。点击“启动”按钮后,稍等几秒就会看到上图所示的vn trader主界面。
6. 最后点击左上角系统连接配置好相关登录信息,比如连接ctp需要配置期货账号、密码、经纪商代码、交易行情服务器地址、产品名称、授权编码等信息。
7.登录成功后就可以开始执行交易了!
仿真账号注册
如果你并没有期货交易账号,可以先在simnow官网申请一个仿真账号进行模拟下单,simnow是上期技术官方运营的一套期货仿真交易环境,提供和实盘环境一致的行情以及交易撮合规则,现在已经是做各种ctp测试交易的首选了。
1.打开simnow官网simnow.com.cn,点击右上角的“注册账号”,填写一些基础信息完成注册。
2. 注册完成后,会收到手机短信告诉你投资者账号和登录密码信息,也可以回到simnow首页点击右上角 “投资者登录”,输入手机号和密码登录进去查看。
3.首次终端登录,需要到终端上修改密码,也可以到simnow官网点击右上角“忘记密码”进行修改。这里建议下载一个客户端比如快期期货交易终端进行修改,点击官网“常用下载”下载客户端。
4.密码修改完成后,快期客户端上点击“代理/测速”就可以查看到登录站点信息,如果你并没有安装客户端也可以在官网上查看到
simnow.com.cn/product.action。
其中交易和行情服务器,一共有三组选择,前两组只能在交易时段登录(周一到周五,日盘和夜盘时段),提供和实盘环境一致的行情和撮合。第三组站点只能在非交易时段登录,提供最近交易时段行情的回放和撮合。
电信地址站点:
- 交易服务器:180.168.146.187:10101
- 行情服务器:180.168.146.187:10111
移动地址站点:
- 交易服务器:218.202.237.33:10102
- 行情服务器:218.202.237.33:10112
全天站点:
- 交易服务器:180.168.146.187:10130
- 行情服务器:180.168.146.187:10131
vnpy仿真模拟下单
仿真期货交易账号准备完毕后,就可以在vnpy平台上进行模拟下单了。
1. 启动vn trader pro,只加载ctp接口就行,注意不要加载ctp测试接口。
2.进入主界面后,点击菜单栏的“系统”->“连接ctp”。
各个字段的填写如下:
- 用户名:investorid账号
- 密码:之前修改好的登录密码
- 经纪商代码:9999
- 交易服务器:180.168.146.187:10101
- 行情服务器:180.168.146.187:10111
- 产品名称:simnow_client_test
- 授权编码:0000000000000000(16个0)
- 产品信息:可留空不用填
3. 填好后点击“连接”按钮开始登录ctp服务器以及相关初始化操作,在左下角的日志监控组件中,可以看到初始化相关的日志信息输出。登录初始化过程中有任何异常情况,日志信息中都会看到相应的文字输出,可以根据内容自行排查。看到“合约信息查询成功”这条日志后,说明已经成功完成了初始化操作。
4. 点击菜单栏“帮助”->“查询合约”,或者左侧功能导航栏的倒数第三个放大镜按钮,打开合约查询对话框。输入合约代码进行查询,如果直接点击右上角“查询”即可显示当前ctp接口上所有支持可交易合约。
几个字段说明:
- 本地代码vt_symbol:由合约代码以及交易所代码共同组成,代表该合约在vn trader内的唯一标识符。
- 合约代码symbol:该合约在某家交易所的唯一标识。
- 交易所代码exchanage:该交易所在vn trader内的唯一标识。
- 合约乘数size:该合约1个点的价格为多少元。
- 价格跳动pricetick:意味着交易委托时价格的最小变动单位,如果精度不对则会造成委托失败。
5. 我们在vn trader界面的交易组件窗口中,选择交易所,在代码框中输入合约代码后回车,即可订阅行情。
注意每个交易所的合约命名规则有所区别:
- 中金所cffex:字母部分大写,年份数字为2位,举例if2012;
- 上期所shfe:字母部分小写,年份数字为2位,举例ag2102;
- 能源交易所ine:字母部分小写,年份数字为2位,举例sc2012;
- 大商所dce:字母部分小写,年份数字为2位,举例m2012;
- 郑商所czce:字母部分大写,年份数字为1位,举例ta101。
所有已订阅的行情信息,都会显示在行情监控组件中,方便后续快速执行手动交易。
6. 知道期货合约最新行情后,就可以进行买卖交易下单了。选择交易方向:要买(多)还是要卖(空),选择交易开平:要开仓还是平仓,对于上期所合约则需要具体选择是平今还是平昨(选错则无法平仓会被拒单),选择价格类型输入价格和数量后,点击“委托”按钮即可发出交易请求。
7. 委托请求提交后,则会返回相应的委托回报信息显示在委托组件中,显示当前这笔委托请求的最新状态,对于处于可撤状态的委托,可双击该笔委托的单元格来实现撤单的功能(鼠标放置其上时会有文字提示)。或者也可以通过交易组件上的单击“全撤”按钮,来实现一键全撤vn trader内当前所有可撤委托。当委托发生成交后,vn trader会收到成交推送的数据,并显示在成交监控组件中。
8. 委托成交后,在资金监控组件窗口中ctp账户的资金情况将会发生变化,可用资金将会减少,同时整体余额将基于“逐日盯市”的规则变动。默认以每6秒一次的频率查询刷新。
9.同样在持仓监控组件窗口可查看持仓信息,也采用6秒刷新的频率。
期货实盘交易
当你已经对仿真测试环境足够熟悉后,可能已经做好了使用ctp柜台进行实盘期货交易的准备。对于ctp实盘交易跟仿真交易基本一样首先需要找一家期货公司开设期货账号,然后最主要的区别是在接入实盘交易前需要完成看穿外接测试。
根据证监会《关于进一步加强证券期货经营机构客户交易终端信息等客户信息管理的规定》和期货市场监控中心《期货公司客户交易终端信息采集及接入认证技术规范》的通知要求,期货公司需要对客户使用的交易终端软件进行认证管理和报送采集信息。所以为落实以上要求,所有非标准客户端(这里就是vnpy客户端)接入的客户需按照要求联系期货公司信息技术部进行测试,测试完成后即可接入实盘站点进行交易。
以上就是vnpy这款开源免费量化交易框架平台的介绍了,这里还没有具体介绍如何使用python编写策略进行下单,后面有时间会介绍更多量化交易方面的知识,有兴趣的朋友可以关注一下。另外本人目前就是在一家期货公司信息技术部任职,如果大家有需要做期货交易,或者有看穿测试方面等技术相关问题都可以私信联系我咯~
上一篇: 关于跨域请求的两种方案