ロボアドエンジンのコンセプト

f:id:monex_engineer:20190212142400j:plain


お客様が保有している資産を分析しアドバイスをするいわゆる「ロボアドバイザー」は、マネックス・ラボで開発したものだけでMONEX VISIONβ、answer、マネックスアドバイザーなどが挙げられます。

 

多岐に渡るサービスを開発してきましたが、どのようなコンセプトでこのエンジンが開発されているのかをマネックス・ラボで金融工学コンサルティング業務でご協力いただいております、野口能也氏(@equilibrista)にご解説いただきました。

ポートフォリオとは

MONEX VISIONβ では、お客様に対して、複数のリスク資産を組み合わせたポートフォリオの提案を行います。そもそも推薦する銘柄を一つ選ぶのでなく、なぜ複数の銘柄を組み合わせたポートフォリオを提案するのか。その背景について説明します。

リスク資産の投資成果には、必然的にバラツキがあります。買ったものの値段は、上がるときもあれば、下がるときもあります。大きく上下して、ヒヤッとするときもあれば、小さく上下して、比較的安心できるときもあります。2つの銘柄を組み合わせるとき、それらは同時に上げ下げすることもあれば、互いに逆方向となることもあります。特に後者によって、組み合わせない場合と比べて、バラツキ度合いは落ち着いたものになります。

 

確率分布の和の分散

統計学ブームによって、最近では確率変数、平均、分散、標準偏差相関係数といった用語も、頻繁に見かけるようになりました。そうした用語を使って上記を説明すると、「(確率変数の)和の標準偏差は、標準偏差の和よりも小さい」となります。まず教科書に載っている、確率変数の和の分散の公式を見てみます。

式(1) V(X+Y) = V(X) + V(Y) + 2√V(X)√V(Y)Corr(X,Y)

簡単にするために、XとYの相関係数を1とします。

式(2) V(X+Y) = V(X) + V(Y) + 2√V(X)√V(Y)

右辺をくくりたくなります。

式(3) V(X+Y) = (√V(X) + √V(Y))^2

両辺の平方根をとりたくなります。

式(4) √V(X+Y) = √V(X) + √V(Y)

標準偏差は分散の平方根ですが、このとき(確率変数の)和の標準偏差は、標準偏差の和と一致しています。さて、相関係数は-1と1の間のどこかをとります。もう一度、式(1)を見てみると、つまり(確率変数の)和の標準偏差は、(相関係数が1のとき)標準偏差の和と一致する(式(4))か、または(相関係数が1未満のとき)それよりも小さいと、言えることがわかります。

2つのリスク資産を組み合わせるとき、両者が異なる動きをすれば(相関係数が1未満のとき)、互いに補うことでバラツキ度合いは、より落ち着いたものになります。

余談ですが、2つのリスク資産の和の標準偏差は、あたかも三角形の三つの辺のように、あるいはベクトルの和のように、考えることができます。相関係数を-cosθと思って、「余弦定理」を思い出してみて下さい。そのような絵を描いてみると、また参考になります。

 

マーコヴィッツの仕事

1990年にノーベル賞を受賞したハリー・マーコヴィッツの仕事は、上記のようなポートフォリオ選択論でした。投資家は、各銘柄に対して収益を期待し、またバラツキを見積もり、そして銘柄間の相関についても評価します。そのとき、複数の銘柄を組み合わせたポートフォリオに対しても、その期待する収益と、バラツキを見積もることができます。もちろん、収益は大きいほど望ましく、バラツキは小さいほど望ましい。そう考えつつ、各銘柄への配分を探るとき、「最適な」組み合わせは一つに定まります。

1950年代と現在とで大きく異なるのは、計算機のスピードと値段です。当時は簡単でなかった、多くの銘柄に跨るデータの整備や大規模な計算は、今では手元の端末でさえ扱うことが容易になっています。他方で、各銘柄にいくらの収益を期待するのか、各銘柄にどれだけのバラツキを見積もるのか、それらは互いにどんなふうに相関すると思うのか。そうした見通しを扱う難しさは、変わっていません。

 

CAPM

よくあるポートフォリオのひとつに、例えばTOPIX東証株価指数)に連動するものがあります。最近では日銀が政策の一環として、こうしたETFを買い入れています。これは、東証一部に上場する全銘柄を、その時価総額に応じた比率で保有して、つまりミニチュアをつくろうという発想のもとに構成された商品です。

この発想の土台にある、やはり1990年にウィリアム・シャープノーベル賞を受賞した、CAPMの考え方は魅力的です。いくつか仮定が必要になりますが、簡単に言えば、まず(現在のインターネットから想起されるように)情報の流通は非常に速く、誰もがすべての情報に即座にアクセスできると仮定します。そして同時に、先のマーコヴィッツの仕事のように、誰もが組み合わせた収益とバラツキを気にして、ポートフォリオの構成比率を探すと仮定します。

