2017かちのぼやき数学系、情報系を中心に、日頃考えていることをメモがわりに書いていく予定。Translate2017年1月29日日曜日ゴールデンクロスについて考察してみたお久しぶりです。期末試験が終わり、ブログを更新する時間ができました。今回はFXのテクニカル分析の基礎中の基礎であるゴールデンクロスについて、簡単なモデルを立てて考えてみたいと思います。ゴールデンクロスとはFXを一度でもやったことのある人は知っていると思いますが、一度も触れたことのない人のために簡単に説明だけします。詳しく知りたい人がいればググってもらうのが早いです。定義だけ先に言うと、ゴールデンクロスは短期の移動平均線が長期の移動平均線を超えた点です。(移動平均線とは、現時点から一定期間前までの平均値です。)なぜこのような点に着目するかというと、トレンドの変わり目を知りたい、つまり下降トレンドから上昇トレンドに変わったかどうかを判断したいからです。ゴールデンクロスは短期の平均値が長期の平均値を上回る点ですから、トレンドが上昇に転じたと考えられます。よって一般的にゴールデンクロスでは買いをいれるというセオリーがあります。数理モデル今回は簡単のために、株価が局所的に以下の式で表せると仮定します。$$f(t)=at^2+b\epsilon$$$\epsilon$は平均0分散1の標準正規分布に従うノイズです。このときパラメータ$a,b$及び平均値を出す期間$N_s,N_l$にどのような関係があるのかを調べて行きたいと思います。短期平均と長期平均の差$\Delta_{\epsilon}$は以下のようになります。$$\Delta_{\epsilon}=\frac{1}{N_s}\sum_{i=1}^{N_s}(a(t-i)^2+b\epsilon_i)-\frac{1}{N_l}\sum_{i=1}^{N_l}(a(t-i)^2+b\epsilon_i)$$$$=\left(\frac{1}{N_s}-\frac{1}{N_l}\right)\sum_{i=1}^{N_s}(a(t-i)^2+b\epsilon_i)-\frac{1}{N_l}\sum_{i=N_s+1}^{N_l}(a(t-i)^2+b\epsilon_i)$$まずノイズ項について考えます。分散に関する公式を用いると、$\Delta_{\epsilon}$の分散$\sigma^2$は$$\sigma^2/b^2=\left(\frac{1}{N_s}-\frac{1}{N_l}\right)^2N_s+\left(\frac{1}{N_l}\right)^2(N_l-N_s)=\frac{1}{N_s}-\frac{1}{N_l}$$ゆえに標準偏差$\sigma$は$$\sigma=b\sqrt{\frac{1}{N_s}-\frac{1}{N_l}}$$となります。$\Delta_{\epsilon}$のノイズ項以外の部分を$\Delta$とすると、$\Delta_{\epsilon}$は平均$\Delta$分散$\sigma^2$の正規分布に従います。次に$\Delta$について考えます。(t-i)^2=\frac{1}{N}\left(t^2N-2t\frac{1}{2}N(N+1)+\frac{1}{6}N(N+1)(2N+1)\right)$$$$=t^2-t(N+1)+\frac{1}{6}(N+1)(2N+1)$$を用いると$$\Delta/a=\frac{1}{N_s}\sum_{i=1}^{N_s}(t-i)^2-\frac{1}{N_l}\sum_{i=1}^{N_l}(t-i)^2$$$$=\left(-t(N_s+1)+\frac{1}{6}(N_s+1)(2N_s+1)\right)-\left(-t(N_l+1)+\frac{1}{6}(N_l+1)(2N_l+1)\right)$$$$=(N_l-N_s)\left(t-\frac{1}{3}(N_s+N_l)-\frac{1}{2}\right)$$ゆえに$$\Delta=a(N_l-N_s)\left(t-\frac{1}{3}(N_s+N_l)-\frac{1}{2}\right)$$となり、$\Delta$は$t=t_0=(N_s+N_l)/3+1/2$で0となります。以上の結果をまとめておきましょう。$$\Delta_{\epsilon}=\Delta+\sigma\epsilon$$$$\Delta=a(N_l-N_s)\left(t-\frac{1}{3}(N_s+N_l)-\frac{1}{2}\right)$$$$\sigma=b\sqrt{\frac{1}{N_s}-\frac{1}{N_l}}$$$$t_0=\frac{1}{3}(N_s+N_l)+\frac{1}{2}$$上の結果はノイズの標準偏差$\sigma$とトレンドを感知するまでの時間$t_0$がトレードオフの関係にあることを示しています。$\sigma$を小さくしようとすると$t_0$が長くなってしまい、逆に$t_0$を短くしようとすると$\sigma$が大きくなってしまいます。議論を深めてパラメータ$a,b$についても考察してみましょう。ノイズがない場合は$t=t_0$で$\Delta=0$となります。t$において$\Delta_{\epsilon}>0$となる確率を求めておきましょう。t$分散$\sigma^2$の正規分布に従います。t>\frac{u\sigma}{a(N_l-N_s)}=u\frac{b}{a}\sqrt{\frac{1}{N_lN_s(N_l-N_s)}}$$この結果を見ると$a/b$がSN比としての役割を果たしていることがわかります。-ソフトウェア開発者の人生マニュアル-新年あけましておめでとうございます。今回も前回に引き続き書評です。大学3年生になって忙しくなっていく中、時間を少しでも有効活用したいと考えるようになりました。そこで、無駄のない生活を送るために、ライフハッキングについて学び始めました。ちなみに「ハッキング」という言葉を悪い意味で使うのは誤用です。本来の意味は「工夫して改善していくこと」であり、外部からセキュリティを突破して侵入する行為は「クラッキング」と言います。ライフハッキングとは、生活環境の改善という意味です。グーグル検索してみると様々な有益なサイトを見つけることができました。そのサイトの多くがある本をおすすめしていました。この本には効率的な学習方法から、筋肉の鍛え方、株式市場の仕組みまで、ありとあらゆることが書かれています。筆者の経験に全て基づいているため、非常に説得力があります。これを一冊読めば一通りのことは身につきそうだと思い、すぐ購入を決めました。「ソフトウェア開発者の人生マニュアル」と書かれていますが、将来ソフトウェア開発者にならない人にとってもためになる内容になっています。この本は71の小さな章から構成されており、それぞれの章の内容は(かなり)独立しています。ソフトウェア開発者が書いた文章だけあって、無駄な比喩や繰り返しはなく、「コスパの良さ」を感じます。本の目次を調べてみてもらえばわかりますが、この本は非常に幅広い内容を扱っています。面接への備えから始まり、仕事での昇進方法、仕事をこなしつつ独立の準備をする方法、そして独立後に安定した生活をおくるための資金運用方法など、どれも人生に役立ちそうなことばかりです。独立したあとのモチベーションの保ち方、作業効率を高める方法など、今すぐからでも役立ちそうなことまで書いてあります。あと、意外と見落とされがちな点ですが、翻訳がうまいので読みやすいです。(某本は翻訳がひどすぎて英語版のほうがわかりやすいということがありました。)この本から学んだこと本来はここに本のまとめを書くのですが、この本は内容が濃すぎてまとめられません。この本全部がまとめみたいなものです。すべての内容を紹介するのは無理なので、ここでは今私が実行していることの中から2つ紹介します。「情報発信の大切さ」と「ポモドーロテクニック」です。情報発信が大切な理由は、自分のことを世界中の人に知ってもらうためです。世界中の人に知ってもらい価値が認められれば、就活を「買い手市場」から「売り手市場」に変えることができます。このブログを始めたのもこの本がきっかけでした。情報発信の方法の例としてブログが挙げられていたからです。実践していることの2つ目のポモドーロテクニックです。ポモドーロテクニックとは、生産性工場のためのテクニックです。25分集中+5分休憩のサイクルを4回繰り返し、その後眺めの休憩をいれるという方法です。こまめに休憩をいれることで集中力を維持できます。一定時間ごとに進捗を確認することができるので、各サイクル間で比較することができ、考察し改善することができます。人生マニュアルという言葉にふさわしい本だと思います。非常に内容が濃い本なので、みなさんもぜひ読んでみてください。私もあと2,3周は読みたいですね。