見出し画像

分解管理モンテカルロ法

お久しぶりです、Chisikiです。
日々ベットシステムについては研究しているのですが、今回は過去記事''分解モンテカルロ法''の改良案となります。




はじめに

今回は分解モンテカルロ法の改良案になるので、分解モンテカルロ法の前提知識が必要になります。以下の記事で解説しております。

※注意
今回の改良案は少し複雑なのと、試行回数が多くないと恩恵を感じづらいです。なのでシステムトレーダーやbotter向けではあります。


ベットシステムについて

私個人の意見ですが、ベットシステムを使う=利益が得られる。とは思っていません。
あくまで資金効率の良い''ベット方法''というもので、どんなベットシステムでも破産確率と向き合う必要があります。そして特に、初期ベット額についてはよく考える必要があります。

少し説教じみてしまいましたが、私なりの良いベットシステムとは何かを少しまとめます。

・損失回収
そのベットシステムを使用した際に、損失で終了するのか。損失を一部回収するのか、利益を残して終了するのか。損切りは大事なことですが、まずは利益を残していけるベットシステムが大事だと考えます。

・ベット額の増え方
ベット額の増え方が多いベットシステムだと損失回収スピードは早いのですが、破産確率が上がりやすく資金を圧迫します。
じゃあダラダラと少額をベットし続ければいい。という訳ではなく、ハウスエッジがあるのでなるべくベット額を急激に増やさずに、損失を回収or利益を積み重ねていく必要があります。

・連勝時のベット額
ベットシステムの中でも、連勝時のベット額を管理しているものは少ないです。最低限の利益を確保したうえで更なる利益を狙うチャンスでもあるので、連勝時でもベット額の管理をすることが大事です。
FX勢ならトレイリングストップと言った方が伝わりやすいかもしれないです。


分解管理モンテカルロ法について

今回提唱するベットシステムの分解管理モンテカルロ法は、既存の分解モンテカルロ法に以下の3点を導入します。

1.連勝時のベット額管理
└ストックの獲得
2.ストックの消費
3.数列値の平均化

ひとつずつ解説していきます。


連勝時のベット額管理(ストックの獲得)

連勝時に最低限の利益を確保したまま、更なる利益を目指せるベットシステムの中で有名なのはグッドマン法イーストコーストプログレッション法などですね。

分解モンテカルロ法は損失を回収するベットシステムなので、連勝時は初期ベット額をベットし続けて負けるのを待つしかありません。
そこで数列解消後or初期数列からの連勝時には、オリジナルのグッドマン法を使用し損失時には分解管理モンテカルロ法に移行したいと思います。

オリジナルのグッドマン法について

通常のグッドマン法は連勝時に1,2,3,5,5,5…とベットしていきますが資金効率が悪いので、オリジナルのグッドマン法では1,1,2,3,5,5,5…とベットしていきます。詳しくは以下のようになります


・通常ベット
ベット額:1
WIN:累計損益+1(オリジナルグッドマン法を継続)
LOSE:累計損益-1(分解管理モンテカルロ法に移行)

・2連勝目
ベット額:1
WIN:累計損益+2(オリジナルグッドマン法を継続)
LOSE:累計損益±(通常ベットに戻る)

・3連勝目
ベット額:2
WIN:累計損益+4(オリジナルグッドマン法を継続)
LOSE:累計損益±0(通常ベットに戻る)

・4連勝目
ベット額:3
WIN:累計損益+7(オリジナルグッドマン法を継続)
LOSE:累計損益+1(通常ベットに戻る)

・5連勝目
ベット額:5
WIN:累計損益+12(オリジナルグッドマン法を継続)
LOSE:累計損益+2(通常ベットに戻る)

・6連勝目移行
ベット額:5(固定)
WIN:累計利益+〇(オリジナルグッドマン法を継続)
LOSE:累計損益+〇(通常ベットに戻る)


オリジナルグッドマン法の6連勝目のベットで負けると、累計損益は''7''
オリジナルグッドマン法を使用せず、6連勝目のベットで負けると累計損益は''4''になります。つまり''3''の余剰利益が生まれています。
この余剰利益を''ストック''と呼び今後使用していきます。

当たり前ではありますが、連勝していくほどストックは多く得られます。

ストックについて

次の項でストックを使用した数列管理を行うのですが、ストックが多いほど効果的な数列消化が可能です。
なのでオリジナルグッドマン法を使用し得たストックのみではなく、他の取引で得た利益やボーナスが貰えるような状況であれば、それらを一部ストックに換算してベットに臨んでも良いかもしれません。


ストックを消費する数列管理

