MarketMakerBOTのソースコード(by magito氏)読解メモ11

の続きです。
題材は https://note.mu/magimagi1223/n/n5fba7501dcfd です。

処理の振り返りの続きから。

ロジックとしてはget_effective_tickが肝です。
自分は板情報を使ってロジックを組んだことはなかったので勉強になりました。
元のnoteの解説にあるように、指定した値ぶん離れた位置に指値を置きます。
コードではREST APIで取得していますが、今やるならリアルタイムAPIで取得しないと注文するころには賞味期限が割と切れてそうです。

しかし以前触った感じだと、板情報リアルタイムAPIはsnapshotと差分更新の組み合わせで処理していくのが難しかったのでかなり工夫が必要そうです。
ただそれだけに活用できればエッジになりそうではあります。

もう一点注目ポイントはgetpositionsを使わずにポジション管理していることです。
getchildordersでそれぞれの注文の未約定分を計算してどれだけ建玉をもっているか間接的に把握しています。
getpositionsは割と遅延するので、経験上、少なくとも数秒前、VERY BUSYだと数十秒前のposition情報が返ってくると思っておいたほうが良いです。
getchildordersがどれだけ遅延するかわからないですが、このやり方で計算するのは効果があるかもしれません。
getchildordersを取得してから情報を整理把握しcancelするまでの間に約定しているリスクがあるのでそこを工夫する必要はあります。
機会があれば試してみます。

これでMarketMakerBOTのソースコード読解終了です。
次の題材をnoteで探していたのですが無料のbotを見つけることができませんでした。
そんな中、無料でこの規模で提供しているのは他にないであろう https://github.com/Connie-Wild/ChannelBreakoutBot を見ていこうと思います。
これはスナフキン氏のチャネルブレイクアウトbotを基に作られているので、チャネルブレイクアウトbot読解の復習的な部分も多くなると思います。
どう改良されているのか、そして machineLearning.py というキャッチ―なpyはどういう動きをしているのか、見ていければと思います。

それでは、ここまで読んでいただいてありがとうございました。

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