見出し画像

高頻度botの説明変数の検討

試したけど負けた。
高頻度botってどうやって進めていけば良いのかいまいちわからない。

フォワードテストを並列で回して良いパラメータがあれば実戦に投入するみたいな感じなのかしら。

色々と考慮しないといけないことが多そうだし、精度高めようとしたら泥臭くなりそう。

それより英語の文献を読める力が与えてください。
ゆっくり眠ります。
わあ

1. Volume Order Imbalance ( VOI )

class VolumeOrderImbalance:
    def __init__(self):
        self.voi = None
        self.delta_bid_volume = None
        self.pre_bid_price = None
        self.pre_bid_volume = None
        self.delta_ask_volume = None
        self.pre_ask_price = None
        self.pre_ask_volume = None
    
    def get_value(self, bid_price, bid_volume, ask_price, ask_volume):
        if self.pre_bid_price is not None:
            if bid_price < self.pre_bid_price: self.delta_bid_volume = 0
            elif bid_price == self.pre_bid_price: self.delta_bid_volume = bid_volume - self.pre_bid_volume
            elif bid_price > self.pre_bid_price: self.delta_bid_volume = bid_volume
        if self.pre_ask_price is not None:
            if ask_price < self.pre_ask_price: self.delta_ask_volume = 0
            elif ask_price == self.pre_ask_price: self.delta_ask_volume = ask_volume - self.pre_ask_volume
            elif ask_price > self.pre_ask_price: self.delta_ask_volume = ask_volume

        if self.delta_bid_volume is not None and self.delta_ask_volume is not None:
            self.voi = self.delta_bid_volume - self.delta_ask_volume

        self.pre_bid_price = bid_price
        self.pre_bid_volume = bid_volume
        self.pre_ask_price = ask_price
        self.pre_ask_volume = ask_volume

        return self.voi

2. Order Imbalance Ratio ( OIR )


(bid_volume - ask_volume) / (bid_volume + ask_volume)

参考文献

Order Imbalance Based Strategy in High Frequency Trading


この記事が気に入ったらサポートをしてみませんか?