网格交易模型 股票网格交易 期货网格交易 策略开发

网格交易模型

主要逻辑:
包括两个类:
1、new_block创建新的网格,其中有网格中线值(start)参数,(add)按绝对值创建网格,(times)按小数比例创建网格,(quantity)网格中线上下各多少条。返回一个网格列表。
2、strategy主要用来监测实时价格在那个区间,一旦有移动返回所在网格的上轨和下轨。

适合股票和期货。其中strategy类中有个变量self._mytrading_book_list,用于记录交易的行为,可根据不同要求更改要保存的数据。

# coding=utf-8
"""
网格交易模型,包括创建网格和监测价格波动到新网格的两个类模型。
作者:Leo
微信:470770753
"""
class new_block():
    def __init__(self):
        pass

    def block(self, start, add, times, quantity):

        block1_list = []
        block2_list = []

        elememt_list = [x for x in range(0, quantity + 1)]

        for element in elememt_list:
            block1_list.append(start - start * times * element - add * element)
            block2_list.append(start + start * times * element + add * element)

        block1_list = block1_list[1:]
        block1_list.reverse()

        block_list = block1_list + block2_list

        return block_list


class strategy():
    def __init__(self,start,block_add,block_times,block_quantity):
        self._myblock=new_block()
        self._myblock_list=self._myblock.block(start,block_add,block_times,block_quantity)
        self._mytrading_book_list=[]
        self._index_changing_list=[]

        for block_mark in self._myblock_list:
            #[block_mark,[],[]] for (mark,longposition,shortposition)
            self._mytrading_book_list.append([block_mark,[],[]])

    def logic(self,data):

        compare_block_list=self._myblock_list
        if len(compare_block_list)>0:
            compare_block_list.sort(reverse=False)
            compare_block_list.append(data)
            compare_block_list.sort(reverse=False)

            self._index_changing_list.append(compare_block_list.index(data))

        if len(self._index_changing_list)>1 and self._index_changing_list[-1]!=0 and self._index_changing_list[-1]!=len(compare_block_list)-1:
            if abs(self._index_changing_list[-1]-self._index_changing_list[-2])>=1:
                return [compare_block_list[self._index_changing_list[-1]-1],compare_block_list[self._index_changing_list[-1]+1]]
        
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值