技術メモ

役に立てる技術的な何か、時々自分用の覚書。幅広く色々なことに興味があります。

倍プッシュの錯覚に騙されてはいけない(マーチンゲール法)

f:id:swdrsker:20170802170512p:plain
FXの業界には、ギャンブル性の強いバイナリーオプションという取引がある。
バイナリーオプションとは、1分後や10分後の相場について「上がる」か「下がる」かについてのみ予想する取引のことである。
そのバイナリオプションの取引で、必勝法と謳い人々をだまし続けるマーチンゲール法(またはマルチンゲール法)という方法がある。

マーチンゲール法

マーチンゲール法とはつまり倍プッシュのことだ。
例えばこんなゲームを考える。
サイコロを振って4以上の目が出たら掛け金の倍額を貰える。3以下の場合は掛け金を没収される。
ここで、倍プッシュとは
1000円で賭け始めて負ければ2000円、さらに負ければ4000円、8000円…と賭けていく方法だ。
勝った時点で利益が確定する上、何十回も繰り返していればいずれ勝つだろうという寸法で、
実際10回繰り返すと負ける確率は2の10乗分の1だ。ほとんど負けることはない。
直観的には最強の方法と思ってしまう。

落とし穴

しかし実際は最強でも何でもない。本質はなにも変わっていないのだ。
じゃあ何も考えないで勝率99%などという売り文句騙される人は何がいけないか。

期待値を考えていない

騙される人の多くは期待値を考えていないのかも知れない。このマルチンゲール法、少し考えればわかるが勝った時に儲かる金額はいつでも1000円(最初にかけた金額)なのだ。一方で、一度降りてしまうとそれまで賭けた金額全てを失うことになる。
負ける確率は低いものの、勝っても儲けは薄いが負ければ大損という仕組みになっている。
例えば、初期値A円で5回まで倍プッシュする作戦を取るとして、実際に期待値を計算すると

\displaystyle
A\left(1-\frac{1}{2^5}\right) - A\left(\sum^{5}_{k=1}2^{k-1}\right)\frac{1}{2^5} = A\left\{\left(1 - \frac{1}{2^5}\right) - \left(2^5 - 1\right)\frac{1}{2^5}\right\} = 0

となって、期待値は0となる。(倍プッシュの回数がどんな値でも期待値は0のまま)
要は結局ギャンブルの本質は何ら変わっていないということだ。
この期待値を考えずに勝率だけを考えてしまうのは本当によくない。

持ち金の上限を把握していない。

マーチンゲール法を妄信している人は何回も倍々ゲームを繰り返すことができると錯覚してしまっている。
当たり前だが、持ち金は無限ではないし、数百回も数万回も倍プッシュすることはできない。
N回でストップすると決めてしまった時点で、期待値は0となってしまう。
そのことだけは頭に入れておきたい。

業者が自然に儲かる仕組み

期待値が0なら、業者にとってもギャンブルじゃないか?と思うかもしれない。
しかし実際はそうではない。
バイナリーオプションを最初に知った時に驚いだのだが、
予想が外れると掛け金は没収されるのに対し、予想が当たった場合は掛け金の1.9倍で返ってくるといった取引が平気でなされている。
こんなの、少し考えれば悪質なギャンブルであることは明らかだ。
1回の勝負が独立に50%で決まるとすれば、
1000円を賭けたときの期待値は-50円、
1回倍プッシュしたときの期待値は-75円、
2回倍プッシュしたときの期待値は-87.5円…
とプッシュすればするほど期待値は下がっていくことになる。
業者としてはどんどんマーチンゲール法をして欲しいだろう。

とはいえ、掛け金を2倍にしてリターンしてくれる業者も中にはあるようだ。
しかし騙されてはいけない、そういう業者は大抵一回の取引ごとに手数料を取ってくる。
元々期待値が0なのに取引手数料を取られたらどうなるかは想像できるだろう。

それでもやってみたい

業者が儲かるとわかっていてもFXにはなぜか魅力がある。
為替の動きに何らかの規則性があると思ってしまうからだ。
全く規則性がないと言い切れないのが為替相場の魅力であり、
テクニカル分析といって過去の値動きだけで未来の相場を当てる方法は掃いて捨てるほど考えられている。
その中に金の成る木が隠れているんじゃないかとワクワクしたりする。

補足【必勝法の確認】

バイナリーオプションの必勝法を統計的に確認したい場合は符号検定を使おう。
符号検定で53%以上の勝率(業者の取り分を考慮しても期待値が0以上になる勝率)を保証できる必勝法を発見出来たらGOサインだ。

