写点什么

量化合约对冲交易 app 系统开发源代码

  • 2023-03-07
    广东
  • 本文字数:1259 字

    阅读完需:约 4 分钟

1、做多

启动后按照设置好的开仓额度自动马上开多,系统开发 I34-案例 I633-演示 53I9,用户可设置是否开仓加倍。当行情下跌后,机器人按照用户设置好的补仓倍数及满足补仓价差后进行补仓。用户可自定义补仓倍数/补仓价差(等于之前的补仓跌幅,因做空时为行情涨了补仓,因此这里叫价差)。


2、做空

启动后,按照设置好的开仓额度自动马上开空,系统开发 I34-案例 I633-演示 53I9,用户可设置是否开仓加倍。当行情上涨后,机器人按照用户设置好的补仓倍数及满足补仓价差后进行补仓。用户可自定义补仓倍数/补仓价差(等于之前的补仓跌幅,因做空时为行情涨了补仓,因此这里叫价差)。


备注:目前做多做空只开通一倍(之后可以开通最高 10 倍,开通高倍率后,用户设置补仓价差不得高于倍数的 80%,因高倍率有爆仓涨幅或跌幅,如 10 倍,涨跌 10 个点即爆仓,设置补仓价差不得高于 8).与做现货一样,只是多了一个方向选择,因现货每次的买入都看涨,等于合约里面的做多,而合约可以在行情相对熊市时做空。让用户多一些选择。但因合约高杠杆倍数存在爆仓风险,用户谨慎使用。


3、多空

启动后按照设置好的开仓额度多空同时建仓,上涨时做多单不断买入卖出实现盈利(止盈加回调平仓),此时做空采用补仓价差➕趋势补仓,下跌时做空单不断买入卖出实现盈利(止盈加回调平仓),此时做多采用补仓价差➕趋势补仓。


// base_dict.py


import sys


def price_lis(mktdata, key):y_10_price = mktdata.groupby('mktdate', group_keys=False, sort=False)[key].apply(lambda x: -x.diff(-10).fillna(x - x.iloc[-1])).valuesreturn y_10_price}


fees_dic = {'IF00': 0.23/10000,'rb00': 0.5 * 1/10000,'ru00': -0.75,'ag00': 0.05 * 1/1000 * 1/2 * 1,'v00': -1 * 0.3,'TA00': -2.1,'CF00': -3.01,'i00': 1/10000,'sn00': -1.5,'p00': -2.5 * 0.6,'zn00': -3 * 0.5 * 0.5,'eg00': -3 * 0.3,}


instrument_dic = {'IF00': {'price_tick': 0.2,'factor': 300,​def dateToContract(instrument, date):dateList = instrument_dic[instrument]['date_list']leadingList = instrument_dic[instrument]['leading_list']


if len(dateList) != len(leadingList):    sys.exit('dismatch')
for ii in range(len(leadingList)): if dateList[ii][0] <= int(date) <= dateList[ii][1]: return leadingList[ii]
return False
复制代码


import numpy as np


def clear_off_trading(df, axis, off_range=[(23000000, 90000000), # (230000000, 240000000),(113000000, 133000000), (150000000, 210000000)]):mask = np.zeros(len(df), dtype=bool)for r in off_range:mask |= (df[axis] > r[0]) & (df[axis] < r[1])df.drop(df.index[mask], axis=0, inplace=True)


if name == 'main':v00_main_contract = dateToContract(instrument='v00', date='20221020')eg00_main_contract = dateToContract(instrument='eg00', date='20221020')print("v00_main_contract: " + str(v00_main_contract))print("eg00_main_contract: " + str(eg00_main_contract))


~~

用户头像

还未添加个人签名 2022-05-23 加入

区块链项目开发,咨询weixin:hkkf5566

评论

发布
暂无评论
量化合约对冲交易app系统开发源代码_开发微hkkf5566_InfoQ写作社区