Warning: Trying to access array offset on value of type bool in /home/r1406503/public_html/keito.luxe/wp-content/themes/xeory_base/lib/functions/head.php on line 135

金融


Warning: Trying to access array offset on value of type bool in /home/r1406503/public_html/keito.luxe/wp-content/themes/xeory_base/lib/functions/bzb-functions.php on line 589

値引きと実質値引き、無料と実質無料、それらの違いと一致する条件

こんにちは、毛糸です。

最近、携帯電話会社の料金プラン改革が進み、スマホの端末代金を料金から差し引く「実質値引き」ができなくなりつつあります。

また、QRコード決済サービスが乱立し、多くのサービスでポイント還元が行われ、ここでも「実質○%オフ!」というような説明がされることがあります。

さて、この実質値引きや実質無料という考え方ですが、なぜ「実質」なのでしょうか

もちろん単純な値引きや無料ではないので「実質」という枕詞をつけて区別しているわけですが、値引きや無料の「効果」は同じなのでしょうか

本記事ではこの「実質」の考え方について、数式を用いて考えてみたいと思います。

値引き・無料とはどういうことか

まず、通常の意味での値引き・無料について考えてみましょう。

値引きの定義

a%の値引きとは、価格X円の商品を購入するときに、 X × a%円分を減額して支払うこと、つまり

X – X × a%=X(1-a%)円

を支払うこと、と考えられます。

価格100円の商品が5%の値引きになっているとき、支払額は

100 – 100×5%=100-5=95円

です。

a%の値引きが行われたとき、X円の商品をX(1-a)円で購入できるわけですから、支出額1円あたりの商品価値は

X ÷ X(1-a)=1/(1-a)

となります。

なぜ支出額1円あたりの商品価値なんて話をするのかと言うと、こうすることで実質値引きとの比較がわかりやすくなるからです。

無料の定義

無料とは、100%の値引きのことです。つまり価格X円の商品を、

X – X×100%=0円

で買えるということです。

このとき、支出額1円あたりの商品価値は

X ÷ X(1-100%)=1/(1-1)=∞(無限大)

となります。

実質値引き・実質無料とはどういうことか

次に、実質値引き・実質無料について考えてみましょう。

実質値引きの定義

a%の実質値引きとは、価格X円の商品を購入するときに、代金X円を支払った上で、X × a%円の現金やポイント(以下、現金等)が還元されること、と考えられます。

価格100円の商品が5%実質値引きになっているとき、支払額は100円であり、100×5%=5円が還元されます。

したがって、a%の実質値引きで価格X円の商品を購入したあとには、手元にはX円分の価値のある商品と、X×a%の現金等が残っています。

現金等は使って初めて効用(満足度)を生むと考えるのが基本的な経済学の考え方ですので、議論を単純化するためにも、還元された現金はその後消費する(つまりその現金等を使って別の商品を買う)と考えましょう。

このとき、実質値引きは1度だけ適用する、つまり追加購入には実質値引きが適用されないと仮定します(この仮定については、あとの節で再検討します)。

このような状況を整理すると、a%の実質値引きが行われたときには、X円を支出することで、X+X×a%=X(1+a%)円分の価値の商品を手に入れられる、ということになります。

したがって支出額1円あたりの商品価値は

X(1+a) ÷ X = 1+a

となります。

実質無料の定義

実質無料とは、100%の実質値引きのことです。つまり価格X円の商品をX円支払って購入し、X×100%=X円の現金等が還元されるということです。

したがって、X円の支出に対して、X+X×100%=2X円分の商品が購入できます。

このとき、支出額1円あたりの商品価値は

2X ÷ X=2

となります。

値引きと実質値引き、無料と実質無料の違い

以上のことを整理すると、

  • 値引き(a%)とは、支出X(1-a%)円でX円分の消費をすることであり、支出1円あたりの消費額は1/(1-a%)
  • 無料とは100%値引きのことであり、支出1円あたりの消費額は無限大
  • 実質値引き(a%)とは、支出X円でX(1+a%)円分の消費をすることであり、支出1円あたりの消費額は1+a%
  • 実質無料とは100%実質値引きのことであり、支出1円あたりの消費額は2
ということになります。
値引きと実質値引きを、支出1円あたりの消費額で比較すると、
[値引き]1/(1-a%) > [実質値引き]1+a%
という関係にあるので、実質値引きより値引きのほうが得です。
無料と実質無料を比較しても、無料の場合の支出1円あたりの消費額は無限大であるのに対し、実質無料の場合は支出1円あたりの消費額は2なので、無料のほうが得です。
したがって、値引き(無料)と実質値引き(実質無料)では、前者のほうが得であると結論付けられます。

発展:条件によっては値引きと実質値引きはイコール

以上の通り、値引きは実質値引きよりも得であると結論付けられましたが、実はある条件を加えると、両者のお得度は一致します。
その条件とは「実質値引きで還元された現金を使用したときにも、実質値引きが適用される」ということです。
前節までの結論はこの条件が成り立たない場合、つまり「実質値引きは1度だけ適用する」「追加購入には実質値引きが適用されない」と仮定した場合に導かれる結論です。
しかし、実質値引きは何度でも適用可能で、実質値引きで還元された現金等を使用する際にも、実質値引きが行われると考えると、実は値引きと実質値引きは完全に同じ効果を生みます
この条件のもとでは、X円支払ってX円商品を購入したとき、X×a%の現金等が還元されます。
この現金等を使用してX×a%円の商品を購入すると、現金等がX×a%×a%円還元されます。
これが果てしなく続くことになるので、結局X円の支出で
X+Xa+Xa^2+…=X(1+a+a^2+…)円
分の商品が手に入ります。
等比数列の和の公式から、1+a+a^2+…=1/(1-a)が成り立つので、結局実質値引きにおいても、X円の支出でX/(1-a)円分の商品が買えることとなり、支出1円あたりの消費額は1/(1-a)なので、値引きの場合と同じになります。
したがって、「実質値引きが何度でも適用可能」という条件があれば、値引きと実質値引きは同じ効果を生むと言えます。
最近のQRコード決済のサービスでは、QRコード決済により還元されたポイントを使った場合にもポイントが還元されることが多いと思いますので、この場合はポイント還元率=値引き率と考えて良いでしょう。

参考:値引きと割引の違い

値引きと似た言葉に、割引というのがあります。

5%の値引きを、5%割引と表現する場合も多くあり、両者は同じ概念と思っている方も多いでしょう。

しかし、会計の専門用語としての値引きと割引は、以下のように異なる意味を持ちます。

  • 値引き:商品代金の減額のこと
  • 割引:商品代金を早く払うことにより支払いが安くなること
割引は単純に代金を安くするのではなく、約束の期日より早く支払ってくれたことに対して、お金にかかる金利分を安くしてもらうことです。
会計においてこれらは明確に区別され、会計処理も異なるので、注意してください。

バブルに関する研究・文献まとめ【仮想通貨投資に役立つ?】

こんにちは、毛糸です。

2019年6月26日現在、ビットコイン価格が再び高騰しており、135万円を超えました。

ビットコインを始めとする仮想通貨(暗号資産)は2017年頃に劇的な価格高騰を引き起こし、現代の「バブル」として社会に大きな影響を与えました。
参考記事>>ビットコインはバブルである

リンクの記事でも述べたとおり、仮想通貨はキャッシュフローの裏付けがなく、厳密な意味で「資産」と呼べるか微妙な投資対象です。