為替相場の値動きにウィナー過程を仮定するのはダメかもしれない

為替相場の値動きに本当にウィナー過程を当てはめていいんだろうか。
簡単に調べられそうだったので、ドル円相場で少し調べてみた。
結果から言うと、正規分布っぽくなくねって結論が出てしまった。

ウィナー過程…確率過程W_tにおいてW_{t+s} - W_tが平均0分散sの正規分布に従うような確率過程

為替データの取得

pandas_datareader

というライブラリを使えば、Web上の色々な情報を取ってくることができるらしい。
便利。
ドル円(USD/JPY)相場をとってくるにはパラメータを"DEXJPUS"とするようだ。
pandas-datareaderで株価や人口のデータを取得 | nkmk log

from pandas_datareader import data
start = datetime(2010,1,1)
end = datetime(2017,1,1)
usdjpy = data.DataReader("DEXJPUS","fred",start,end)

分析

分析では、2010年1月1日から2017年1月1日までの1日間隔の値動きを使った。
欠損値は除外した上で、1日の差分が正規分布に従うかどうかについて調べた。
正規性の検定にはシャピロウィルク検定を用いた。
pythonで正規性の検定【コロモゴロフスミルノフ検定(KS検定)】 - 技術メモ

結果

下の図は、青い線がヒストグラムKDE*1を表し、黒い線が正規分布にフィッティングしたものを表す。
f:id:swdrsker:20170711053739p:plain
p値は
7.15e-24
となって、正規分布じゃなくねって結論が出た。

見た目では、正規分布に比べると中心と裾にかけて広くなっていくような分布っぽい。
1分足とか1時間足で使えるデータが簡単に見つからなかったのでやってないが、それらでも試してみたい。

コード

from pandas_datareader import data, wb
from datetime import datetime
from math import isnan
from scipy import stats
import matplotlib.pyplot as plt
import numpy as np
import seaborn as sns
sns.set_style("whitegrid")

start = datetime(2010,1,1)
end = datetime(2017,1,1)
usdjpy = data.DataReader("DEXJPUS","fred",start,end)

subs = zip(usdjpy["DEXJPUS"][:-1],usdjpy["DEXJPUS"][1:])
sublist = []
for i,j in subs:
    if isnan(i) or isnan(j):
        continue
    sublist.append(j - i)

print(stats.shapiro(sublist)[1])

sns.distplot(sublist,fit=stats.norm)
plt.title("dist of 2010-2017 USD/JPY price movement")
plt.show()

FXを始めて、金融工学の触りを学んで感じたこと


FXに興味が出てきて、バーチャルトレードで短期投資をしてたんだけど、10万円くらい負けてもうやめてやろうかと思った。
それで、負けん気というか、儲けてる奴は何をしてるんだろうと思って色々調べていると金融工学の分野に辿り着いてしまった。勉強していくうちに面白くなってきたので、FXも金融工学も素人だけど素人なりに調べたり考えたりしたことをメモする。

FXで儲けることとは

FXで儲けることは基本的には
「安く買って高く売る」
ことである。でもその中でも戦略がいくつかある。

  • 短期投資
  • 長期投資
    • 長期のトレンドで儲ける
    • 長期のスワップで儲ける

短期投資は10分後に為替がどうなるかを当てること、単純に当たったら儲かる。
テクニカル分析とか胡散臭い方法論は出回っているけれど、短期だとほとんどギャンブルだ。
相場が上がるか下がるかはほとんどランダムに近いからだ。

長期投資はその名の通り、長期(1週間〜数ヶ月)にわたって通貨を持つこと。
戦略は二種類に分かれる。短期投資と同じように上げ下げを当てる方法と、スワップと言って配当金みたいなものを目当てに儲ける方法。

金融工学の役割

金融工学がFXにどう影響するか

誤解されがちなのが、金融工学は将来の為替相場をきっちり当てるのが目標だと思われることがある。僕も勉強を始める前はそう思っていた。しかし、金融工学の立場ではむしろ値動きは不確定な要素だと受け入れた上で、いかに正しく期待値を計算するかというところに注力される。
さっきも言ったように5分後の値動きなんかは本当に誰にも予測がつかない。ここに金融工学が割り込む余地はない。

だからこそ、金融工学が貢献するのは長期投資の方だ。例えばスワップを目当てにする取引の場合、期待値とスワップの価格が釣り合っていないような通貨ペアを計算しローリスクで利益を生むようなポートフォリオを組み立てるといった応用例がある。
特に「将来X円で売る(買う)権利」自体を取引することがあってこれをオプションと言うが、このオプションの値段を決めたりあるいは自分に有利なオプションを組んだりするのが金融工学の役割である。

