研究室配属の問い合わせ(学内・学外共通)

ここでは研究室配属に関連するよくある質問をまとめて回答します。また、金澤の研究指導方針について明記しておこうと思います。学部生にとっては大学院については情報が足りないと思いますので、金澤の方からは下記項目について情報提供しようと思います。
1. テーマ選択について
2. 必要な前提知識について
3. 大学院進学の手続きについて
(更新日:2021年3月9日)
テーマ選択について
データ解析をテーマとしてはまずはお薦めしています(特に希望がなければ)。今まで為替データの解析をメインでやってきましたが、特に拘りがあるわけではないので、要望があれば他種のデータを用いた解析も可能な限りサポートしようと思っています。データ解析をする際はプログラミング技能が必須になります。
また、エージェントベースモデルの数値シミュレーションも選択肢として入ってきます。理論的な方向からは金澤がサポートしますので、数値実験をメインで行う選択肢もありですし、この選択肢はそれなりに現実的だと考えています。データ解析の結果と比較する形で進められるのがベストだと思います。
理論研究にも僕自身は今まで相当力を入れてきたので、理論希望の学生がいれば指導可能です。理論研究をやる場合は常微分方程式・偏微分方程式の最低限の知識と、ゴリゴリ計算することを厭わない精神が必要になります(ただ当研究室は数学科の研究室ではないので、特に厳密数学の方向の知識は必要とはしません)。
必要な前提知識
金融データ(特に板データ)の解析にはかなりの前提知識が必要になりますので、簡単にまとめておきます:
- プログラミングがある程度出来ること
データ解析・シミュレーションする際にプログラミング技能は重要です。板データを解析する場合は、そこそこプログラミングが出来ないと解析で困ることになると思います。特に、板データの解析のパッケージは殆どありませんので、パッケージ依存でない基礎的なプログラミング能力があると助かります。今使用を推奨しているプログラミング言語は
・Python
・Julia
・C++
になります。初歩的なプログラミングはPythonで行うことが多いですが、本格的なプログラミングを書く場合はPythonでは足りなくなるため、適時Julia/C++を交えて高速なプログラム解析が必要になります。最低限のスキルの目安としては、例えばpythonであれば3年秋の配属時に
・pyplot, numpy, scipy, pandasの基礎はわかる(webを殆ど参照せずにコードが書ける)
・statsmodelsも触れる(webをあまり参照せずにコードが書ける)
・もし可能ならJulia/C++を用いて高速なコードが書ける
くらいを想定しています。(ちなみにpyplot, numpy, scipy, pandas辺りをいちいち調べてコードを書くのは厳しいと思われます。 各言語の基礎的な文法が暗記出来ていることを想定しています。英語でもそうですが基礎的な語彙は暗記しないとスムーズに読み書きできませんので。)面談時には簡単なコード能力をテストする可能性があります。 - 基礎的な数学ができること
この分野に入門するには、論文・本を読む上で最低限の基礎数学の素養が求められることになると思います。例えば、入門書としてJ.-P. Bouchaudの本(Trades, Quotes and Prices)を読もうとおもいますが、読み込むには確率過程に関する計算が一通りできる必要があります。なので、3年生の終わりまでに確率過程の計算(確率微分方程式、伊藤の公式周辺)はマスターしていただく必要があります。
確率過程自体は私が書いたノート(「速習・確率過程入門 ~拡散現象のモデリング~」)に沿って教えようと思います。但し、このノートを読むための前提知識として、基礎的な線形代数・微積分までは必要になると思います。なので、このノートの3章までを3年生の終わりまでに完全に読み切れるようになるための前提知識は勉強してくれていると幸いです。面談時にテストする可能性があります。ある程度具体的な基準を書いておきます(私は社工ではなく理学部物理学科卒なのですが、想定として、標準的な理学部物理学科だと3年生末までに修了していると期待できるものだと思います):
1. 線形代数:有限次元系の固有値・固有ベクトルがわかる。『わかる』とは定義を即座に述べ、与えられた行列に対してどのように計算すれば原理的には固有値・固有ベクトルが求まるかを回答できる。対角化の直観もある(なぜ固有値問題を通じると行列が対角化されるのか、意味を考えたうえで自明に思える)。線形空間もわかるとより良い。
2. 常微分方程式:1階/2階の線形常微分方程式は解析的に解ける。知らない非線形微分方程式も、オイラー法で良ければ数値計算で実装できる。ルンゲクッタ法で実装できればより良い。
3. 偏微分方程式:簡単な偏微分方程式(拡散方程式)を見た時に意味を理解することができる。具体的にはフーリエ変換・ラプラス変換を使いこなすことができ、それを用いて拡散方程式の時間依存解を求めることができる。
言語としての数学、そしてコーディングとの関係性について
ちなみに『数学』は教科書/論文では意味を伝えるための『言語』として使用されています。つまり、ある程度数学的な説明を許容できない場合は、「何を言いたいのかわからない」という事態に遭遇することになります。実際、シミュレーション/データ解析を行うためのプログラミング/コーディングにも数学力が直結することになります。例えば、シミュレーションを行う場合は、本/論文で書かれた数理モデルをコーディングすることになりますが、数理モデルは確率過程の言葉で書かれているため、確率過程の言葉がわからないと「どうコーディングして良いかわからない」ということになり得ます。同様にデータ解析のためのコーディングでも、「先行研究でXを調べた」と書かれていてそれを再現する場合、Xを定義する確率過程の言葉がわからないとやはりコーディングに影響を及ぼします。つまり、ここでの基礎数学はコーディングとかなり直結する話だと考えてもらっても良いです。
オーダーブックデータ(板情報)について
本研究室で扱っているのはオーダーブックデータ(以下、OBと略す)です。OBは所謂「金融時系列データ」とはかなり性質が異なります。なので、伝統的な意味での計量時系列解析を扱っている研究室ではないです。OBはどちらかというと、オークションデータになります。今扱っているのは東証(株式市場)とEBS(外為市場)のOBになります。特に前者に関しては、(完全ではないですが)トレーダーの行動をIDレベルで正確に観測可能なデータを扱っています。このミクロデータを基に、トレーダーの個々人レベルの戦略を分析したり、その結果金融市場の流動性/安定性に影響を与えるか、などといった実務的な問を考えていきたいと考えています。
こういった解析を行う上で、かなり金融固有の実務的な問題(高頻度なレベルの話ですが)を考える必要があります。例えば、実務トレーダーは初学者が想定しがちな「安く買って高く売る」という行動をメインの目的としているとは限らず、もっとサービスに徹する場合もあります(例えばカバー取引、委託取引)。そういう場合ばトレーダーの行動傾向を実務の観点から解釈することも可能なわけで、そういうかなり細かいレベルの話に金澤は興味を持っています。
学外からの大学院進学について
大学院進学について
金澤研では大学院進学希望者を受け入れています。特に博士課程への進学を希望する学生を歓迎します。但し、部屋の物理的な大きさの制約/使用するデータの複雑さなどを考慮した結果、2022年度入試については以下の運用を現在考えています。詳しくは金澤にコンタクトを取ってください。なお、金澤研は出来たばかりなので、受け入れポリシーは変化する可能性があります。
(更新日:2021年3月9日)
- 外部からの受け入れは、原則として1名以下に絞ろうと考えています。これはデータ解析室の物理的な大きさを考慮し、定期的な卒研内部生の流入を考慮するとこれが限界となります。
- 外部からは博士課程進学を前提とする学生のみの受け入れを考えています(少なくとも今年度は)。修士卒の場合、内部生に比べて外部生は1年短い期間で修了となりますが、本研究室で使用するデータは複雑であり、また取得すべき技能が多岐に渡るため、2年では時間的に厳しいと経験的に判断しました。
- 数学/プログラミングの基礎学力として、上の基準を出願時までに充たす必要があります。特に出願までに金澤の確率過程のノートは完全にマスターしていてください。実際、金澤研では内部3年生に、3年生末までにノートを読み終えることを課しています。進度的に合わせる必要があります。数学基礎力が基準に達していれば、ノートは数日~2週間(長くても1か月)で読めると覆います。
- 4年生中にPython/Julia (or Python/C++)は使用できるようになっていてください。院からプログラミングを勉強する時間的な余裕はないと踏んでいます。
- 2月入試での受け入れは基本的に考えていません。
- 院試出願について
筑波大学の院試については、次のサイトをご覧ください:https://www.sk.tsukuba.ac.jp/PPS/
- コンタクトの時期
例年、大学院進学説明会が4月~6月に開かれていると思います。説明会以降は出来るだけ早く、金澤にコンタクトを取ってください。具体的には、どれだけ遅くとも院試出願締切の1カ月前までにはコンタクトを取ってください。以下、趣旨を説明します:
院生を受け入れる場合、金澤が十分指導可能な人数に収める必要が出てきます。なので、
(0) 成績証明書を見せてもらって、
(1) 面談をして(面談では簡易なテストを行う可能性があります)、
(2) 研究計画書を書いてもらって、その出来を見て、
その後に受け入れるかどうかを判断する予定です。いつまでに受け入れの諾否を通知するか(通知日)は、直接問い合わせください。目安としては、院試の出願締切の数週間~一カ月前までには通知しようと思います。また、適切に指導を行うために、受け入れ希望者の人数によっては何名か受け入れを断る事があります。ご了承ください。また、通知日以降に連絡を取って頂いても、おそらく受け入れはできないと思いますので、出来るだけ早く連絡を取ってください。 - 研究計画書について
筑波大学の大学院では出願時にA4一枚程度の研究計画書を書いていただくことになります。研究計画書では、大学院でどのような研究を行う予定かある程度記載していただきます。この際に、金澤が複数回に渡って内容を確認し、金澤が受け入れ可能だと判断した場合に受け入れることになります。ライティングの経験がない学生の場合は、金澤がライティング関連の学習資料を提出しますので、ご連絡ください。
- 初回コンタクトのメールについて
コンタクトメールでは下記情報についても記載していただけると、コミュニケーションが円滑に進めて良いと思います(初コンタクトだと何を書くか悩むことも多いと思います)。参考にしていただけると幸いです。
(0) 大学院に進学する目的は何か?(例:研究/勉強したいから、研究者になりたいから、キャリアパスとしての就職に繋げる、何か特定のスキルを取得したい)
(1) 大学院で何を研究したいか?対象は何か?手法(データ解析、シミュレーション、理論)の中で特に想定しているものはあるか?
(2) 修士卒業後に博士進学する予定があるか
(3) プログラミング経験の有無、使用する言語、自認する力量、何年継続しているか
(4) 基礎的な数学に関する力量の自認(特に上で説明した数学科目について)