ハイローの取引履歴をプログラミングでデータ化し、確率論的観点から攻略する

はじめに - ただ闇組に取引するだけでは勝てない。

よくあるアフィカスサイトでは「ハイローは勝率55%を超えれば勝てます!」
とか言って、アフィリンク貼って居ますが、はっきり断言します。

闇雲な取引では絶対に勝てないです

もしこの記事を読んで勝てている人が居たら私(Twitter)にクソリプでも文句でもなんでも投げてどうぞ
(ただし、ここで言う”勝ち”はただ単に勝率55%以上あれば良いなどはありません。)

今回は、これまでの取引履歴をダウンロードし、nodejsで殴り書きしたプログラムで徹底的に検証していきたいと思います。

取引には勝っているけど利益では負ける現象

前提としてですが、私は勝っています勝負では。

私の場合、勝率は5998回中3060回勝ち、2937回負けています。
パーセントで書くと51.0255%で、負けとの差は123

これは単純計算でベット数 * 123となり、2000固定だと24.6万の利益が出ている状態です。

では、損益の方を見ていきましょう。

・・・・

ここ、笑うところですよ。

-650,841円

取引では勝っているが利益では負ける理由は明白

これが理解できない人はこのクソオプション取引には向いていない「幸運な方」なので、絶対にやらず、社畜することを強くおすすめします。

要するに「勝ててる時に賭け金が少なくて、負けてる時に掛け金を数万単位でやっている」
、これにつきます

じゃあずっと固定でいいんじゃないの?

そう思えた人はプロか、お猿さんか、やったことない人です。

固定なんてもどかしくてしてらんないです、逆マーチン(マーチンチン)したい気分の時もありますし、ベット自体は変更していなくてもナンピン発射して両方死ぬ なんてこともあります。

また、固定できればそれで問題ありませんが、前提として損益分岐点を大きく超える勝率を確保する必要があります。
わかりやすく書くと100 / ペイアウト(1.95) = 51.282%以上の勝率を確保しないといけません。

負けまくるのは簡単だけど勝ちまくるのは無理。

例えば元本100万を一瞬で溶かすのは、適当にポジりまくれば一瞬で消せますが、元本100万を失わずに200万にするのは相当難しいです。

ハイローなどのバイナリーオプションの場合、
「100万を200万にする場合、100万から減れば減るほど増やすのは難しくなるくせに、100万から150万になっても200万にするのはしんどい」
です。
逆に
「100万を溶かす時に200万になってしまっても別にどうでもいい 全力ベットでいつか死ぬ」
ということです。

これを前提に、本題をお読みください。

本題

今回の求める確率

今回は「5勝する日と10負けする日の確率」を求めます。

HighLowの場合、csvといううんこしかダウンロードできないため、仕方なくcsvからファイルを作っていきます。
また、日単位のデータが欲しいため、1日づつのcsvファイルを用意しました。

csvをjsonにする

csvはエンジニアの敵、これは小学1年生で学ぶような基礎的な知識です。

と、ゴニョゴニョし、jsonのデータが用意できました(3分クッキング並感)

jsonはこんな感じ

1
2
3
4
5
6
7
8
9
10
11
12
13
14
{
"取引番号": 334114514,
"取引原資産": "USD/JPY",
"オプションの種類": " Turbo ",
"方向": "LOW",
"取引内容": 109.143,
"ステータス": "取引終了",
"購入": "¥1,000",
"ペイアウト": "¥1,950",
"判定レート": 109.137,
"取引時間": "2018/06/01 17:21:27",
"終了時刻": "2018/06/01 17:21:57"
},
・・・

5勝ちする確率と10負けする確率を計算する

1
2
jsonobj = JSON.parse(fs.readFileSync('./json/' + files[l], 'utf8'));
jsonobj.reverse();

みたいに用意して、

1
2
3
4
5
6
7
8
9
for (var i in jsonobj) {
if (jsonobj[i]["ペイアウト"] == 0 || jsonobj[i]["ペイアウト"] == undefined) {
continue;
}
if (jsonobj[i]["ペイアウト"] == "---") { // 負け
counter--;
} else { //勝ち
counter++;
}

みたいな感じにして、

1
2
3
4
5
6
7
8
if (counter == 5) {
wincounter++;
break;
}
if (counter == -10) {
losecounter++;
break;
}

こんな感じにしました。(クソ不親切 要するにクソコードだからパクらないで自分で書いてね)

1
2
3
console.log(wincounter);
console.log(losecounter);
console.log(wincounter / (wincounter + losecounter) * 100 + '%');

とし、実行すると…

と、78.9473%の確率で5回勝ちその日の取引を終えられ、21.0527の確率で10回負けて終了

という結果になりました。

では、これを元に資金管理ルールを組んでみましょう。

資金管理ルール

今回の結果、わかりやすく言うと「HL口座に入れている元本の50%のreturnで終了、全損でも終了」

です。

今回は損益グラフの表示がめんどくさいので、Excelを利用して資金管理ルールを組んでいきます
(csv嫌いって言ってた? なんのことやら)

で、「元本の10%を最大リスクにして、78.9473%の確率で最大リスクの50%のリターン、21.0527%の確率で最大リスク全損」として、100日繰り返した結果がこちら(3分クッキング並感)

ちなみに1000日単位で見るとこんな感じに

そう、これは所詮机上の空論

そう、1000万の10%の100万を150万にすることはできる(かも)しれませんが、100億の10%の10億を5億とか、論外、絶対に不可能

この理論が通じるのはせいぜい400万程度まで

それでもこの”空論”が実現されたらどうなるでしょうか、

この空論を実論(であってるのか?)にするため、今月から「HighLow20万チャレンジ」を開始します。

Highlow20万チャレンジの概要

前回のHighLow10万チャレンジでは、適当な資金管理、ベット管理によって無残に散っていきました。

今回は「JapanNetBankのトークンを友人に渡して、超徹底的な資金管理をする」という、最強の方法を取ります。

計算的には21.0527%の確率で全損を10回連続(5995246分の1)しない限り死なない予定ですし、これで死んだ場合、もう絶対に勝てません、攻略するの諦めます。(ただ20%の確率は大きい)

最後にこれだけは言わせて

HighLowが業者として成り立ってるのは自分を含む攻略できない養分がいるから。

名書、「デイトレーダー」でもよく言われている「ギャンブルをするな」に該当し、最後には絶対に死ぬ。

これからこのクソなオプション取引にこれから参戦、またはこの記事を読んで参戦するという人は絶対に注意するべき。