このとき、世界中のすべての投資家は、同じポートフォリオを持つはずです。同じような情報にアクセスして、同じようにポートフォリオを構成するはずです。そして、世界中のすべての投資家が同じポートフォリオを持つのなら、それは必然的に、世界の全体(のミニチュア)であるはずです。時価総額の比率で、まんべんなく投資するという、いわゆるパッシブ運用の考え方です。先のTOPIXは、日本という「部分」に限定した「世界」ですが、考え方は同じです。

 

世界の投資家のポートフォリオ

さて、しかしながら実際に多くの投資家が、世界のミニチュアのようなポートフォリオ保有しているかといえば、そうではありません。いくつか典型的な乖離があります。例えばGPIF(年金積立金管理運用独立行政法人)の基本ポートフォリオは、以下のような構成になっています。

国内債券: 35%
国内株式: 25%
国債券: 15%
外国株式: 25%

それぞれのカテゴリの中を覗けば、時価総額の比率に近い投資になっています。しかし全体として見ると、債券でも株式でも、世界の全体と比べて、外国よりも日本の比率が高い状態になっています。こうした「自国への偏り」は、多くの諸外国でも見られます。

理由を考えてみると、一つには、CAPMの前提となっていた「誰もがすべての情報に即座にアクセスできる」点が気になってきます。例えば日本の債券や株式は、第一に日本語で、その基本的な情報が公開されます。また言語の壁はもちろんのこと、文化的な背景まで含めて、諸外国に暮らす人々と日本国内の我々と比べて、同じ水準の情報量を得られているかといえば、そうでないと考える方が自然にも思われます。

あるいはまた、それぞれのカテゴリの中で、投資に関する情報を手に入れて分析し解釈しようとするとき、誰しも例えば分野によって得手不得手があります。そして優れた分析や解釈が、広く皆に共有されているかといえば、必ずしもそうでもないというのが現状です。「忘れられている」銘柄も、世界中を見渡すとき、思ったよりも沢山見つけることができます。少なくとも、そう思われているからこそ、単にミニチュアを追い求めるパッシブ運用だけでなく、「上がる」銘柄を探すアクティブ運用も根強い人気があります。もちろんGPIFもアクティブ運用を採用しています。

 

実践的なポートフォリオ

すこし整理します。CAPM時価総額ポートフォリオは、実際の投資成果を見てみると、打ち負かすことが難しい、非常に強いポートフォリオの一つです。他方で、まったく世界を模倣するだけでなく、そこから意図的に乖離を考えるべき理由も、いくつか存在します。日本国内の資産への偏重、特定の銘柄やカテゴリへの見通し、外国投資における為替リスクの考え方、投資商品の手数料等が、それらの例となります。

こうした様々な点を考慮に入れ、多くの顧客のポートフォリオについて、個別に分析できるよう定量的なモデルを組み立てることが、ロボアドバイザーの基本です。個別のいくつかのトピックについて、以降の記事では、別途取り上げていく予定です。

Yoshi Noguchiマネックス・ラボ コンサルティング

新しいプロジェクトやシステムのネーミングって

新しいプロジェクトやシステムのネーミングって悩みますよね・・・。

みなさん、どうやって名づけをしてますか? 

こんにちは、システム開発部の野崎です。

マネックスインサイト」というプロダクトに関わって、早、んー年になります。

このプロダクトは、マネックス証券のお客様に、株価など、マーケット情報全般をご提供するシステムです。

・・・というと、よくある情報システムなのですが、2011年に米国のトレードステーション社(TS社)がマネックスグループ傘下になった後、米国の開発者とコラボして、ゼロから作り上げた初めてのシステム、という側面もあります。

インサイト」以外にも、TS社と共同で開発したプロダクトとしては、米国株取引システムや「トレステ」でお馴染みの日本株取引ツールがあります。

↓詳しくはこちらをどうぞ。

マネックス証券の米国株 

https://info.monex.co.jp/beginner/us-stock/index.html

トレードステーション(トレステ)
https://info.monex.co.jp/tradestation/

 現在も、米国・東京それぞれに常駐する開発者とコミュニケーションをしながら、日々改善を行っています。

一緒に開発を進めるメンバーもアメリカを始め、コスタリカウクライナ、イギリス、フランス、ペルー、中国、・・・とかなりグローバル。

英語が飛び交う赤坂オフィスの一角は、さながら「NASA」のようと言われたことも。

「グローバルな環境で開発してみたい!」という方にはもってこいの環境です!(歓迎!)

リリースまでの苦労話や、日々のコミュニケーションのコツなど、語ることはいろいろあるのですが、今回は、本題にもどって、システムのネーミングの話を。

 浅草のお好み焼き屋「Sometaro」

