风控模块————账号维度 控的维度(指标):info count(信息量=报单+撤单)、撤单量、涨跌停、资金 输入:统计量————资金,driver仓位、撤单量
维度 metric(这个): info count(信息量=报单+撤单)、 报单、 撤单量、 涨跌停、 资金、
每个维度对应一个threshold
执行action:
输入+维度+threshold=》推倒出action
- turn off open
- turn off trade
- turn off feed
recover action:
低于阈值了,重新打开
scope 在合约维度/contract group维度/账号维度/security type(stock、future)/ product / exchange(最高级别) - exchange SSE - exchange_group SSE\SZSE - exchange + security SSE STOCK FUTURE - exchange + security group SSE STOCK/ETF - exchange + security + product INE(上交所) Future SC(原油) - exchange + security + product INE(上交所) Future SC(原油/铁矿石 - exchange + security + product + contract(cid可为空) 110|120|130 各指向一个measument - exchange + security + product + contract group(cid可为空) 110+20+130 3个合约映射同一个measument
风控是在scope上聚合metric上的measument,与threshold对比,推倒出action
谓词 predict 大于等于/小于
no market data warning metric: market data warning measument: 多长时间没行情 scope:合约 action:turn off trade
有一个合约到measument到映射 product IF上关于cancel count的统计是50 此时来了一个
定时触发比较(deduce一次)————根据当前统计量,谓词、和阈值,推倒出action
我们以两条风控规则为例 scope: contract metric: cancel_count predict: > threashold: 1000 action: tunn_off_trade exchange XXX security Future contract 1111
scope: product
metric: cancel_count
predict: >
threashold: 1000
action: tunn_off_trade
exchange XXX
security Future
product SC(原油)
内部就会维护两个measument1 measument2 contract 1111会映射到这两个measument,如果来一个cancel count回报,这两个measument里的值都会增加
输出:发送risk control request ——————————————————————————————————- 策略配置
- contract
- contract trigger 听哪些
- pricer————从哪里拿到价格(选定价模型)
- max position————0仓附近最多开几手
- position radius————波动范围
- pricer以及pricer参数,应该用哪些model
策略 feed driver收到行情,disrupter,配3个trading core,每个trading core一个disrupter
disrupter—— feed driver push trading core ——pop,同时在pop回报
,每个core上跑很多策略,core内部有个cid到策略的一个接口(trigger flow)的表,将cid喂给策略
策略收到行情之后,每个策略都有一个pricer————输出valuation price (估价)(未来涨到多少钱,跌到多少钱),pricer里面有一些model,都是本地的model
发现最新的valuation price到99,如果发现已经挂出去的单子不挣钱,就撤单 发现盘口100,valuation 102,要迅速把100的卖单吃掉
也可能做一些不是马上下单的决定———比如等哪一单成交再下单
有时候下单发给agent,agent会配一些参数————例如5秒后未成交,就撤单/如果cancel不掉,5s后再cancel一次
agent发给trade driver————事前风控和拆单
事前风控:price离行情过于远 拆单:每个券商或者交易所能做的操作不一样(例如股票只能平昨), driver里有昨有今,如果卖单发现昨仓不够,就拆单失败了
l4行情 tbt来了,order book中的 bid/ask volume一定会变 难点:cancel 对上海在order里,对深圳在cancel
去年11月之前,sh和order和trade会乱序,两个流过来,不保序, order1--卖200 order2--买100,交易所只会发一个trade,说o2打掉了o1, o2是不会有买100的order的
sz有市价单,order来了,一定会被吃掉,但是不知道在哪个价格会被吃掉,orderbook一定不对,所以不能推现在的行情,
自己机器用高速网卡——网卡buffer->kernel buffer没必要,kernel buf-> 用户态buffer,kernel by pass feed driver -> 不用linux的锁,用自旋锁 交换机做到最少跳
交易所————————————————————————————————————————————-- 中国目前有多个交易所,涵盖股票、债券、期货、商品等多种金融产品。以下是主要交易所及其交易品种的概览:
证券交易所 上海证券交易所(SSE)
股票:A股、B股 债券:国债、地方政府债、公司债、企业债、可转换债券、可交换债券等 基金:封闭式基金、开放式基金、ETF(交易所交易基金) 其他:证券投资信托 深圳证券交易所(SZSE)
股票:A股、B股 债券:国债、地方政府债、公司债、企业债、可转换债券、可交换债券等 基金:封闭式基金、开放式基金、ETF、LOF(上市开放式基金) 创业板:以科技企业和中小企业为主的股票 其他:证券投资信托 期货交易所 上海期货交易所(SHFE)
金属期货:铜、铝、锌、铅、镍、锡、黄金、白银 能源化工期货:螺纹钢、热轧卷板、天然橡胶、沥青、石油沥青、燃料油 大连商品交易所(DCE)
农产品期货:玉米、豆粕、大豆、豆油、棕榈油、鸡蛋 工业品期货:聚乙烯、聚氯乙烯、聚丙烯、铁矿石、焦煤、焦炭、乙二醇 郑州商品交易所(ZCE)
农产品期货:小麦、白糖、棉花、苹果 工业品期货:PTA(精对苯二甲酸)、玻璃、甲醇、动力煤、菜油、菜粕 中国金融期货交易所(CFFEX)
金融期货:股指期货(沪深300、上证50、中证500)、国债期货 商品交易所 上海黄金交易所(SGE)
贵金属:黄金、白银、铂金 上海国际能源交易中心(INE)
能源期货:原油期货、燃料油期货 区域性股权交易中心 全国中小企业股份转让系统(新三板)
股票:中小企业和创新企业的股票 地方股权交易中心
各地的地方股权交易中心,主要服务于当地中小企业的股权、债权及其他权益的交易。 其他 中国外汇交易中心
外汇:人民币兑主要外币的即期和远期外汇交易 货币市场:银行间市场的拆借、回购、票据等交易 北京金融资产交易所(CFAE)
金融资产:债权、股权、信托受益权等金融资产交易 通过上述交易所的划分和交易品种的说明,可以看到中国金融市场的多样性和复杂性。各交易所在不同领域和产品上都有其独特的定位和作用。
Alpha策略和T0策略是两种截然不同的投资策略。Alpha策略注重长期持有和获取超额收益,依赖投资经理的选股和市场判断能力;T0策略则关注短期内价格波动,依赖技术分析和高频交易来实现日内利润。了解这两种策略的特点和适用场景,可以帮助投资者在不同市场环境下选择合适的投资方法。
Alpha策略和T0策略是两种截然不同的投资策略。Alpha策略注重长期持有和获取超额收益,依赖投资经理的选股和市场判断能力;T0策略则关注短期内价格波动,依赖技术分析和高频交易来实现日内利润。了解这两种策略的特点和适用场景,可以帮助投资者在不同市场环境下选择合适的投资方法
事前风控 流控 股票的open_count,事前只会制止交易,不会控策略 如何计算:T0和alpha共同交易,昨多1w,t0最多只能卖1w,alpha打4000的可卖量,剩下6000是t0用,t0的open count是6000, (根据昨仓减 alpha可卖量算出来,注意不考虑融券【只增加可卖量,不增加持仓】,现在不做) alpha————每天打一个target 为什么不事前做————复杂
kernal by pass———— 柜台给的API的so里做了/或者FPGA组在其上面封装了一层做了 收包————厂商提供,用Linux收包一定会过kernal 应用层————pass的过程
这是一个行为, intel 网卡用DPDK支持kernal by pass, dpdk——允许在intel网卡上实现kernal by pass。 DPDK(Data Plane Development Kit)是一个用于高速数据包处理的开源软件项目,最初由Intel开发。DPDK提供了一组库和驱动程序,使得用户空间应用程序可以高效地进行网络数据包的处理,从而绕过内核,减少延迟,提高吞吐量。