1、 1 / 31商品场外期权管理系统需求V1.4单客户版阎兆珣18611118425目录一、 商品场外期权业务介绍 .21.1 期货 .21.2 期权原理 .31.3 场外期权的业务特征 .6二、 系统架构和基本要求 .82.1 系统架构 .82.2 基础功能要求 .92.3 语言规格 .102.4 请做样例 .11三、 期权签约功能 .123.1 销售交易及可行性限制 .123.2 两种平仓及转换交易 .153.3 到期行权及转换 .163.4 可选交易风控功能 .16四、 直播与计算功能 .184.1 报价计算与直播 .184.2 仓位计算与直播 .194.3 仓位比对及对冲交易 .204.
2、4 夜盘保障功能 .22五、 数据与每日运维 .245.1 数据库必需表 .245.2 每日收盘后的自动运维 .265.3 每日收盘后的手动运维 .26六、 测试样例及方法 .276.1 均价期权 .276.2 止盈期权 .286.3 存档期权 .296.4 测试方法 .29七、 各模块索引 .302 / 311、商品场外期权业务介绍目前,我司拟对子公司的商品期权业务订做管理系统。以下先简单介绍商品期货及场外期权业务,以便开发者容易理解系统需求。1.1 期货国内有三家商品期货交易所大连商品交易所、郑州商品交易所和上海期货交易所。它们提供不同的商品期货品种以供交易。商品期货是约定对某种标准的商品
3、在未来某日以某标准单位进行交易的合约在该日之前,空方持有者如果不反向买回合约,则必须将商品现货运送至指定的交割库,以履行期货转换现货卖出的义务,如果多方持有者没有反向卖出,则会自动获得在指定的交割库提取商品现货的仓单。因此,即使对同一个商品期货,商品交易所必须滚动的挂出不同到期日的合约,且该合约临近到期日时,商品交易所会加以持仓限制,并促进多空方进行现货的交割。任何合约可以被交易的日期同时拥有硬约束日期和软约束日期,软约束日期即该段交易日期理论上依然可以交易,但是流动性受限。除此之外,各交易品种还有各自的主力合约,一般主力合约以及个别的次主力合约汇集了 95%以上的交易量,其它合约的流动性极少
4、,不适合交易。商品期货的这三种特性在交易系统中都必须得到接口级别的处理,即使做不到全自动处理。3 / 31由于商品期货在到期前,在交易所公开进行电子盘交易,所以如果期货价格上涨,意味着如果多方再卖空平仓会赚钱,空方再买入平仓会赔钱,价格下跌则意味着多方赔钱空方赚钱,多空双方的盈亏总是对称的。三大商品交易所的日盘交易时间是 9:00-10:15,10 :30-11:30,13 :30-15 :00 共 225 分钟,有的品种有夜盘,且夜盘时间各异,大多从晚上 9 点至 11 点,也有的至凌晨。夜盘时间以及交易员对夜盘时间的配重(占整天交易时的主观比重)也需要得到接口级别的处理。交易时每半秒(50
5、0 毫秒 )形成一轮电子集合交易,并推送行情。三家期货交易所都有自己的推送行情接口,但是目前比较流行的是上海期货交易所维护的 CTP 接口,我司对三家期货交易所的行情统一使用 CTP 的交易接口(TradeAPI),此接口不仅可以订阅行情,还可以对登陆的交易员账户返回交易结果和交易状态。CTP 的相关信息请参阅 http:/,合同签署后甲方会提供测试帐号及API 代码。1.2 期权原理期权是上世纪在美国发明的衍生金融工具。 “衍生”表示它不独立存在,而是依存于已有金融资产(标的物)的金融工具。例如最常见的 Call,即认购期权 ,规定在未来某日(欧式)或者从现在一直到未来某日(美式)均允许持有
6、者以规定价格(行权价) 买入某金融4 / 31资产,例如阿里巴巴的股票。由于该价格是固定的,则如果金融资产的价格涨过该价格,持有者可以行使权利(行权)获得差价收益,所以又称为认购期权或看涨期权。Put 则正好相反,为 认抛期权或看跌期权。商品期权,即标的物为商品期货的期权。期权的价值成为重大的理论问题。如果期权到期,期权的价值可以换算成行权收益(认购行权价 100 元, 股票在期权到期时价格 101元,期权行权获利 1 元)或者未能行权的零价值。但是在未到期时,例如股票的价格为 95 元,认购期权的行权价为 100 元时,期权仅有标的物价格发生有利变动后有机会行权的或有价值,此价值大于零,但是
7、难以评估。上世纪美国三个学者 Black, Scholes 和 Merton 创造性的解决了此问题,创立了 BSM 模型, 也叫 BS 模型。他们证明,如果标的物的价格波动符合一定的假设条件,且交易成本为零,标的物交易单位可以无限细分,则通过规律的不间断标的物交易策略,期权卖出方即庄家,可以用标的物的交易盈亏来弥补可能的被行权损失,从而使得总亏损在任何市场行情下稳定在同一个金额,并据此确定期权的理论价格。下表是看跌期权在上涨和下跌行情中,用类似于 BSM 理论进行的交易过程和交易结果。时刻 标的价格 仓位 上期损益 标的价格 仓位 上期损益0 1 -0.5 1 -0.51 1.1 -0.4 -
8、0.05 0.9 -0.6 0.052 1.2 -0.3 -0.04 0.8 -0.7 0.065 / 313 1.3 -0.2 -0.03 0.7 -0.8 0.074 1.4 -0.1 -0.02 0.6 -0.9 0.085 1.5 0 -0.01 0.5 -1.0 0.0905 合计 -0.15 0.35行权现金流 0 -0.5期货策略+期权-0.15 -0.15其中仓位表示的是单位仓位,表示期权卖出数量如果是一份应该在期货上持有多少仓位。如果卖出了一万份,-0.5 表示应该持有5000 份期货空仓。如果卖出看跌期权后行情一路下跌,庄家从期货策略上赚得 0.35,但是被客户行权后又赔付
9、 0.5,总损失和卖出看跌期权后行情一路上涨的损失均为 0.15. BS 理论由此认定期权价值为0.15.标准看涨期权的定价公式如下所示https:/ BS:C(F, X, , T) = F(d1) - X(d2)d1 = ln(F/X)/ (T) + (T)/2d2 = ln(F/X) / (T) - (T)/26 / 31P(F, X, , T) = C(F, X, , T) + XF = - F(-d1) +X(-d2)即标准看涨期权价值 C 与标准看跌期权价值 P 均为期货价格F,行权价格 X,剩余期限 T 和期货自身波动率 的函数, 为标准正态分布函数累积概率。BS 理论仓位( )为
10、这个函数相对于期货价格的偏导数,经过公式推导,C 的理论仓位 C=(d1), P 的理论仓位P=-(-d1)。无论是期权价值,还是理论仓位,它们的输入均为这四个变量,且期货价格和剩余期限必然随时间发生变动。因此需要有专门的计算模块在交易时段不断重新计算期权价值和理论仓位。其中波动率是 BS 理论体系中最薄弱的环节。标的物的价格波动符合一定的假设条件即波动率恒定,标的物价格符合随机游走模型,如果标的物的年均对数涨跌幅标准差为 ,则每一个交易日涨跌标准差为 /240,其中 240 代表中国一年大约有 240 个交易日。而每一日的涨跌幅可以理解为 /240Z,Z 为标准正态随机变量。然而真实的市场行
11、情从来不符合此理论假设,因此交易员总是主观的估计期货在期权存续期的波动率,并且卖出期权时用更高的波动率卖出,获得比期权理论价值更高的收入,以补偿理论错误带来的未知交易盈亏。1.3 场外期权的业务特征期权理论出现以后,期权业务蓬勃发展,西方各交易所也跟进提供了各类股票、股指期货及商品期货的标准场内期权合约。并且随着理论的进一步发展,各种非标准期权(称为奇异期权或特种期7 / 31权)被创造出来,各大投资银行可以为客户按需订做期权,包括标准的看涨看跌和各式特种期权,称之为场外期权。场外期权与场内交易所期权的首要特征是期权是按照客户的个性需求订制。不仅期权的类型为订制,而且到期日期、行权价格皆为订制
12、。因为高度订制的属性,庄家难以把与客户成交的期权通过再交易转给它方,所以一般情况下需要严格的按照 BSM 动态计算该笔期权的理论仓位,并据此动态调整自己的实际仓位,即期货对冲。并且对一个期货合约的所有期权的理论仓位应该加总后进行对冲。除此之外,一个高效的庄家应该在每日客户致电表达期权交易意向前,对各期货合约制定好可交易合约、可交易合约的期权当日限量、各合约到期日的约束日期、各品种在各期限上的对冲用波动率和卖出波动率,以便销售在接到客户电话时,能快速确定期权是否可做,及卖出价格,且期权交易成功后,该期权的理论仓位能够立即算出,供期货对冲人员交易期货。8 / 312、系统架构和基本要求2.1 系统
13、架构本系统的目标用户为期权交易用户和期货对冲用户,采用222 架构,即前台主要为期权交易端和期货对冲端,中台相对应的有签约服务器和直播服务器,后台为数据库及计算器等,并根据业务需要,调用外部的 CTP 接口和量化软件接口。并且前中后台之间并不是完全割裂的两条线,而是存在一定的依赖与耦合:上图的大方框线表示该框线内的所有元件必须处在同一个内网9 / 31中,两个元件相接或者用实线相连表示相互有密切的依赖关系,可以放在同一个机器上,或者至少在同一个内网中用简单 TCP 进行通讯。实线箭头表示存在持续的数据直播,箭头方向表明直播方向。虚线箭头表示存在间断的通信,箭头方向表示发起通信时的方向。同一个元
14、件在背后有重影,表示该元件可以有同类的其他元件在使用,如期货对冲端可以有多个,被不同的期货对冲员使用。中台的签约服务器和直播服务器是全部架构中唯二充当外网服务器的程序,使用同一个 IP 和域名地址的 https 和 http 接口,前台和后台的元件均作为客户端与之持续相连。2.2 基础功能要求四种服务器程序均采用异步架构,可以在 Windows Server 版,Ubuntu Linux 和 Centos Linux 上运行。在双核 2GHz 速度,内存 4G 内存的配置上直播服务器可以承担每秒 3000 个 TCP 数据包的流量。网络消息传输必须有机制明确分辨消息的起始位置并还原出真实的原消
15、息,以下还原是失败的(“/”用来区隔消息) :发送消息:消息 1/消息 2 /消息 3接收消息: 消息/1 消息 / 2 消/息 3调用 CTP 接口采用单独的 C+子程序,与主程序采用 TCP 互10 / 31通消息进行协同工作,该子程序拥有内存管理功能,在子程序长期运行时,内存占用不会无限制增加。CTP 接口程序将在上期所的用户名和密码配置在文本文件中,可以进行更改。提供完整的消息协议,可让主程序遵循协议发消息自由的订阅任意期货代码的任何可用即时行情指标及其它操作。服务器内网之外的一切元件登录服务器,需要先通过 https 验证身份,即用户名、角色类型及密码。任何密码以转义的形式储存在数据
16、库中,因此服务器程序及数据库只能验证密码是否正确,不显性记录密码。同一个用户只能用一个终端登陆,任何新登陆自动造成旧登陆的剔除。增加或删除用户只能通过运维端或数据库,并同时建立初始密码。允许期权交易端和期货对冲端更改当前用户的密码,允许运维端更改各计算器的密码。更改密码采用输入原密码及重复输入新密码的校验机制。允许使用超级监控账户,超级监控账户能以任何期货对冲端及期权交易端账号进行监控登录,能模仿该账户接收服务器信息并显示,但无权进行任何交易。除此之外,前台客户端还拥有基本的类似 QQ 群聊功能,具体见 2.4.2.3 语言规格与 CTP 接口对接的子程序采用 C+编写,在运行时为独立的进程,与主程序通过 TCP 通信,详见 2.2 章节。