ここから分解管理モンテカルロ法のメイン機能になります。先程のストックを消費していくのですが、例えば以下のように

数列:1,2,3,4,5
ストック:15

余剰利益であるストックが15あるので

数列:1,2,3,4,5
ストック:0

ストックを全て消費して、数列を解消させました。
これだと、効果的な数列解消ではなくただの損切りになってしまいます。

既存の分解モンテカルロ法は0,1つまり、初期の左の数列値が0であるため連敗中でもベット額が上昇せず、0,1,1,1…と続いていきます。なので以下の条件でストックを消費することにより更に連敗耐性を高めていきます。

以下にWIN/LOSE時の流れに加えてストック消費条件を記していきます。


~WIN~
数列:1,2,3,4,5
ストック:5
↓左右の数列を削除
数列:
1,2,3,4,5
ストック:5
↓WINの際にはストック消費しない
数列:2,3,4
ストック:5
↓ベット続行


~LOSE~
数列:1,2,3,4,5
ストック:5
↓右にベット額を足す
数列:1,2,3,4,5,6
ストック:5
↓LOSEなのでストック消費判別をする
・一番左の数列値が0の場合ストックを消費しない
・一番左の数列値が0以外の場合ストックを消費する
↓一番左の数列値が1なのでストックを1消費する
数列:0,2,3,4,5,6
ストック:4
↓ベット続行


このストック消費条件によって、既存の分解モンテカルロ法より連敗耐性が高まっています。
今まで0,1,1,1,1,1…と続く状態でWIN⇒LOSEとなると一番左の数列値が0でなくなる為、ベット額の上昇が始まります。しかしストックを上記の条件で消費することで再び一番左の数列値に0を作れる為、少ないストック消費でベット額の上昇を効率よく抑えられます。


数列値の平均化

先程の項でベット額の上昇を効率よく抑えられることが出来ましたが、ストックがある前提の話になります。ストックが確保できるorストックを消費しきった状態でもベット額を効率よく管理する為に数列値を平均化します。例えば以下のように

数列:1,2,3,4,5,6,7,8
↓数列値の平均化
数列:4,4,4,4,5,5,5,5,

ベット額が変わらないのであまり恩恵を感じられないかもしれませんが、この状態から分解モンテカルロ法が一番苦手な1WIN⇒2LOSEを交互に繰り返した際のベット額の増え方を確認してみましょう。


~既存の分解モンテカルロ法の場合~
数列:1,2,3,4,5,6,7,8
次回ベット額:9
↓WIN
数列:
1,2,3,4,5,6,7,8
次回ベット額:9
↓LOSE
数列:2,3,4,5,6,7,9
次回ベット額:11
↓LOSE
数列:2,3,4,5,6,7,8,9,11
次回ベット額:13
↓WIN
数列:
2,3,4,5,6,7,8,9,11
次回ベット額:12
↓LOSE
数列:3,4,5,6,7,8,9,12
次回ベット額:15
↓LOSE
数列:3,4,5,6,7,8,9,12,15
次回ベット額:18

分解モンテカルロ法では1WIN⇒2LOSEを2回繰り返すと最終的な次回ベット額は''18''になりました。


~数列の平均化をした場合~
数列:1,2,3,4,5,6,7,8
平均化:4,4,4,4,5,5,5,5
次回ベット額:9
↓WIN
数列:
4,4,4,4,5,5,5,5
平均化:4,4,4,5,5,5
次回ベット額:9
↓LOSE
数列:4,4,4,5,5,5,9
平均化:5,5,5,5,5,5,6
次回ベット額:11
↓LOSE
数列:5,5,5,5,5,5,6,11
平均化:5,6,6,6,6,6,6,6
次回ベット額:11
↓WIN
数列:
5,6,6,6,6,6,6,6
平均化:6,6,6,6,6,6
次回ベット額:12
↓LOSE
数列:6,6,6,6,6,6,12
平均化:6,7,7,7,7,7,7
次回ベット額:13
↓LOSE
数列:6,7,7,7,7,7,7,13
平均化:7,7,7,8,8,8,8,8
次回ベット額:15


数列値の平均化を行った場合、最終的なベット額は''15''になり分解モンテカルロ法が''18''だったので、''3''の差が生まれています。
正直そこまで違いはないのですが数列が長くなる程、数列値が大きくなる程に数列の平均化は効果を発揮します。

ストック消費と数列値の平均化を組み合わせる

ストック消費により効果的にベット額上昇を抑えることが出来ていましたが、全ての数列値に対して数列値の平均化を行ってしまうとストック消費の効果がなくなってしまいます。なのでストック消費と数列値の平均化を組み合わせるうえで、以下の条件に整えます。


