vn.py量化社区
By Traders, For Traders.
Member
avatar
加入于:
帖子: 9
声望: 0

修改了ctpGate的代码,想实现保证金和手续费的查询:

    def queryMarginRate(self):
        """查询保证金率"""
        self.reqid += 1
        req = {
            "BrokerID": self.brokerid,
            "InvestorID": self.userid,
            "InstrumentID": 'rb1910',
            "HedgeFlag": THOST_FTDC_HF_Speculation,
        }

        self.reqQryInstrumentMarginRate(req, self.reqid)

    def onRspQryInstrumentMarginRate(self, data: dict, error: dict, reqid: int, last: bool):
        """保证金回调"""
        for k, v in data.items():
            print(k, ':', v)

    def queryCommissionRate(self):
        """手续费查询"""
        self.reqid += 1
        req = {
            "BrokerID": self.brokerid,
            "InvestorID": self.userid,
            "InstrumentID": 'rb1910',
            # "HedgeFlag": THOST_FTDC_HF_Speculation,
            # "ExchangeID":'SHFE'
        }

        self.reqQryInstrumentCommissionRate(req, self.reqid)

    def onRspQryInstrumentCommissionRate(self, data: dict, error: dict, reqid: int, last: bool):
        """手续费回调"""
        for k, v in data.items():
            print(k, ':', v)

目前的情况是保证金可以查询出来,手续费不行。用得都是光大期货的ta和md address。
不知道是手续费的字典参数不对,还是说回调方法不太对。
求大神们指导!

Administrator
avatar
加入于:
帖子: 1888
声望: 85

还真没查过这个,不过手续费率可能是在外部系统设置的,不提供查询了。建议直接问光大期货的人吧

Administrator
avatar
加入于:
帖子: 1888
声望: 85

还真没查过这个,不过手续费率可能是在外部系统设置的,不提供查询了。建议直接问光大期货的人吧

Member
avatar
加入于:
帖子: 9
声望: 0

用Python的交易员 wrote:

还真没查过这个,不过手续费率可能是在外部系统设置的,不提供查询了。建议直接问光大期货的人吧
我是看的ctp接口说明,找到的这两个方法。
目前情况是两个查询接口运行的时候都没报错,回调函数只有保证金的有反应,手续费没有反应,
现在不清楚vnpy调用ctp原接口的时候,是封装了所有ctp的接口函数,还是只封装了一部分。
我想的是保证金可以查的话,那应该是100%封装了。如果是的话,那就应该是不提供查询了。

Administrator
avatar
加入于:
帖子: 1888
声望: 85

vn.py的CTP接口,是封装了全部函数的,如果查询手续费的没有封装,调用时会报错找不到这个函数。

估计不提供查询的概率最大了。

© 2015-2019 上海韦纳软件科技有限公司
备案服务号:沪ICP备18006526号-3