FXにおける金融工学の目的

金融工学の目的は大きくいってしまえば、
1.「リスク自体の価格の正当な評価」
2.「評価のズレから生まれる違いを利用して儲ける方法」
の2軸になっている。
すごく大きく分けたので、もう少し詳しく話すと。
1の中には金融商品の価格決定とか、法改正が金利に与える影響の推定とかがある。(追記:他に、銀行が保有する金融商品や与信に対して手元に保有しておくべき資産を算定するのに使われる(バーゼル規制などと呼ばれる国際的な指標があり、金融商品取引法に定められている。))
2の中には新しい金融商品・オプション商品の作成とか、リスクヘッジをしながらスワップで儲けるためのポートフォリオ作成とかがある。

例えば、有名なサブプライムローン問題なんかは土地価格の高騰が前提となっていた金融商品が、土地価格の高騰が止まってしまったことによって期待値と実際の価格に違いが出てしまった*1。そこに目を付けた金融屋さんがサブプライムローン空売りして儲け逃げしてしまった。これは1による正当な価格の評価がうまく機能せず、2のタイプの金融屋さんに痛いところを突かれた、ということになる。

まあでもこの2つの括りでおおむね間違いないだろう。
すなわち
「期待値を0にしよう」という方向性と
「期待値の差を利用して儲けよう」という方向性の
イタチごっこになってしまっているわけだ。
強固な暗号を考えることと暗号を破る方法を考える暗号理論に似ているとも言える。

金融工学の社会的貢献

でも暗号理論と違うところは、結局誰も幸せにならないんじゃないかということ。
暗号理論は暗号を作ることと破ることのイタチごっこにより、素人では簡単に破れない強固な暗号を生み出してきた。
今やブロックチェーンやクレジット決済などのセキュリティの分野で無くてはならないものになっている。
でも金融工学はどうだろうか。
結局誰が幸せになるんだろう。為替を取引するプレーヤは幸せになるとして、FXには直接関係ない人たちにどういう良い影響を及ぼせるんだろうか。
例えばさきほどのサブプライムローンの話では、目先のお金のない人にも家を買える夢を与えることができた。貢献があるとすればそういう事だろうか。しかし、一方でサブプライムローン問題を引き起こしたのも金融工学の功罪であり、金融工学に対する不信感は拭えない。

追記(2022)

仕事で曲がりなりにも金融工学(特に1のリスク評価について)の世界に触れる事ができたので追記。
バニラオプション(単純なヨーロピアンオプション)については意義がわかった気はする。経営や家計のやり取りをするにおいては見通しが立っている方が動きやすいことがある、例えば為替の予約や住宅ローンの固定金利など、多少損してでも良いから1年後の為替レートを確定しておきたいこれから30年払う金利を確定しておきたいという場合がある。特に企業の場合は不渡りを起こすと倒産につながるので不渡りを起こさないように資産をギリギリでやりくりするのはとても大事なことだ(会計の世界では資産が有り余れば良いというわけではないので特にそういったバランス感覚が大事になる)。そういった為替レートの予約や住宅ローンの固定金利の適正金利を計算したりする時に役立っているのが金融工学だ。
ただ、たしかに複雑な金融商品をリスク評価することに果たして社会貢献的な面があるのか?という疑問は拭いきれなかった。
ルックバックオプション、バミューダスワップション、コーラブルリバースフローター型デュアルカレンシー債、ノックアウト型日経平均リンク債、など調べてもらうとわかるがただただ複雑にしてるだけだ。誰がどう嬉しいのか全くわからない。証券会社のセールスが証券を売りつけるためにわざと複雑に作っているとしか思えない。起こりえない(と思える)ようなリスクは無視してできるだけ高く見せようとしてるだけだ。実際その起こりえないことが起こったら大損。ファットテールな現実世界でスイスフランショックのようなことが起こらないわけではない。

リスク評価という枠組みからは出ないが、金融商品に限らず天災や損保など確率的な事象のリスクに伴う金銭的価値を金融工学を使って求めようというリアルオプションという世界や相手が倒産する確率も含めた契約(OTC取引)の適正価格を求めようというXVA世界があり、単純にFXや株の世界とは違う分野で活躍している。
変な仕組債や複雑な金融商品を作って誰が嬉しいのかわからないものを作るよりは個人的にはよっぽど有意義な世界だと思う。

雑感

確率的な考え方は統計学と相性が良く、学問領域としては面白い。

*1:金融商品が複雑化しすぎて適切なプライシングができない状況だった