INTP型のブログ

苦味があるな?

自動売買システムを一日運用してみた結果

f:id:intptan:20220227232537p:plain

 

余裕の負けです\(^o^)/

 

まあでも色々学びはあった。こういう、あまり体系的知識が公開されてない分野は自分でやってみる価値は大きいと思った

 

---

 

本当は戦略の概要とか書きたくないんだけど、まあいつも読んでくれてる人に届くんだろうからいいかなってことで。もし役に立ったって人いたら知見共有してください

 

【戦略】

いわゆる逆指値BOT。毎足、特定の価格で買いと売りに逆指値を入れる

当然、両方の逆指値がヒットすればその値幅が損失になるが、片方だけが約定した場合、その足の始値終値間を拾える。決済は約定した次の足以降は逆側の逆指値。一つの足の中で両方の逆指値が刺さったらその時点で決済になる

 

【ポイント】

ヒゲが多いときは値幅が小さく、ヒゲが少ないときは値幅を大きく取るようにした。ヒゲが多い = レンジ相場、ヒゲが少ない = トレンド相場という考え方

また、損切りと利確の両方を逆指値決済は組み込めるので強いのではとか考えてた

バックテスト的には値幅1pipsとかで出すのが最強らしい。損失は最小化されるが、利益は最大化されるため(当然、実運用時は破綻する)

 

【問題点】

指値がとにかく刺さらない。そもそも逆指値botというアプローチ自体が難しいという感じがした。

逆指値 bot - Twitter Search

すこしTwitterで検索かけてみたけど、まあ難しいという意見が若干多かったかなという感じ

この辺はGMOでやってたころはストップ注文だったのでスリッページはあるものの必ず約定していた部分がまだマシに働いていたのかなと思う。ストップリミット注文の場合はスリッページ拒否できるけど注文刺さらず死亡してしまったり…

難しいっす。

 

【気づき】

  • 指値をベースに執行を組むと、刺さらなかったときがやばい(機会損失 + 損失の最大化)
  • そもそも価格決定時の値幅が小さくなりすぎやすく、ロジックが破綻しやすい
  • コツコツ負けられるなら、逆指値から指値に変えたら勝てそうに見える。が、多分勝てないんだろうなぁという雰囲気(一日しか回してないのでコツコツドカンで負けそうな気はする、有利な逆指値が通ってなかったので多分不利な指値が通ってグラフが変化するはず)
  • ただ逆指値botで負けたことでmmbotに少しだけ可能性を感じた
  • コーディングスキルが低いので時間軸はできるだけ伸ばしたほうがいいと思った
  • 知識量も経験量も少なすぎる
  • 執行に一つに時間軸のデータだけでなく、複数の時間軸のデータを折り込めばワークする確率を変更できるなと思った(価格決定のロジックを調整するだけでは指値が負ける場面、逆指値が負ける場面でどうしても負けてしまうように思った。そもそものワークする確率を調整したほうがいいのではと思った)
  • ↑その場合は機械学習の立ち位置が不明瞭になってしまう。そもそも自分の機械学習の活用度合いが雑魚すぎるのも問題に思う

 

---

 

指値botが刺さらなすぎワロタ、となったので指値botを作りたいなと思った

 

指値botの場合はコツコツドカンの負けがどうしてもキツく見えてしまうのだけど、そこは機械学習でカバーできたらなと思う

 

本当は最初は指値botでそれなりにいいのができたんだけど、途中で色々試して今回の逆指値botを見つけたからそっちを作った。今にして思えば指値botの方の開発を進めておくべきだったなーと思う。そして馬鹿なことにそのバージョンを残してないのでどんなだったか覚えてないという。アホです

 

  1. 本読んで知見を蓄える(特徴量を考えたい)
  2. pythonのasyncioあたり学習しておく
  3. 指値botの開発をすすめる(前のやつうろ覚えで記憶はあるので、再現していく)

 

という感じ。

 

指値botはもうちょっと回しておいて気付けることないかなーと見ておくことにした。確率的にも一日だけの結果から判定するのは厳しい部分あるし(まあ取れるべきところが注文刺さらず取れてなかったりするので、ほぼ間違いなく破綻しているような気はする)