高頻度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
この記事が気に入ったらサポートをしてみませんか?