基本的には「明日は今日より高くなる」という期待が価格形成に寄与する「バブル」的性格を持つと考えれます。

バブル資産としての仮想通貨は、その特徴的な価格変動やリターンの非正規性など、既存のファイナンス理論では説明しづらい部分が多くあります。
>>ビットコインの確率分布について|期待リターン、リスク、ヒストグラム【正規分布じゃない】

 

仮想通貨を理論的に扱おうとする場合には、バブル資産としての特徴を考慮する必要がありますが、バブル資産の理論研究は相対的に未成熟な分野です。

本記事ではファイナンス(金融工学)の立場からバブル資産を研究した文献をメモしておきます。

 

Continuous-Time Asset Pricing Theory: A Martingale-Based Approach(by R. Jarrow)

Robert Jarrowによるテキスト “Continuous-Time Asset Pricing Theory: A Martingale-Based Approach“には、バブル資産に関する比較的新しい研究成果が簡潔にまとまっています。
 
Jarrowは金利モデルで有名なヒース・ジャロー・モートンモデルの開発者のひとりです。
 
本書では、バブル資産を「局所マルチンゲール」という確率過程としてモデル化しており、おそらくこのアプローチが現在のバブル資産の標準的モデルと考えられます。
 
Jarrowはバブル資産に関する数多くの論文を執筆しており、本書はその研究成果のまとめとしても活用できるため、バブル資産の理解を深めたいと思ったら手に取るとよいでしょう。
 

 

 
 

A Mathematical Theory of Financial Bubbles(by P. Protter)

P. Protterによるノート”A Mathematical Theory of Financial Bubbles“は、前述のJarrowのテキストにも引用される、バブル資産の先駆的研究です。 

こちらもバブル資産を「局所マルチンゲール」としてモデル化し種々の分析を行っています。

局所マルチンゲールを含む確率過程論や確率微分方程式という数学は、理系大学の学部後半から大学院にかけて学ぶ内容であり、比較的高度です。

ファイナンスの数理的研究はこうした確率論と密接に結びついていますので、バブルの研究にも確率論の勉強は避けては通れないでしょう。

ファイナンスにも言及している、確率過程や確率微分方程式を扱ったテキストとしては以下が参考になります。

 

局所マルチンゲールとバブル(村上祐亮 著)

バブルに関する日本語の文献では、九州大学院の修士論文「局所マルチンゲールとバブル」(村上祐亮)が参考になります(PDFリンク)。
 
この論文ではファイナンスに関する確率論の基本事項を完結にまとめながら、バブル資産を局所マルチンゲールとしてモデル化し、種々の性質や具体例について説明しています。
 
JarrowのテキストやProtterのノートは英語ですが、こちらは日本語で書かれているので、数学の壁さえクリアできれば読みやすいかも知れません。
 
余談ですが、九州大谷口教授は確率論研究で有名な先生で、彼のゼミの修士論文は大変勉強になるので、よく参考にしています(谷口ゼミ修士論文一覧リンク)。
 

まとめ

本記事ではバブル資産に関する最近の研究を知るための文献をまとめました。
 
バブル資産に関する研究は比較的新しく、勉強しがいのある分野です。
 
本記事で取り上げた文献を丁寧に読み解けば、仮想通貨投資に役立てられる可能性もありますので、野心的な方は挑戦してみてください。
 
 

投資とギャンブルの違いとはなにか?経済学にも触れながら。

こんにちは、毛糸です。

先日、金融庁が「老後までに2,000万円の貯蓄が必要」とする報告書を公表し、多くの日本人が投資の重要性に気づき始めています。
しかし一部の人は、投資をギャンブルと同等に捉え、あまり近づきたくないと感じているようです。
たしかに、投資もギャンブルも、お金を投じることにより、将来お金が増えて返ってくることを期待し、しかしその金額がいくらになるかはわからない(不確実性がある)という意味では同じ性質を持っています。
しかし一般的には、投資とギャンブルは「常識的に」別物だと考える人が多いのではないでしょうか。
本記事では、投資とギャンブルの境界線となる以下の点に注目し、経済学の観点から説明してみようと思います。
  • 消費的価値の存在
    • 投資は(定義上)満足を生まない一方、ギャンブルは満足感を生む
  • 期待リターンの正負
    • 投資は期待リターンがプラスであるが、ギャンブルは多くの場合マイナス

お金の使い方には2種類:消費か投資か

投資とギャンブルの違いを考える前に、そもそも投資とは何かについて説明しなければなりません。
経済学では、お金の使い方(支出)を大きく2つに分けます。
ひとつが消費(consumption)、もうひとつが投資(investment)です。
投資には、貯蓄(saving)を含みます。
消費とは、お金を使って、満足感を高めることです。
投資とは、お金を使って、将来のお金を得ることです。
経済学では消費と投資を明確に区別しており、投資からは直接満足感を得ることはなく、投資することで将来得られるお金を使い、将来消費を行うことで満足感を得ると考えます。
消費のためにお金を使ったときに得られるモノを、財といいます。たとえば、休憩時間にお金を支払って買ったコーヒーは、満足感を高めてくれる財です。
財は基本的に、自分の財産を増やしてくれるものではなく、購入して消費して満足感を高めて、おしまいです(長期間に渡り満足感を高めてくれる財:耐久消費財もあります)。
他方、投資のためにお金を使ったときに得られるモノを、資産といいます。たとえば、銀行にお金を預ける(=支払う)ことで、将来それに利息をつけて返してくれる預金・貯金は、資産です。
株式も、資産です。なぜなら株式とは、企業にお金を託しビジネスに活用してもらうことで、そこで得られた利益を配当として還元してくれるための証明書であり、将来のお金を得る手段だからです。。
投資とは、資産を買うことで、将来お金を増やすことを目的に行われる活動を言います。

投資には2種類:無リスク投資(安全資産)とリスク投資(危険資産)

将来お金を増やして返してもらう目的で、お金を支払う行為が投資であり、投資の「あかし」が資産です。
投資(資産)には2つの種類があります。
ひとつは、現時点で将来いくらお金が返ってくるかわかっているもの。これを無リスク投資(安全資産)といいます。
もうひとつは、現時点で将来いくらお金が返ってくるかわからないもの。これをリスク投資(危険資産)といいます。
無リスク投資はたとえば、絶対に破綻しない国に対してお金を貸した際にもらえる証明書(国債)がイメージしやすいでしょう。
リスク投資は、株式や投資信託など、いわゆる金融商品のほとんどが該当します。
リスク投資をする際に重要なポイントが、リターンとリスクです。
リターンとは、その資産にお金を投じたとき、将来どれくらい増えるかの度合いのことです。
リスクとは、リターンが想定する金額からどれくらいブレる可能性があるかの尺度です。
通常、リターンは大きいほうが(つまりたくさん増えたほうが)好ましく、また、リスクは小さいほうが(つまり想定からあまりブレないほうが)好ましいとされます。
リターンの想定のことを、期待リターンといいます(期待とは、確率論における期待値を意味しています)。
資産の期待リターンは通常プラスです。なぜなら、増える見込みのないものにお金を出すなんてことは、合理的な人であればするはずがなく、誰も興味を持たない資産が世に出回ることはないと考えられるからです。

投資とギャンブルの違い

