[ptrade交易实战] 第十八篇 期货查询类函数和期货设置类函数

前言

今天主要和大家分享的是期货查询类的函数和期货设置类的函数!

具体的开通渠道可以看文章末尾!

一、get_margin_rate—— 获取用户设置的保证金比例

保证金是期货交易中的一个重点,这个函数就是用来获取我们设置的保证金比例的!具体的函数如下

get_margin_rate(transaction_code)

其中的参数如下

transaction_code:期货合约的交易代码,str类型,如沪铜2112("CU2112")的交易代码为"CU";

具体的代码示例

def initialize(context):
    g.security = "CU2112.XSGE"
    set_universe(g.security)
    # 设置沪铜品种的保证金比例为8%
    set_margin_rate("CU", 0.08)

def before_trading_start(context, data):
    # 获取沪铜品种的保证金比例
    margin_rate = get_margin_rate("CU")
    log.info(margin_rate)
    # 获取苹果品种的保证金比例
    margin_rate = get_margin_rate("AP")
    log.info(margin_rate)

def handle_data(context, data):
    pass

二、get_instruments—— 获取合约信息

这个函数用来获取相关合约的上市具体信息!具体代码如下

get_instruments(contract)

其中的contract指的是字符串,期货的合约代码,str类型;

返回如下的信息

FutureParams对象,主要返回的字段为:

1、contract_code -- 合约代码,str类型;

2、contract_name -- 合约名称,str类型;

3、exchange -- 交易所:大商所、郑商所、上期所、中金所,str类型;

4、trade_unit -- 交易单位,int类型;

5、contract_multiplier -- 合约乘数,float类型;

6、delivery_date -- 交割日期,str类型;

7、isting_date -- 上市日期,str类型;

8、trade_code -- 交易代码,str类型;

9、margin_rate -- 保证金比例,float类型;

这里有一个注意事项

在期货实盘模块中,由于行情源的限制,涨跌幅目前暂时是无法提供的

具体的代码示例

def initialize(context):
    g.security = ["CU2112.XSGE", "IF2112.CCFX"]
    set_universe(g.security)

def before_trading_start(context, data):
    # 获取股票池代码合约信息
    for security in g.security:
        info = get_instruments(security)
    log.info(info)

def handle_data(context, data):
    pass

三、set_future_commission —— 设置期货手续费

这种设置类函数就和前面介绍的滑点函数一样,都是为了让模拟盘的回测更加贴近实盘!主要作用是设置期货的手续费

函数具体如下

set_future_commission(transaction_code, commission)

其中的参数如下

transaction_code:期货合约的交易代码,str类型,如沪铜2112("CU2112")的交易代码为"CU";

commission:手续费,浮点型,设置说明:

当交易时的手续费是按手数收取时,则这里应当设置为每手收取的金额,例如:将期货的手续费设置为2元/手,此处应填写2;

当交易时的手续费是按总成交额收取时,则这里应当设置为总成交额的比例,例如:将期货的手续费费率设置为0.4/万,此处应填写0.00004;

代码示例如下

def initialize(context):
    g.security = "CU2112.XSGE"
    set_universe(g.security)
    # 设置沪铜的手续费,0.4/万
    set_future_commission("CU", 0.00004)
    # 设置沪金的手续费,2元/手
    set_future_commission("AU", 2)

def handle_data(context, data):
    # 买入沪铜2112
    buy_open(g.security, 2)
    # 买入沪金2112
    buy_open("AU2112.XSGE", 20)

四、set_margin_rate —— 设置期货保证金比例

一样的,都是为了更贴近实盘,主要是用来设置期货保证金比例!

具体函数如下

set_margin_rate(transaction_code, margin_rate)
其中的参数

transaction_code:期货合约的交易代码,str类型,如沪铜2112("CU2112")的交易代码为"CU";

margin_rate:保证金比例,浮点型,将对应期货的保证金比例设置为5%则输入0.05;

代码实际使用示例

def initialize(context):
    g.security = "CU2112.XSGE"
    set_universe(g.security)
    # 设置沪铜品种收取的保证金比例设置为5%
    set_margin_rate("CU", 0.05)

def handle_data(context, data):
    # 买入沪铜2112
    buy_open(g.security, 10)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值