讯投贵金属相关逻辑整理

来源:互联网 发布:微信软件开发 编辑:程序博客网 时间:2024/03/29 15:38

贵金属逻辑

1 基本定义

嗯,就和股票期货一样,黄金准确的来说应该是贵金属交易,有专门的市场以及代码。

1.1 合约代码

贵金属合约代码一共有13个。
根据交易方式不同, 交易所挂盘合约分为现货实盘合约(又称现货即期合约)、现货即期合约、现货延期交收合约及其他经中国人民银行批准的合约。
现货即期合约: Au50g、 Au100g、 Au99.99、 Au99.95、 Au99.5、Pt99.95、iAu100g、iAu99.99、iAu99.5;
现货即期合约包括:Ag99.9 和 Ag99.99
现货延期合约:Au(T+D) 、Au(T+N1) 、Au(T+N2) 、mAu(T+D) 、Ag(T+D) 。
其中:Pt99.95、Ag99.9 和 Ag99.99合约已暂停。

根据交割地点的不同,交易所挂盘合约分为主板合约和国际板合约。
主板合约包括 Au50g、Au100g、Au99.99、Au99.95、Au99.5、Pt99.95、Ag99.9、Ag99.99、Au(T+D) 、Au(T+N1) 、Au(T+N2) 、mAu(T+D)和 Ag(T+D) ;
国际板合约包括 iAu100g、iAu99.99 和 iAu99.5。
新增合约的挂盘根据交易所的公告执行。

1.2 交易时间

早上:09:00-11:30
下午:13:30-15:30
夜盘:19:50-02:30

1.3 相关计算数据公式整理

最小下单量:1
合约价值=最新价*委托量
保证金=最新价*委托量*保证金率
保证金比例=占用保证金/动态权益
总资产=冻结金额+占用保证金+可用金额
冻结金额=冻结保证金+冻结手续费
贵金属的保证金与期货的不同,没有单边保证金的概念。
贵金属的持仓不区分今昨,是T+0交易。
开仓和平仓都会产生冻结手续费,开仓会产生冻结保证金。
类似期货交易,相应的交易操作如下:
开多:开仓、买入 平多:平仓、卖出
开空:开仓、卖出 平空:平仓、买入
黄金没有品种代码的概念

1.4 实际交易

这里就不多说了
对于展期交易基本类似期货,买卖和开平决定交易方向。
对于现货交易基本类似股票,买入卖出。

开发中遇到的部分问题整理

对接柜台:飞鼠,以下情况皆为处理飞鼠柜台一些讯投逻辑整理

环境柜台的一些基本要求:

  • 类似期货的实现方式,飞鼠柜台是依赖orderRef区分不同委托的,与股票依赖委托号不同。
  • 上游的OrderRef必须是纯数字类型,并且不能重复,飞鼠的定义是最长13位纯数字,不重复由调用者保证。并且就算下单未成功也不能重复。
    • 登陆的时候会返回当前最大orderRef.但是目前讯投系统没有相关orderRef排重保证。当然仅从讯投系统内部下单时可以保证不重的。
    • calcConfigEnv.lua里面有个配置gold平台,配置上自己的黄金平台号才会保证orderRef是纯数字。
  • 针对撤单,准确的说是废单的委托,在飞鼠交易终端中是有显示的,但是因为委托没有入库,所以讯投在调用接口的时候查询不到,所以讯投系统目前不支持飞鼠那边的废单。
  • 值得一提的是,在飞鼠柜台委托和撤单回调的数据中,返回的请求编号和我们这边送的请求编号实际上是对应不上的。所以在委托和撤单的回调用使用的是orderRef进行请求和返回数据对应的,所以这里也需要上游保证orderRef不重复。
  • 飞鼠柜台是贵金属账号是和期货账号绑定的,一对一的关系。但是实际上讯投贵金属并用不到期货相关的东西,也没有关联,所以目前查询数据的时候会过滤一些期货相关的数据。

讯投柜台接口的一些蛋疼逻辑。实现需要注意

  • 接口中的exchangeId与常规的broker定义不同,是string类型,针对上海贵金属市场。传过来的值是 “SHGE
  • 其实接口中有些字段是不必要的,比如查询Fee的时候,返回数据中BuyOffsetHandFee,SellOffsetHandFee ,SeatBuyMarginFee,SeatBuyMarginFee等字段就是不必要的。
// 讯投系统内部定义整理// 委托状态定义 注意这里是string#define GOLD_ORDER_STATUS_REPORTED             "1" // 已报#define GOLD_ORDER_STATUS_REPORTED_3           "3" // 已报#define GOLD_ORDER_STATUS_WAIT_REPORTING       "2" // 待报#define GOLD_ORDER_STATUS_CANCELED             "4" // 已撤#define GOLD_ORDER_STATUS_SUCCEEDED            "5" // 已成#define GOLD_ORDER_STATUS_PART_SUCC            "6" // 部成#define GOLD_ORDER_STATUS_PART_CANCEL          "7" // 部撤#define GOLD_ORDER_STATUS_PARTSUCC_CANCEL      "8" // 部成待撤#define GOLD_ORDER_STATUS_JUNK                 "9" // 废单#define GOLD_ORDER_STATUS_REPORTED_CANCEL      "10" // 已报待撤#define GOLD_ORDER_STATUS_UNKNOWN              "255" // 未知enum GOLD_BS_FLAG // 贵金属买卖方向{    GOLD_BS_FLAG_BUY                = 'b', // 买入    GOLD_BS_FLAG_SELL               = 's', // 卖出};enum GOLD_OFFSET_FLAG // 贵金属开平方向{    GOLD_OFFSET_FLAG_OPEN           = '0', // 开仓    GOLD_OFFSET_FLAG_CLOSE           = '1', // 平仓};
2 0
原创粉丝点击