消費と投資、無リスク投資とリスク投資の違いがわかったところで、本題です。
投資とギャンブルの違いは何なのでしょうか。

ギャンブルの消費的側面

第一に、ギャンブルには消費的側面と投資的側面があります。
どういうことかというと、ギャンブルという行為は、それ自体が満足感を得られる活動(消費)であり、かつお金を投じることで将来増えることを目論んでいる(投資)のだということです。
通常、投資は満足を生みませんが、ギャンブルは消費の対象になり、満足感を得られます。
したがって、「ギャンブルは投資に含まれる」のではなく、「ギャンブルは消費と投資の両方の性質を持つ」と考えられます。

期待リターン

第二に、ギャンブルとしてイメージされる活動の多くは、期待リターンがマイナスであるということです。
投資は通常、期待リターンはプラスです。マイナスならば誰にも欲しがられることはなく、市場から消えてしまうからです。
しかし、多くのギャンブルは期待リターンがマイナスです。たとえば宝くじの期待リターンは-54.3%ほど(当選金率45.7 %、参考URLリンク)であり、100万円買っても期待値の上では45.7万円(54.3万円の期待損失)にしかなりません。
投資は基本的にプラスリターンであると考えられている一方、ギャンブルはマイナスであるというのは、投資とギャンブルの大きな違いの一つです。
しかし、ギャンブルには前述の通り消費性(満足感を高める性質)がありますから、期待リターンがマイナスでも、欲しがる人はいなくならないのです。

まとめ

消費と投資、無リスク投資とリスク投資という経済学の考え方に触れながら、投資とギャンブルの以下の違いについて述べました。
  • 消費的価値の存在
    • 投資は(定義上)満足を生まない一方、ギャンブルは満足感を生む
  • 期待リターンの正負
    • 投資は期待リターンがプラスであるが、ギャンブルは多くの場合マイナス
投資とギャンブルには明確な違いがあり、統語の資産形成には投資が役立つことは言うまでもありません。
投資をギャンブルと混同せず、正しく理解して、資産形成を行っていきたいですね。
本記事の参考文献として以下を挙げます。投資初心者がまず何に投資すべきか、証券会社にどうやって口座を開けば良いのか、NISAやiDeCoなどの制度をどう利用したら良いのかという具体的な話に加え、本記事で述べたギャンブルの消費性についても触れられています。
タイトルに若干の胡散臭さを感じますが、金融理論に即した投資の基本が学べます。

株価リターンが正規分布でなくてもファイナンス理論は成り立ちます!

こんにちは、毛糸です。

先日の記事で、主要地域の株価リターンが正規分布に従わないことを確かめました。
>>日本株式、米国株式、欧州株式、全世界株式の日次リターンが正規分布ではなかった件

 
この記事についてはSNSでもコメントが多く寄せられましたが、この手の「理論と現実は違う!」系の主張(というか批判)は昔からあるようで、中には建設的でない議論に終始するものもあるようです。

参考記事>>分散投資を批判した後の対案がそれ以上に酷い法則-梅屋敷商店街のランダム・ウォーカー(インデックス投資実践記)

今回はファイナンス理論の観点から、正規分布が成り立たない場合にも、既存のファイナンス理論は通用するのだということを説明します。

なお、本記事は以下の書籍の内容を参考にしているので、興味のある方はチェックしてみてください。

 

理論と現実の差は、理論の価値を損なうものではない

下記の記事で述べたとおり、主要地域の株価の日次リターンは、正規分布に従いません。
>>日本株式、米国株式、欧州株式、全世界株式の日次リターンが正規分布ではなかった件

 

投資期間が短い場合の株価リターンは正規分布に従わない、というのは学術的にも古くから指摘されており、また、投資期間が長い場合は正規性を棄却できないとする研究もあります。

ファイナンスの多くの理論研究は、資産収益が正規分布に従うことを仮定しており、正規分布と仮定しているからこそ見つかった性質というのも数多くあります。

しかし、ファイナンスの理論研究の多くは「モデル分析」、すなわち現実の問題の本質的な部分を切り取り抽象化して、他の部分は削ぎ落とした世界で成り立つ性質を調べる、というものです。

したがって、正規分布という仮定それ自体が、ある種の「捨象」であり、正規分布であることが本質的に重要でないことも多くあります。

仮に現実の株価リターンが正規分布でなくとも、ファイナンス理論の得た洞察が揺らぐものではありませんし、もし正規分布という過程によって揺らぐような理論を利用したいのであれば、自ら理論を修正すれば良いだけの話です。
>>理論・モデルの意義と、理論と現実の差異を知ったあとにとるべき行動

 

リターンが正規分布に従わない場合の平均分散分析

ファイナンスの標準的モデルが正規分布を使っているといっても、正規分布以外の分布の可能性を一切捨てているわけではなく、正規分布以外の分布で成り立つ命題を多くの研究者が探求しています。

投資理論においては、収益の平均(リターン)と分散(標準偏差、リスク)の情報を基に最適なポートフォリオを探求するという研究が、1950年台のマーコウィッツの研究以後、活発に調査されてきました。

このマーコウィッツの平均分散分析は、ノーベル経済学賞の受賞理由にもなり、昨今話題になっているロボアドバイザーの技術的根拠、さらには投資の王道「分散投資」の理論的裏付けにもなっています。

WEALTHNAVI(ウェルスナビ)

平均分散分析が成り立つためには、リターンが正規分布にしたがう、というのが十分条件になっています。

つまり、正規分布ならば平均分散分析が成り立つ、ということです。

現実には「正規分布ならば」が成り立っていませんので、平均分散分析が成り立つかはわかりません。

この点をもって「前提が破綻している!理論は不完全だ!」というのはあまりにも非論理的です。

正規分布でなくても、平均分散分析を成り立たせるような、別の十分条件があるかもしれないからです。

事実、その後の意欲的な研究により、リターンが正規分布でなくとも、楕円分布族というクラスに属していれば、平均分散分析(と同様の分析)が行えることがわかっています。

楕円分布族というのは、平たく言うとを横に輪切りにしたときの切り口が楕円(正規分布は正円です)になるような分布のことで、正規分布の他に、対称安定パレート分布t分布、分散混合の混合正規分布などがあります。

株価リターンがこれら分布に従えば、ポートフォリオのリターンも楕円分布に従うことがわかっています。

このとき、ある投資家は資産リターンが正規分布だと思い、別の投資家は安定分布だと思っていたとしても、パラメタが同じなら平均分散分析は成り立つちます。

ややテクニカルな話になりましたが、平均分散分析や分散投資という理論は、リターンが正規分布に従うという仮定でなくとも、本質的な部分は変わることなく成り立つということです。

まとめ

株価リターンが正規分布に従わないことがわかりましたが、それがファイナンス理論の破綻を意味するものではありません。
 
事実、リターンが正規分布に従わない場合にも、平均分散分析と同様の結論が得られます。
 

 

 

 

ブートストラップ法の概要と株価リターン分布への応用

こんにちは、毛糸です。

先日の記事で、株価の日次リターンが正規分布に従わないことを確認しました。
>>日本株式、米国株式、欧州株式、全世界株式の日次リターンが正規分布ではなかった件


本ブログでたびたび登場する投資シミュレーションプログラムは、リターンが正規分布に従うと仮定した場合の将来予測ツールなので、正規分布に従わないことがわかった今、何らかの改善をしなくてはなりません。
>>「投資シミュレーションプログラム」サマリー


