您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 咨询培训 > 飞马杯培训-交易终端开发知识讲解
程序化交易终端开发与实现上海市金融信息技术研究重点实验室上海财经大学谢斐主讲人信息谢斐上海财经大学实验中心副主任上海市金融信息技术研究重点实验室副主任上海财经大学金融数学与金融工程博士复旦大学软件工程专业硕士高级程序员交易终端的基本功能基本交易终端的实现策略逻辑与交易逻辑程序化策略设计案例目录一、交易终端的基本功能交易终端的基本功能基本交易逻辑交易终端的基本功能基本功能行情揭示交易指令管理下单撤单账户信息查询资金持仓历史记录交易终端的基本功能——常见交易软件的界面二、基本交易终端的实现基本交易终端的实现连接服务器TD/MDAPI:RegisterFront用户登陆/登出TD/MDAPI:ReqUserLoginBrokerID,UserID,PasswordTD/MDAPI:ReqUserLogout基本交易终端的实现行情揭示TDAPI:ReqQryInstrumentMDAPI:SubscribeMarketDataTopicSubMarketData/UnSubMarketData基本交易终端的实现订单管理TDAPI:ReqOrderInsertBrokerID,InvesterID/UserIDUserOrderLocalIDExchangeID,InstrumentIDOrderPriceType,Direction,OffsetFlag,LimitPrice,VolumeReqOrderActionExchangeID,OrderSysIDBrokerID,UserID/InvestorID,UserOrderLocalIDUserOrderActionLocalID基本交易终端的实现本地单号UserOrderLocalID的用途前置机撤单策略的灾备和恢复订单号匹配关系的存储基本交易终端的实现查订单TDAPI:ReqQryOrder查成交TDAPI:ReqQryTrade查资金TDAPI:ReqInvestorAccount查持仓TDAPI:ReqInvestorPosition基本交易终端的实现——同步、异步、阻塞、非阻塞老张爱喝茶,废话不说,煮开水。出场人物:老张,水壶两把(普通水壶,简称水壶;会响的水壶,简称响水壶)。1老张把水壶放到火上,立等水开。(同步阻塞)老张觉得自己有点傻2老张把水壶放到火上,去客厅看电视,时不时去厨房看看水开没有。(同步非阻塞)老张还是觉得自己有点傻,于是变高端了,买了把会响笛的那种水壶。水开之后,能大声发出嘀~~~~的噪音。基本交易终端的实现——同步、异步、阻塞、非阻塞3老张把响水壶放到火上,立等水开。(异步阻塞)老张觉得这样傻等意义不大。4老张把响水壶放到火上,去客厅看电视,水壶响之前不再去看它了,响了再去拿壶。(异步非阻塞)老张觉得自己聪明了。基本交易终端的实现——同步、异步、阻塞、非阻塞所谓同步异步,只是对于水壶而言。普通水壶,同步;响水壶,异步。虽然都能干活,但响水壶可以在自己完工之后,提示老张水开了。这是普通水壶所不能及的。同步只能让调用者去轮询自己(情况2中),造成老张效率的低下。所谓阻塞非阻塞,仅仅对于老张而言。立等的老张,阻塞;看电视的老张,非阻塞。情况1和情况3中老张就是阻塞的,媳妇喊他都不知道。虽然3中响水壶是异步的,可对于立等的老张没有太大的意义。所以一般异步是配合非阻塞使用的,这样才能发挥异步的效用。基本交易终端的实现——异步阻塞和异步非阻塞FEMASTraderAPI和MDAPI都采用异步模式工作MDSPIOnRspUserLoginOnRtnDepthMarketDataTDSPIOnRspUserLoginOnRspQryInstrumentOnRspOrderInsert,OnRspOrderActionOnRspQryOrder,OnRspQryTradeOnRspQryInvestorAccount,OnRspQryInvestorPositionOnRtnTrade,OnRtnOrder基本交易终端的实现——出错信息OnRspXXX一般都可能回调出错信息MDSPIOnRspUserLoginOnRspErrTDSPIOnRspUserLoginOnRspOrderInsert,OnRspOrderActionOnErrRtnOrderInsert,OnErrRtnOrderActionOnRspErr出错信息必须能够展示给用户编程语言与UI开发首选C/C++,其他C#、Java、PythonUI选择:MFC/Ribbon,Qt三、策略逻辑与交易逻辑策略逻辑与交易逻辑程序化交易是交易策略的有序实现程序化交易终端在基本交易终端的基础上实现完备的策略逻辑,实现策略机会的监控交易订单管理策略状态切换策略历史和日志记录资金和持仓监控出错处理和人工干预策略逻辑与交易逻辑——一个简单的策略逻辑以跨期套利为例:IF1509-IF1508(1手:1手)策略逻辑:基差变化规律策略逻辑与交易逻辑——一个简单的策略逻辑建仓监控条件计算IF1509-IF1508基差阈值建仓操作IF1509卖开IF1508买开平仓监控条件计算IF1509-IF1508基差阈值平仓操作IF1509买平IF1508卖平策略逻辑与交易逻辑——一个简单的策略逻辑策略状态步骤主要划分建仓条件监控订阅IF1508、IF1509行情行情回调判断开仓条件建仓操作下单、订单状态回调撤单、订单状态回调平仓条件监控订阅IF1508、IF1509行情行情回调判断平仓条件平仓操作下单、订单状态回调撤单、订单状态回调策略逻辑与交易逻辑——一个简单的策略逻辑常见订单管理逻辑:下单函数行情回调下单回调超时回调撤单回调策略逻辑与交易逻辑——一些要点策略架构:策略——步骤——订单管理异步策略昀终是由一系列回调函数构成策略回调一般就是以下几类:行情回调(OnRtnDepthMarketData)订单回调(OnRtnOrder)成交回调(OnRtnTrade)超时回调其他回调(开市、暂停、收市)策略逻辑与交易逻辑——一些要点策略状态变化切换必须在订单变为昀终状态时进行USTP_FTDC_OS_AllTraded全部成交USTP_FTDC_OS_Canceled撤单异步意味着要考虑资源的多线程访问和同步问题临界区、信号量四、程序化策略设计案例期现套利原理期现平价()()(,)()rdTtFtTPte(,)FtT()Pt为时刻T到期的合约在t时刻的期货价格,为t时刻股票的价格,r为无风险利率,d为股票红利率,T为期货合约的到期时间。套利示意图无套利区间()()()()()(,)()rdTtrdTtPteFtTPte套利成本套利成本历史期现基差‐100‐50050100150200IF当月合约/沪深300指数基差300ETF50ETF500ETF完全复制抽样复制沪深300指数成分股组合成分股组合ETF基金ETF基金沪深300指数基金沪深300指数基金八仙过海——套利方法面面观现货模拟现货模拟效果评价现货模拟效果评价跟踪误差跟踪误差相关性相关性模拟成本模拟成本代码简称月相关系数月跟踪误差(%)日成交量(万股)160706.SZ嘉实3000.99990.52932,262510300.SH300ETF0.99980.2086105,942510330.SH华夏3000.99990.16655,855数据来源:Wind资讯基金统计(2015年初以来)基金替代的优缺点开放式指数基金基本不具备套利条件ETF替代的优点简便,可以手工操作融资融券较为方便交易成本较低(以万6计,约3-4指数点)基金替代的优缺点ETF替代的缺点流动性问题,极易发生“踩踏”二级市场折溢价跟踪误差仍然较大波动较小,资金利用率低套利现货组合权重配置套利现货组合股票池沪深300成分股沪深股票完全复制或抽样复制等权重市值加权误差优化利用成分股组合模拟现货指数成分股组合模拟的优缺点优点跟踪误差较小,大约只有ETF的1/3到1/2流动性好,冲击成本较小,可容纳大资金波动较大,建仓、平仓机会较多其他优势(分红、门票)成分股组合模拟的优缺点缺点交易成本较高,昀高接近ETF的3倍(以千1.6计,约8-9指数点)零股问题涨跌停问题期指爆仓风险•寻找大概率事件•稳定的胜率和盈亏比•止损与风险可控•“剩者为王”以专业的知识和经验获取长期稳定的回报程序化交易的目标thanks谢谢观看SUFE谢斐
本文标题:飞马杯培训-交易终端开发知识讲解
链接地址:https://www.777doc.com/doc-990224 .html