はじめに
1年ほど前に、機械学習を使ってFXのシストレができないか考えました。
結果は惨敗です。ある程度の確率では、スプレッドや利確幅と損切幅などで負け越しました。
そこで、今回、上がるか下がるかだけの、バイナリーオプションはどうかと考えました。
バイナリーオプションは博打です。丁か半かです。
このようにシンプルな仕組みであれば、ある程度の確率でも利益を出せるのではないかと。
ただし、バイナリーオプションを提供しているFX会社で、APIを用意しているところはありませんので、判断のみを機械学習で実行して、実際のエントリーは手作業になります。
半シストレってところです。
多少、運用の手間がかかりますが、自分の判断よりは良い結果が出せるのではないかと思います。
バイナリーオプションで利益を出すには
バイナリーオプションで、単純に50%以上の勝率で勝負して、利益を出せるかというと、そうではありません。
以下の画像を見てください。
現在価格が、107.631円になっていますが、エントリーできる価格は、107.6円か107.7円になります。
機械学習で現在の価格より上がると判断した場合、107.6円か107.7円のどちらかでエントリーする必要があります。
バイナリーオプションの最大損失は1,000円になりますが、107.6円でエントリーした場合、上記の画面では622円で購入することになりますので、利益は378円、損失は622円になります。
このように分が悪いのがバイナリーオプション取引の特徴ですが、上記の例では62.2%以上の確率がないと利益がでないことになります。
もう少し、単純な値で説明します。
- 利益:400円
- 損失:600円
と仮定すると、勝率60%の場合、10回エントリーして負けが4回ということになり、利益と損失は以下になります。
- 利益:400円×6回=2,400円
- 損失:600円×4回=2,400円
また、エントリー価格は一定ではありませんので、毎回異なります。
平均価格が以下のようになった場合は負け越すことになります。
- 利益:400円×6回=2,400円
- 損失:650円×4回=2,600円
このように、機械学習でバイナリーオプション取引を行うには、勝率60%のアルゴリズムができたとしても、エントリーする際の購入価格が600円以下でないと負け越すことになりますので、エントリーできない場合もあります。
このあたりは勝率とエントリー価格のバランスを見ながら取引すると、逆に大きく利益になることも予想できます。
学習データとテストデータの量
学習データ
学習データについては、多い方が良いよう思えますが、バイナリーオプションのような数時間の超短期トレードの場合は一概にそうは思えません。
また、昨今のコロナによって世界情勢が大きく変貌したように思えますので、過去データが、超短期トレードの指標になりにくいように思えます。
私の考えでは、学習データは最近1ヶ月とかの短期間で良いように思えます。欠点としては学習不足になる恐れがありますので、このあたりは実際にトライしながら調整は必要だと思います。
テストデータ
テストデータも学習データと同じ理由により、長期間で確率を出しても意味がないと思います。
学習データとテストデータのまとめ
上記から、直近の短期間の学習データを使ってアルゴリズムを作成し、アルゴリズムの検証は1日単位とする。
この流れを日々ローリングしていき、その結果をまとめたものの平均などで評価したほうがいいと思います。
機械学習手法の選択
バイナリーオプションは上がるか下がるかだけ。丁か半かですので、機械学習においては「分類」のモデルを利用することが考えられます。
この分類の精度を高めるために、多クラス分類を用いるのも一つの方法です。
通常の分類はバイナリー(0か1)になりますが、多クラス分類は、3種類以上に分類することができます。
たとえば、
- 1:上がる
- 0:エントリーしない
- −1:下がる
という具合です。
微妙なラインの場合は、エントリーを見送ることも大切だと思います。
分類以外に「回帰」を使う方法もあります。
80%以上の確率であればエントリーするなどという方法も取れます。
まぁあまり当てになりませんが。。。
もちろん、他に多くの手法がありますので、手当たり次第トライすると思いますが。
なお、私の勉強不足かもしれませんが、クラスタリングは使えないと思います。
クラスタリングは通常「学習なし」になりますので、単純にクラスタに分けられても意味がないからです。
予想結果の評価
上がったものを上がると分類し、下がったものを下がると分類した割を算出している正解率 (Accuracy) を利用するのが最善だと思いますが、正解率 (Accuracy) を上げるのは案外難しいです。
そこで、もう少し、ハードルを下げて、精度 (Precision) を採用することも念頭においておきましょう。
精度 (Precision) は、上がると予想したもののうち、上がった割合を算出しています。逆の下がったものは、スルーしますので、エントリー回数は減りますが、確率を上げやすいです。
最後に
このような方針で、今後、バイナリーオプションの半シストレを検討していきたいと思います。
その手法などは改めて掲載していきます。
コメント