本記事では改善のための手法として考えている「ブートストラップ法」について解説し、ブートストラップ法を株価リターン分布の推定にどう利用できるかを説明します。

なお、本記事は下記サイトの内容を参考にしています。
>>Rで「ブーツ」(PDFリンク

ブートストラップ法とはデータを無作為抽出し推定に使う手法

あるデータがよく知られた確率分布から発生していると仮定して行う統計分析を「パラメトリック法」と呼びます。
投資シミュレーションプログラムは株価リターンが正規分布に従うと仮定しているため、「パラメトリック法」による分析です。
>>「投資シミュレーションプログラム」サマリー
しかし、データがよく知られた確率分布から発生しているとはみなせない場合には、無理やり何らかの確率分布に当てはめると、誤った結論を導くことになります。
したがって、あらかじめ確率分布を特定化せずに、確率分布を推定する方法を考えなければなりません。
その方法の一つが「ブートストラップ法(ブーツストラップ法)」です。
ブートストラップ法は、すでに得られているデータから無作為抽出を繰り返し、それを新たなデータとみなすことにより、確率分布や密度関数の推定を行ったり、標本平均や標準偏差といった統計量を計算する手法のことです。
ブートストラップ法は「データはこの確率分布から発生しているはずだ」という前提をおかず、「データをありのままに利用する」という考え方に基づいており、このような統計手法を「ノンパラメトリック法」といいます(厳密には、パラメトリックなブートストラップ法もあります)。
また、データをランダムに利用するという意味で、モンテカルロ法の一種とも言えます。

株価リターンにブートストラップ法を適用する

ブートストラップ法によれば、株価リターンのデータから、無作為にデータを抽出し、新たなデータとして扱うことになります。

これにより、リターンが正規分布に従うと仮定できなくても、実際の株価リターンデータを乱数のように用いて、統計的・確率論的な分析が可能になります。

実際に、日本株式のリターンを使って、分析を行ってみましょう。

まず、下記の記事を参考に、日本株式のリターンのデータを読み込みます。
>>ファーマ-フレンチの3ファクターモデルのデータを入手する方法

#csvデータの読み込み
JP <- read.csv("Japan_3_Factors_Daily.csv", skip=5)
#時系列データとして加工
JP_mkt<-ts(JP$Mkt.RF+JP$RF,start=JP$X[1])/100

日本株の日次リターンの統計量を求めてみます。

#平均
m=mean(JP_mkt)
#標準偏差
s=sd(JP_mkt)

library(moments)
#歪度:正規分布が0
skewness(JP_mkt)
skewness(rnorm(10000,m,s))
#尖度:正規分布が3
kurtosis(JP_mkt)
kurtosis(rnorm(10000,m,s))

株価リターンと同じ平均、標準偏差をもつ正規分布より、尖度はかなり大きな値になっていることがわかります。

データが正規分布に従うかを調べるための、コルモゴロフ・スミルノフ検定も行っていますが、「正規分布に従う」という帰無仮説は棄却され、株価リターンは正規分布ではないと結論付けられます。

#コルモゴロフ・スミルノフ検定
ks.test(JP_mkt, "pnorm", mean=m, sd=s)

ヒストグラムを正規分布と比較してみます。実際の株価リターンデータと、同じ平均、標準偏差の正規分布の密度関数を描きます。実際のデータのほうが、左右の裾が厚い感じがします。

hist(JP_mkt,freq = FALSE,ylim=c(0,30))
curve(dnorm(x,m,s),add=TRUE,col="red")

株価リターンにブートストラップ法を適用してみます。株価リターンから、無作為に10000個のサンプルを抽出し、ヒストグラムを描きます。
#ブートストラップ法

bs<-sample(JP_mkt,10000,replace=T)
hist(bs,freq = FALSE)

ブートストラップ法で得たサンプルを使って、損失確率を計算し、正規分布の場合と比較してみましょう。

#損失確率ブートストラップ法
length(bs[bs<0])/length(bs)
#損失確率正規分布
pnorm(0,m,s)

ブートストラップ法で得たサンプルから計算した損失確率は49.2%、正規分布の場合は49.5%でしたので、実際のデータのほうがやや損失が出にくい(利益が出やすい)分布であることがわかりました。

損失確率を求めるくらいであれば、データをそのまま使えばよいので、ブートストラップ法を適用する必要もありませんが、より複雑な分析をするときには、ブートストラップ法は強力なツールになります。

まとめ

ブートストラップ法の概要と、株価リターン分析への応用可能性について説明しました。

実際の株価リターンは、理論で前提とするような正規分布ではありませんが、だからといって理論の価値が損なわれるわけではありません。

正規分布との差異をきちんと把握し、必要ならば適切に対処できることが大事です。
>>理論・モデルの意義と、理論と現実の差異を知ったあとにとるべき行動

ドルコスト平均法の検証が難しい理由

こんにちは、毛糸です。

日本の年金制度に対する不透明感から、資産運用の必要性を感じている人も増えてきていることと思います。
資産運用の「王道」として挙げられるのが、投資信託などを毎月定額で積み立て購入する手法「ドルコスト平均法」です。
ドルコスト平均法は初心者でも実施できる効果的な投資手法として紹介されることも多いですが、実はその有用性については評価が分かれています。
本記事ではドルコスト平均法の有効性を検証することが難しい2つの理由を解説します。

ドルコスト平均法とは

ドルコスト平均法は投資手法の一つであり、決まった期間ごと(たとえば一ヶ月ごと)に一定の金額を投資することを指します。

ドルコスト平均法は投資の平均買い付け価格を下げる効果があるとされています。

ドルコスト平均法の考え方は単純で、手軽に行える投資手法であり、上記のような「効果」があるとされているため、人気の手法です。

しかし、ドルコスト平均法が投資手法として優れているのかというのは、学術的には肯定的な意見も否定的な意見もあり、科学的に立証された方法ではありません。

資産運用の初心者におすすめの入門書『難しいことはわかりませんが、お金の増やし方を教えてください!』には、ドルコスト平均法について、

三流ファイナンシャルプランナーが書いたんじゃない?

早めに買ってお金に働いてもらう期間が長いほうが、現時点の判断としては正しい。

と書かれており、ドルコスト平均法に否定的です。

このように、専門家の間でもドルコスト平均法の有効性については判断が分かれています。

以下ではなぜドルコスト平均法の検証が難しいのか、2つの理由を挙げます。

データ期間に依存する

ドルコスト平均法に関する設例の多くは、資産価格が上げ下げを繰り返すようなケースがほとんどです。

こういうケースにおいては、ドルコスト平均法によって、買い付け単価の平均は小さく抑えられます。

出典:三井住友DSアセットマネジメントhttps://www.daiwasbi.co.jp/fundcollege/investment/about/index4.html

しかし、これはあくまで「そういう相場だから有利だった」という話で、これからも上げ下げを繰り返すような相場になるとは限りません。
時には今を「底」として右肩上がりで資産価格が上昇する場合もあり、そのときは当初一括購入するのが、最も買い付け単価を安くする方法です。
このように、ドルコスト平均法の検証につかうデータ次第では、ドルコスト平均法が有利とも不利とも言えることになります。

したがって、特定期間のデータに依拠したドルコスト平均法の分析は説得力にかけるものがほとんどです。

データ期間に依存しない一般的なケースでの分析が難しいことが、ドルコスト平均法の分析を難しくする要因のひとつとなっています。

確率論の問題として扱いづらい

投資を確率論の立場から検証するのがファイナンス理論です。
ブラック・ショールズ式を厳密に証明しノーベル賞を受賞したロバート・マートンも、確率論に基づく最適ポートフォリオの研究をしています。
ファイナンス理論において投資を分析するのは今やメジャーとなっていますが、しかし、ドルコスト平均法は標準的なファイナンス理論とあまり相性がありません。
標準的なファイナンス理論では、資産価格が対数正規分布に従うと仮定されます。
参考記事>>年金のリスクとリターンを統計プログラミング言語Rで計算してみた
ドルコスト平均法は、異なる時点で一定金額を買い付ける手法であり、その際の購入量は一定金額÷資産価格で求められます。

計算によって、この購入量もまた、対数正規分布に従うことがわかります。

数式で書くと、時点\( t\)において資産価格が\( S_t\)だったときに、一定額\( A\)を投資したときの購入量\(Q_t \)は、以下のように表すことができ、これは対数正規分布に従います。

\[ \begin{split} Q_t=\frac{A }{S_t }=\frac{ A}{ S_0}e^{-(\mu-\frac{ 1}{ 2}\sigma^2)t-\sigma W_t}\end{split} \]

ただし、\( \mu\)は資産の期待リターン、\( \sigma\)はリスク、\( W_t\)は正規分布に従う確率変数です。

さて、ドルコスト平均法によった場合、購入は何度かに分かれて行われるため、最終的な投資量は各回の購入量の和、すなわち対数正規分布の和になります。
対数正規分布の和は、数式で簡潔に表現することができません。
参考記事>>対数正規分布の和、幾何ブラウン運動の和、リスク資産ポートフォリオ
正規分布であれば、正規分布の和は再び正規分布になり、簡潔に表現することができますが、対数正規分布の和は扱いやすい確率分布にはなりません。
したがって、確率論を使ってドルコスト平均法の定量的な議論を行うのは難しくなります。
もちろん、資産価格が対数正規分布に従わない別のモデルを考えればこの限りではありませんが、いずれにせよ、確率論で扱うような簡潔な形で扱うのは難しく、これがドルコスト平均法の検証が困難な理由です。

まとめ

ドルコスト平均法は簡単に実施できる投資法として人気ですが、その検証は簡単ではありません。
データに依存しますし、確率論の道具を使うことができないからです。
これらを踏まえ、ドルコスト平均法の検証には、シミュレーションが有効なのではないかと考えています。
近く、シミュレーションを用いたドルコスト平均法の検証をしてみたいと思います。

ビットコインの確率分布について|期待リターン、リスク、ヒストグラム【正規分布じゃない】

こんにちは、毛糸です。

前回、Rライブラリ「crypto」を用いて、仮想通貨の価格が簡単に取得できることを説明しました。
>>仮想通貨の価格ヒストリカルデータを取得する方法|Rライブラリcryptoの使い方

今回は「crypto」を使って取得したBitcoin(BTC)の価格情報を分析します。

BTC価格の時系列データを分析することで、BTCの期待リターン、リスクが極めて高いことがわかりました。

また、ヒストグラムと「正規性の検定」により、BTCのリターンは正規分布に従わないこともわかりました。

cryptoパッケージによるBTC価格の取得とリターンのデータ

cryptoパッケージのcrypto_history()関数を用いて、BTC価格のヒストリカルデータを取得します。
>>仮想通貨の価格ヒストリカルデータを取得する方法|Rライブラリcryptoの使い方

#crypto_history(coin = NULL, limit = NULL, start_date = NULL,
#end_date = NULL, coin_list = NULL, sleep = NULL)
#仮想通貨の価格等情報を取得
#dateはyyyymmdd形式で。NULLとすると最長期間
BTC<-crypto_history(coin = "BTC",
                    start_date = NULL,end_date = NULL)
BTC価格を時系列データとして読み込みます。
BTC_price<-ts(BTC$close,start=BTC$date[1])
plot(BTC_price,type="l")
日次収益率を計算し、プロットしてみましょう。
#日次収益率
BTC_return_daily<-diff(BTC_price,lag=1)/lag(BTC_price,k=-1)
plot(BTC_return_daily,type="l")
以下ではこの日次収益率データを使って、BTCの収益率の統計分析をしていきます。

基本統計量

期待リターン(平均)

日次収益率の平均をとることで、日次期待リターンを推定できます。結果は、日次リターンが0.28%、簡易的に年率換算すると102%となりました。株式のリターンが年率5%ほどと言われていますから、驚異的な水準です。
#日次収益率の平均(期待リターン)(%)
mean(BTC_return_daily)*100
#[1] 0.2808807
#年率換算(%)
mean(BTC_return_daily)*100*365
#[1] 102.5215

リスク(標準偏差)

日次収益率の標準偏差を計算することで、日次収益率のリスクを推定できます。結果は、日次ベースの標準偏差が4.3%、簡易的に年率換算すると82%となりました。株式のリスクが年率25%ほどと言われていますから、とてつもなくハイリスクであることがわかります。
#標準偏差(%)
sd(BTC_return_daily)*100
#[1] 4.333606

#年率換算(%)
sd(BTC_return_daily)*100*365^0.5
#[1] 82.79343

歪度

歪度と尖度の計算には、「moments」ライブラリのskewness()、kurtosis() 関数を用います。
install.packages("moments")
library(moments)

分布の歪み具合を示すのが歪度です。正規分布のように左右対称な分布では、歪度は0になります。

BTC日次収益率の歪度は0.5です。歪度が正であるということは、分布のピークが左側にあり、右側の裾が広い分布であることを意味します。つまり、極端に高いリターンが出やすいと言えます。

#歪度:正規分布は0、正なら右裾が広い
skewness(BTC_return_daily)
#[1] 0.5234792

尖度

尖度は分布の尖り具合を示します。正規分布は尖度3(0とする定義もあり)であり、これより大きければ、分布は平均の周りで尖った、左右に裾野が広い分布になります。

BTC日次収益率の尖度は12であり、正規分布より極端に「尖った」、そして「裾野の広い」分布になります。つまり、極端に高い・低いリターンが出現しやすいことを意味します。

#尖度:正規分布が3
kurtosis(BTC_return_daily)
#[1] 12.9556

BTC収益率(リターン)は正規分布にしたがうか?(正規性の検定)

ファイナンス(金融工学)では、資産のリターンは正規分布に従うと仮定されることが多いです(資産価格が対数正規分布、資産価格が幾何ブラウン運動、も同様の意味です)。
BTC収益率は正規分布に従うのか、確かめてみましょう。
すでに、BTC収益率の歪度が0.5(正規分布なら0)、尖度が12(正規分布なら3)であることは確認しましたので、正規分布ではないような気がしますが、別の視点からも確認します。
本性の内容は下記記事を参考にしています。

ヒストグラム

リターンの実現値が、どの範囲でどのくらいの頻度で出現したかを見るグラフが、ヒストグラムです。

BTC日次収益率のヒストグラムを描いてみます。

正規分布のヒストグラムは左右対称のベルのような形をしていますが、BTC収益率のヒストグラムはやや右に裾野が厚く、かつ裾野が広がっている印象を受けます。

hist(BTC_return_daily,main="BTC算術日次リターンのヒストグラム",xlab="日次リターン",ylab="度数")

Q-Qプロット

Q-Qプロットは、与えられたデータがある確率分布とどれくらい「ずれているか」を図示したものです。データをQ-Qプロットしたとき、データが45度線(y=xのグラフ)に沿って並んでいれば、理論上の分布と近いという根拠になります。Rではqqnorm()関数によって、正規分布を仮定した場合のQ-Qプロットを描画できます。

BTCの日次データをQ-Qプロットしてみると、以下のように曲線を描いており、正規分布に近いとは言えません。

qqnorm(BTC_return_daily,main="BTC算術日次リターンのQ-Qプロット")

シャピロ・ウィルク検定

シャピロ・ウィルク検定は、「データが正規分布に従う」という帰無仮説に関する検定です。したがって、シャピロ・ウィルク検定で計算されたp値が小さければ、帰無仮説を棄却、つまり「データは正規分布に従わない」ということが言えます。Rではshapiro.test()を使います。
検定の結果、p値はほぼ0であり、「BTC日次収益率は正規分布に従わない」と結論付けられます。
> shapiro.test(BTC_return_daily)


 Shapiro-Wilk normality test


data:  BTC_return_daily
W = 0.87881, p-value < 0.00000000000000022

コルモゴロフ・スミルノフ検定

コルモゴロフ・スミルノフ検定は、「データが指定した確率分布に従う」という帰無仮説に関する検定です。したがって、正規分布に関するコルモゴロフ・スミルノフ検定を行ったときにp値が小さければ、帰無仮説を棄却、つまり「データは正規分布に従わない」ということが言えます。Rではks.test()を使います。
検定の結果、p値はほぼ0であり、「BTC日次収益率は正規分布に従わない」と結論付けられます。
> ks.test(BTC_return_daily, "pnorm", mean=mean(BTC_return_daily), sd=sqrt(var(BTC_return_daily)))


 One-sample Kolmogorov-Smirnov test


data:  BTC_return_daily
D = 0.11752, p-value < 0.00000000000000022
alternative hypothesis: two-sided


 警告メッセージ: 
 ks.test(BTC_return_daily, "pnorm", mean = mean(BTC_return_daily),  で: 
   コルモゴロフ・スミノフ検定において、タイは現れるべきではありません
なお、警告メッセージは同一データが存在するときに発生します。連続確率分布では同一の値が実現する確率は0なので、本来生じるべきではないというアラートですが、今回は厳密な議論をしているわけではないので、スルーします。
以上のような検討の結果、いずれの方法でも、BTC日次収益率は正規分布に従わないという結論が得られました。

ビットコインの収益率が正規分布に従わないとなにが困るか

ビットコインの収益率が正規分布に従わないということは、収益率が正規分布に従うと仮定して展開される多くのファイナンス理論の道具が使えないことになります。
たとえば、オプションの価格公式であるブラック・ショールズ式は、資産価格が幾何ブラウン運動に従うこと(つまり収益率が正規分布に従うこと)を仮定しています。
したがって、ビットコインのオプションが組成されたときに、そのオプションの価格をブラック・ショールズ式で評価するのと、意思決定を誤ります。
また、将来の投資運用の成績をシミュレーションする「投資シミュレーションプログラム」も、資産の収益率に正規分布を仮定しているため、仮想通貨投資には利用できません。

このように、確率分布が標準的なファイナンスの仮定と異なることにより、やや慎重な議論が必要になってきます。

投資においては、為替や株式等よりも変動性が大きく、また極端に高いもしくは低いリターンが出やすいという点に気をつける必要があります。

まとめ

Rライブラリ「crypto」を用いて、ビットコインの価格情報を取得し、日次リターンの分析を行ってみました。
ビットコインの収益率は極めてハイリスク・ハイリターンであり、また、ファイナンスで通常仮定される正規分布とは大きく異なる性質を持っています。

ビットコインを始めとする仮想通貨のデータを扱う際には、この分布の特性をよく踏まえる必要があります。

関連記事>>ビットコインはバブルである

参考記事


データ解析その前に: 分布型の確認と正規性の検定 #rstatsj(リンク)
Leihcrev’s memo 入門本編 8章 確率分布(リンク
統計解析フリーソフト R の備忘録頁 ver.3.1 63. 正規性の検定(リンク)
Wikipedia 歪度(リンク
Wikipedia 尖度(リンク

仮想通貨の価格ヒストリカルデータを取得する方法|Rライブラリcryptoの使い方

こんにちは、毛糸です。

仮想通貨に再び注目が集まっています。

2017年に価格が高騰し、2018年に暴落した仮想通貨は、現代のバブルとして一躍有名になりました。
参考記事:ビットコインはバブルである

仮想通貨に関しては、その価格変動の激しさから、投機の対象ともなっていますが、適切にリスク管理しないとあっという間に資産が溶けてしまいます。
本記事では再び注目が集まっている仮想通貨に関して、統計プログラミング言語Rによる価格データの簡単な取得方法について解説します。

仮想通貨パッケージcryptoをインストールする方法

Rはライブラリと呼ばれるプログラム・パッケージを利用することで、専門的な分析を簡単に行えるようになります。
仮想通貨の価格分析をするにあたっては、cryptoパッケージが役に立ちます。
cryptoパッケージに内蔵されている関数を用いることで、仮想通貨の価格情報を簡単に取得できます(公式マニュアルPDFはこちら)。
cryptoパッケージを利用するにはお使いのPCにRがインストールされている必要がありますので、下記を参考にして環境を整えてください。

仮想通貨価格の時系列データ(ヒストリカルデータ)の入手方法

まずはじめに、cryptoパッケージ(と付随して必要な他のパッケージ)をインストールします。
Rのコンソール画面に以下のコードを入力し実行します。
install.packages("crypto", dependencies = TRUE)
しばらくの間、各種パッケージのインストールが進みます。
インストールが進んだら、cryptoパッケージを読み込みます。
library(crypto)
これでcryptoパッケージに内蔵される各種関数が使用可能になりました。
たとえば、仮想通貨のリストを入手するには、以下のコードを実行します。
#仮想通貨のリストを表示
crypto_list()
出力結果は以下のようになります。
> #仮想通貨のリストを表示
> crypto_list()
# A tibble: 2,212 x 6
   symbol name     slug      rank exchange_url                history_url                           
   <chr>  <chr>    <chr>    <dbl> <chr>                       <chr>                                 
 1 BTC    Bitcoin  bitcoin      1 https://coinmarketcap.com/… https://coinmarketcap.com/currencies/…
 2 ETH    Ethereum ethereum     2 https://coinmarketcap.com/… https://coinmarketcap.com/currencies/…
 3 XRP    XRP      ripple       3 https://coinmarketcap.com/… https://coinmarketcap.com/currencies/…
 4 BCH    Bitcoin… bitcoin…     4 https://coinmarketcap.com/… https://coinmarketcap.com/currencies/…
 5 EOS    EOS      eos          5 https://coinmarketcap.com/… https://coinmarketcap.com/currencies/…
 6 LTC    Litecoin litecoin     6 https://coinmarketcap.com/… https://coinmarketcap.com/currencies/…
 7 BNB    Binance… binance…     7 https://coinmarketcap.com/… https://coinmarketcap.com/currencies/…
 8 BSV    Bitcoin… bitcoin…     8 https://coinmarketcap.com/… https://coinmarketcap.com/currencies/…
 9 USDT   Tether   tether       9 https://coinmarketcap.com/… https://coinmarketcap.com/currencies/…
10 XLM    Stellar  stellar     10 https://coinmarketcap.com/… https://coinmarketcap.com/currencies/…
# … with 2,202 more rows

ビットコイン(BTC)の価格データからリターンとリスクを計算する

実際にデータを分析してみましょう。

ヒストリカルデータの取得

crypto_history()関数で、指定した仮想通貨の時系列価格情報を取得できます。
#crypto_history(coin = NULL, limit = NULL, start_date = NULL
#end_date = NULL, coin_list = NULL, sleep = NULL)
#仮想通貨の価格等情報を取得
#dateはyyyymmdd形式で。NULLとすると最長期間
BTC<-crypto_history(coin = "BTC",
                    start_date = NULL,end_date = NULL)
日付を指定することで、特定期間のデータを取得することも出来ます。
BTC_saikin<-crypto_history(coin = "BTC",
              start_date = "20190501",end_date = "20190530")
head()関数、tail()関数で、データの先頭と最後尾を確認できます。
#データの先頭
head(BTC,1)
#データの最後尾
tail(BTC,1)
crypto_history()で取得される情報は、時点の情報や始値、終値など、いくつかの列から構成されています。
それぞれの情報にアクセスしたければ、たとえばBTC$closeのように$マークのあとに取り出したい列のラベルを指定します。

終値を時系列データとして抽出

今回使うのはBTCの終値closeです。関数ts()にデータを入れることで、時系列(time series)データとして扱うことが出来ます。
#BTCの終値情報を時系列として取り出す。
#時系列情報の開始日をBTC$date[1]と指定
BTC_price<-ts(BTC$close,start=BTC$date[1])

価格チャート

BTC価格のチャートを描いてみます。データの図示にはplot()関数を使います。
#type="l"は線グラフ
plot(BTC_price,type="l")

BTCの日次収益率(リターン)

日次収益率を計算します。
t日目のBTC価格を\( P_t\)、収益率を\( r_t\)と表すと、
\[ \begin{split}r_t=\frac{ P_{t}-P_{t-1}}{ P_{t-1}} \end{split} \]

と計算できます。

分子は1時点前との差額を計算するdiff(_,lag=1)関数、分母は1時点前の価格を返すlag(_,k=-1)関数を用いて計算できますので、BTCの日次収益率は以下のようにして求めます。
#日次収益率
BTC_return_daily<-diff(BTC_price,lag=1)/lag(BTC_price,k=-1)
plot(BTC_return_daily,type="l")

BTCリターンの平均と標準偏差(リスク)

日次収益率の平均はmean()関数を用いて計算できます。
mean(BTC_return_daily)*100
#[1] 0.2808807
#表示は%
#年率換算では
mean(BTC_return_daily)*100*365
#[1] 102.5215
BTCの日次平均リターンは0.28%(年率換算102%)でした。この値はデータ期間によって変わります。

標準偏差はsd()関数で計算できます。

sd(BTC_return_daily)*100
#[1] 4.333606
#表示は%
sd(BTC_return_daily)*100*365^0.5
#[1] 82.79343
リスクを示す標準偏差は日次で4.33%、年率換算82.79%でした。極めてハイリスクです。

まとめ

Rパッケージcryptoを用いて仮想通貨の価格を用意に取得できることを説明しました。
今後このデータを用いて、仮想通貨に関する統計分析をシリーズでお送りする予定です。
もし面白いと思っていただけたら、SNSでのシェアをよろしくお願いします。

「投資シミュレーションプログラム」サマリー(随時追加)

こんにちは、毛糸です。

本記事は「投資シミュレーションプログラム」に関する記事のまとめページです。

「投資シミュレーションプログラム」とそれを使った各種の分析について、このページから各記事に飛ぶことが出来ます。

投資シミュレーションプログラム

投資シミュレーションプログラムVer.1.0

投資シミュレーションプログラムVer.1.0のコード例と、投資シミュレーションプログラムが用いている「モンテカルロ・シミュレーション」に関する説明は下記ページです。
>>投資シミュレーションプログラムを作ってみた【Rでプログラミング】

投資シミュレーションプログラムVer.1.1

投資シミュレーションプログラムは何千何万という膨大な数のシナリオをコンピュータの圧倒的計算力で処理するプログラムですが、Ver.1.0ではサンプルの計算をfor文を用いて行っていました。

統計プログラミング言語Rはfor文による繰り返し計算よりベクトル演算の方が高速に処理することができ、これを実装したのがVer.1.1です。
>>投資シミュレーションプログラムを高速化してみた

活用例

年金の分析

投資シミュレーションプログラムを用いて、年金積立金のポートフォリオの将来予測を行っています。積立金の100年後の状況を予測したり、1年後に損失が生じる確率が35%あることなどが明らかになりました。
今後、運用期間中に資金が出入りするような、より現実的な仮定のもとで分析を行う予定です。

FX・外貨預金の分析

FXの期待リターンの理論値を計算したうえで、それをパラメタとして投資シミュレーションプログラムを使い、FXで億り人になれる確率や破産する確率を計算しました。

レバレッジが億り人になれるキーであることが明らかになりましたが、破産確率の上昇と隣合わせであることもわかりました。
>>FXの期待リターン、億り人になれる確率、破産する確率【モンテカルロ・シミュレーション】

インデックス投資の分析

資産運用の王道、インデックス投資について、投資シミュレーションプログラムを用いた将来予測を行う予定です。

投資シミュレーションプログラムを支える技術

投資シミュレーションプログラムは、3つの技術と知識によって支えられています。
  1. 確率論・統計学
  2. ファイナンス理論(金融工学)
  3. プログラミング言語
投資シミュレーションプログラムは、確率論における「大数の法則」によって正当性が保証される「モンテカルロ・シミュレーション(モンテカルロ法)」により、将来の予測値を計算しています。
分析の対象は投資であり、金融商品です。金融商品の性質や運用戦略の策定については、ファイナンス(金融工学)の分野において知見が蓄積されています。
投資シミュレーションプログラムにおける実際の計算はコンピュータが行いますので、必然的にプログラミングのスキルが必要になります。投資シミュレーションプログラムは統計プログラミングRを用いて作成されています。
ファイナンスにおけるモンテカルロ法の活用については、下記の書籍が大変役に立ちます。

統計プログラミング言語Rによるファイナンス分析に関しては、下記書籍を読めば、Rの基本的な使いかたから、本格的な分析までを学ぶことが出来ます。

 

FXの期待リターン、億り人になれる確率、破産する確率【モンテカルロ・シミュレーション】

こんにちは、毛糸です。

資産運用にはいろいろな手段があり、なかでも外貨預金やFX(外国為替証拠金取引)は有名どころです。

しかし、外貨預金やFX(以下FX等といいます)は、文献によっては「手を出すべきでない」投資商品として紹介されていたりもします。

たとえば『図解・最新 難しいことはわかりませんが、お金の増やし方を教えてください!』には、以下のように説明されています。

『為替が上がるか、下がるか』と、『金利が高いか、安いか』をセットで考えて、取引価格が決まっているから、買う前にどっちの通貨がお得かは言えない

外貨預金をやるのはコイントスで『表』か『裏』にお金をかけるのとほぼ一緒

 

本記事ではこの主張について詳しく掘り下げ、FX等の期待リターンについて考察したあと、それに基づく「億り人になれる確率」と「破産する確率」を投資シミュレーションプログラムを用いて計算してみます。

外貨預金・FXはなぜ魅力的なのか

FX等は、2つの収益機会にあずかれます。

ひとつは海外通貨に対して適用される高い金利収入(インカムゲイン)、もうひとつは通貨高による価値の増加(キャピタルゲイン)です。

外貨預金は通常、高金利通貨建てで設定され、高い金利収入(インカムゲイン)が得られるとされています。

またキャピタルゲインに関しても、例えば米ドル建て外貨預金をするとして、1ドル100円のときに1万ドルを預金し、引き出し時に1ドル110円になっていれば、円建てでは100万円から110万円に増えることになります。

FXも同様に、為替の変動による利益を得つつ、スワップポイントと呼ばれる金利収入が得られます。

このように、インカムゲインとキャピタルゲインが同時に得られるという魅力があるため、FX等は人気の投資となっています。

FXリターン分析の前提①:裁定取引とフォワード・パリティ

FX等の期待リターンについて考察する前に、いくつかテクニカルな前提をおきます。

今後、通貨高が見込めるような通貨があったとしましょう。つまり、キャピタルゲインが見込めそうな通貨です。

為替の世界には、将来の為替レートを現時点で「約束」する契約が存在します(通貨先物や為替予約といいます)。

もし将来、通貨高になりそうな通貨に対して、将来低いレートで買う「約束」をすることができれば、その取引を行う投資家は、将来安いレートで通貨を買い、高い市場レートで売却することで利益が得られそうです。

このような投資家の行動を「裁定」とよび、通貨は投資家の裁定によって「適正水準」に収斂します。

やや数学的な表現をすると、将来の( T)年後のスポット為替レートの期待値\(E[S_T] \)が「約束」されたフォワード為替レート\( F_T\)と異なっていれば、市場の効率性を前提として裁定が行われ、両者は一致するようにレートが変化します。つまり

\[ \begin{split} F_T=E[S_T]\end{split} \]

という等式が成り立つようにフォワード為替レート\( F_T\)が調整されます。

両辺を現在のスポット為替レート\( S_0\)で割ると

\[ \begin{split} \frac{ F_T}{S_0 }=E[\frac{ S_T}{ S_0}]=E[1+s_{0,T}]\Leftrightarrow E[s_{0,T}]=\frac{ F_T}{S_0 }-1\end{split} \]

となります。\(E[s_{0,T}] \)は為替の変化率(純額表示のキャピタルゲイン)です。

この等式をフォワード・パリティとか、為替レートの期待形成条件といいます。

 

FXリターン分析の前提②:カバー付き金利パリティ

さて、FX等で高金利通貨を買うことで、高いインカムゲインが得られ、運が良ければキャピタルゲインにもあずかれます。

しかし、このような目論見はあらゆる市場参加者(個人投資家や、証券会社などの機関投資家)が狙っているものです。

もし高い金利水準にありながら割安な通貨があれば、その通貨にはまたたく間に買いが入り、一瞬で「適正水準」にまで通貨高になります。

そうなれば、将来のキャピタルゲインの幅が縮まって、投資の旨味が小さくなりますので、投資家は早くに将来の為替レートを「約束」しようとします。

こうした取引によって、フォワード為替レートで「約束」した通貨の値上がり益は、最終的には金利差と同じ水準になるよう調整されます。

数式で表すと、スポット為替レートを\( S_0\)、フォワード為替レートを\( F_T\)、売り通貨の金利(国内金利)を\( i_D\)、買い通貨の金利(海外金利)を\( i_F\)としたとき

\[ \begin{split} \frac{ F_T}{S_0 }=\frac{1+i_D}{ 1+i_F}\simeq 1+i_D-i_F \end{split}\]

という関係が成り立ちます(右辺は近似式)。

つまり、フォワード為替レートという「約束」された為替レート(カバーされたレート)で測る通貨のリターンは、内外金利差と一致するということです。

FX等の期待リターンはゼロ

フォワード・パリティとカバー付き金利パリティを組み合わせると、FX等の期待リターンが計算できます。

FX等の期待リターンは、金利差(インカムゲイン\( i_F-i_D\))と通貨高による増分(キャピタルゲイン\( E[s_{0,t}]\))の和を意味します。

フォワード・パリティより

\[ \begin{split}E[s_{0,T}]=\frac{ F_T}{S_0 }-1 \end{split} \]

であり、

カバー付き金利パリティより

\[ \begin{split}\frac{ F_T}{S_0 }-1\simeq i_D-i_F  \end{split} \]

ですから、これらを合わせると

\[ \begin{split}E[s_{0,T}]= i_D-i_F \Leftrightarrow (i_F-i_D)+E[s_{0,T}]=0\end{split} \]

となります。第一項はインカムゲイン、第二項はキャピタルゲインを表しており、これらの和、つまりFX等の期待リターンは0であることが示されました。

以上のことをまとめると、フォワード・パリティとカバー付き金利パリティによって、FX等の期待リターンは、インカムゲインとキャピタルゲインが相殺され0になる、ということです。

以上の内容は、下記書籍により詳しい説明と数式での証明が載っていますので、合わせてご参照ください。

FXで億り人になれる確率、破産する確率

期待リターンが0のFXで十分な資産を築ける確率はどれくらいなのでしょうか。

以下では当初資金1,000万円をドル円(年あたりリスク10%と想定)で運用するとして、10年後に億り人になれる確率と破産する確率を計算します。

FXはレバレッジ取引が可能ですから、レバ1倍、5倍、10倍のそれぞれのケースを考えてみます。

本性の計算は「投資シミュレーションプログラム」を用いています。シミュレーション回数は10000回です。

  1. レバ1倍の場合、10年後の資産の期待値は1,002万円、億り人になれる確率は0%破産する確率は0%
  2. レバ5倍の場合、10年後の資産の期待値は1,018万円、億り人になれる確率は1.5%破産する確率は20%
  3. レバ10倍の場合、10年後の資産の期待値は1,866万円、億り人になれる確率は3.12%破産する確率は83%

考察

期待リターン0のFXでは、レバをかけないと億り人にはなれないことがシミュレーションで明らかになりました。
また、レバを高めることで億り人になれる確率は高まりますが、同時に破産する確率も高くなることがわかりました。

まとめ

フォワード・パリティとカバー付き金利パリティという関係式から、FX・外貨預金は理論上、期待リターンが0であることがわかりました。この前提のもとで投資を行うと、レバレッジをかけないと多大な富を築くことは出来ないことが明らかになりましたが、一方で破産の確率も高まることがわかりました。

本記事の内容は複数の仮定に基づくものであり、実際の投資収益の成否を保証するものではなく、また実際にFX等で成功していらっしゃる方々の成果を否定する意図は全くありません。また、シミュレーションはあくまで確率論に基づいた予測であることをお断りしておきます。

 

Warning: Trying to access array offset on value of type bool in /home/r1406503/public_html/keito.luxe/wp-content/themes/xeory_base/lib/functions/bzb-functions.php on line 299

Warning: Trying to access array offset on value of type bool in /home/r1406503/public_html/keito.luxe/wp-content/themes/xeory_base/lib/functions/bzb-functions.php on line 301
class="col-md-4" role="complementary" itemscope="itemscope" itemtype="http://schema.org/WPSideBar">