ところで、インサイトで最初に開発したシステムは 「Sometaro」と言います。

それは、浅草にある「染太郎」というお好み焼きやさんの名前。

https://tabelog.com/tokyo/A1311/A131102/13003710/

インサイトのプロジェクトを開始した頃、TS社のプロジェクトリーダーから、

「新しいシステムのコード名が必要なんだけど、全知全能の神、"ゼウス"とかどう?」
と聞かれました。

(えっ・・・そんな大げさな名前・・・。)

初めての米国開発者とのプロジェクトで不安でいっぱいの中、ゼウス、は正直、重過ぎました。

当時の上司と相談したところ

上司「ん~、TS社のメンバーが東京に来たときに、一緒にいった浅草のお店なんだっけ?」

 「染太郎、ですか?」

上司「それでいいんじゃない?」

という、ゆるーいアドバイスの元、エイやで「Sometaro」に決まりました。

f:id:monex_engineer:20190206065436p:plain

 「水」に関連した遊び心のネーミング

その後、インサイトで開発したシステムは、「水」に関連した名前が付けられました。

  • Floodgate(水門)
  • Faucet(蛇口)
  • Reservoir(貯水池)
  • Basin(盆地)
  • Watershed(流域)
  • Yacht(ヨット) などなど

発案者のTS社 開発リーダーによると、

自分の子供に「お父さんはなんのシステム作ってるの?」って聞かれたとき

「リアルタイム情報システム」・・・って、ぜんぜん面白くないじゃない?

「Floodgate(水門)やFaucet(蛇口)だよ」って言ったら

子供が「なにそれ~!おもしろそ~!」って興味もつでしょ?

だから、キャッチ―で、遊び心のある名前にしたかったんだ。

とのことでした。「リアルタイムデータを流す」というイメージから発想したようです。

その後も、新しいシステムを開発するたび「ネーミングどうしようか?(水しばりで)」

という議論が、開発チームの中では、楽しい話題となっています。

そんな中、最初に名づけた「Sometaro」だけが異彩を放っていくのですが、
「そういえば、お好み焼きも、粉と水でできているなー。」

とある日気づきました。

それ以来、人に説明するときは、

「バラエティ豊かな具(情報)を、粉と水でまとめて食べられる、お好み焼きのような、おいしいシステム!」

という、いい感じの説明をしています。

 

f:id:monex_engineer:20190209142603p:plain

Makiko Nozakiシステム開発部 企画・設計グループ

Progateを使ってみて

初めまして、リスク・マネジメント部のキンケンです。
開発とは直接関連の無い部署ですが、個人的にプログラミングに興味があり
『Progate』で学習を始めてみました。

私の最近のマイブームは『Progate』のレベル上げで、
Progateとはプログラミング初心者向けのE-ラーニングサービスです。
いくつかの言語を触ってみて、初心者なりの感触のお話ができればと思います。

 

プログラミングに興味を持ったきっかけ

文系出身の私は、学生の頃から黒い画面にブラインドタッチで白文字を打ち込むエンジニアに対して、強い憧れを抱いておりました。

当時はアメリカ帰りの元oo.incのエンジニアが「母国で起業」のブームまっただ中で
理系大学の学生が自作プロダクトを用いて、有名IT系企業のインターン枠を獲得していました。
**筆者は中国出身です。そういう背景もあり、私もプログラミングが書けるようになりたいと脳の奥底で思っておりました。

始めたきっかけはTwitterです。初心者がプログラミング言語を学ぶならProgateが良い。というつぶやきに従って、即刻登録しました。

 

パラメーター

Progateは習熟度をパラメーター形式で確認できます。
私の現在のパラメーターはこのような感じで、
鳥のシルエットに見えてなんとなく気に入っております。
f:id:monex_engineer:20180927140201p:plain
レッスンを進めれば進めただけ
確実にレベルが上がる、という点がモチベーションを高めてくれ、
大変よくできたサービスだと思います。

現在はRuby、Ruby on Rails5、Command Lineを勉強中です。

 

わかりやすかった言語

Goが一番わかりやすかったです。簡単な英文のようで、またエラー文の意味も分かりやすかったです。その次にPythonです。Pythonの特徴はインデントである。ということをどこかで見た気がしましたが、まさにその通りだと思いました。

 

まとめ

結論から言うと、まだ何を作るということはできておりません。一方で、書籍などで学ぶより確実に継続できます。スライド形式のわかりやすい説明と、実際に書いて学ぶことができるため、挫折しないサービス設計になっているのかなと思います。

f:id:monex_engineer:20180927130729p:plain

 

Progateはプログラミングに挑戦したい初心者にとって、非常にやさしいサービスだと思います。
最後まで読んで頂き、誠にありがとうございました。

f:id:monex_engineer:20181227144402p:plain

金 賢(キン ケン)リスク・マネジメント部