~WIN~
数列:1,2,3,4,5,6,7,8
ストック:5
次回ベット額:9

1.
左右の数列値を削除
数列:
1,2,3,4,5,6,7,8
ストック:5
次回ベット額:9

2.
一番左の数列値が0の場合:左から2個目の数列値以降を平均化
一番左の数列値が0以外の場合:全ての数列値を平均化
数列:4,4,4,5,5,5
ストック:5
次回ベット額:9

3.
WINの場合はストックを消費しない
数列:4,4,4,5,5,5
ストック:5
次回ベット額:9


~LOSE~
数列:1,2,3,4,5,6,7,8
ストック:5
次回ベット額:9

1.
右側にベット額を足す
数列:1,2,3,4,5,6,7,8,9
ストック:5
次回ベット額:10

2.
一番左の数列値が0の場合:左から2個目の数列値以降を平均化
一番左の数列値が0以外の場合:全ての数列値を平均化
数列:5,5,5,5,5,5,5,5,5
ストック:5
次回ベット額:10

3.
一番左の数列値が0の場合:ストックを消費しない
一番左の数列値が0以外の場合:一番左の数列値をストック消費して0にする
数列:0,5,5,5,5,5,5,5,5
ストック:0
次回ベット額:5


上記の条件により、ストック消費と数列値の平均化がお互いを邪魔せずに数列管理をしてくれます。
数列値の平均化よりストック消費を先に行った方がストックの消費が少ないと思うかもしれませんが、初期の0,1から上記の条件を適用し続けている場合には違いはあまりありません。


分解管理モンテカルロ法まとめ

今までの解説で、既存の分解モンテカルロ法に加え
・連勝時のベット額管理
└ストックの獲得
・ストックの消費
・数列の平均化

について説明してきました。最後に分解管理モンテカルロ法のまとめとして、0,1(初期)からのベットシミュレーションを記していきたいと思います。


WIN
数列:0,1
ストック:0
次回ベット額:1
損益:+1

WIN
オリジナルグッドマン法(2連勝目)
ストック:0
次回ベット額:1
損益:+2

WIN
オリジナルグッドマン法(3連勝目)
ストック:0
次回ベット額:2
損益:+4

WIN
オリジナルグッドマン法(4連勝目)
ストック:0
次回ベット額:3
損益:+7

WIN
オリジナルグッドマン法(5連勝目)
ストック:0
次回ベット額:5
損益:+12

LOSE
オリジナルグッドマン法終了
ストック:3
次回ベット額:1
損益:+4

LOSE
分解管理モンテカルロ法スタート
数列:0,1,1
ストック:3
次回ベット額:1
損益:+3

LOSE
数列:0,1,1,1
ストック:3
次回ベット額:1
損益:+2

LOSE
数列:0,1,1,1,1
ストック:3
次回ベット額:1
損益:+1

WIN
数列:
0,1,1,1,1
ストック:3
次回ベット額:2
損益:+2

LOSE
数列:1,1,1,2
↓ストック消費
数列:0,1,1,2
ストック:2
次回ベット額:2
損益:±0

LOSE
数列:0,1,1,2,2
ストック:2
次回ベット額:2
損益:-2

WIN
数列:
0,1,1,2,2
ストック:2
次回ベット額:3
損益:±0

LOSE
数列:1,1,2,3
↓平均化
数列:1,2,2,2
↓ストック消費
数列:0,2,2,2
ストック:1
次回ベット額:2
損益:-3

LOSE
数列:0,2,2,2,2
ストック:1
次回ベット額:2
損益:-5

WIN
数列:
0,2,2,2,2
ストック:1
次回ベット額:4
損益:-3

WIN
数列:
2,2,2
↓数列分解
数列:1,1
ストック:1
次回ベット額:2
損益:+1

WIN
分解管理モンテカルロ法終了
ストック:1
損益:+3
合計損益:+4(ストック含め)


分解管理モンテカルロ法の説明の為に都合のよい勝敗結果ですが、既存の分解モンテカルロ法に比べてかなりベット額の管理は改善されていると思います。上手く伝わっていれば嬉しいです。


さいごに

これらの改良は試行回数が少ないと恩恵はあまりないのですが、FXならEAに
クリプトやオンカジならbotに、資金管理として加えれば絶大な効果を発揮します。(実装難度は高めです)
サブ垢のChinouの方ではこれらをベースにしたbotをフォロワーさんがご厚意で作成してくれており、毎日稼働させております。
毎日収支公開しており、キャンペーン参加者には収益還元しておりますのでベットシステム好きの方はぜひ以下記事をご覧いただければと思います。









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