Translate

2017年2月10日金曜日

お金の線形性・指数性

今日はお金そのものについて考察していきます。

そもそもなぜお金が必要なのでしょうか。
その大きな理由の一つは物の流動性を高めるためです。

たとえばりんごをペンと交換したい人がいるとします。
お金というものがなければ、ペンをりんごと交換する人を探さなければいけませんが、そう都合よくそのような人が見つかるわけではありません。
しかし、現代のようなお金の流通している社会では、お金を介することでそのような人を探さなくても売買できます。

また、貯蓄可能だということもお金が必要な理由の一つでしょう。りんごは長時間放置していれば腐って価値がなくなってしまいますが、お金に変えればそのような心配はありません。

このように、お金の良い所は簡単に挙げられます。では逆に悪いところはあるのでしょうか?
今回はこのことを議論する前に、お金の2つの性質「線形性・指数性」について理解しておきましょう。

お金の線形性・指数性

結論から言いますと、お金は、同時刻では額面に対して線形性を、同額面では時間に対して指数性を持ちます。
順番に考えてみましょう。

たとえばお店で500円の物を買った場合を考えます。このときあなたは500円玉を出す必要はもちろんありません。1000円札でも10000円札でも支払うことができます。
もしも500円よりも高い額面の紙幣で支払った場合はお釣りをもらいます。当たり前ですが、このときお釣りとして受け取る金額は単純に支払った金額から商品の価格を引いたものになります。

つまり、差が等しければ価値は等しいのです。これはお金が線形性を持っていることを表しています。

つぎに、2017年から2018年まで利率0.1%で1000万円人にお金を貸すときのことを考えます。お金を借りる人は2018年に、2017年に借りた金額に加え、0.1%の利子をつけ返済しなければなりません。この場合は1000万円で借り1001万円で返すことになります。

よって、2017年の1000万円と2018年の1001万円が同じ価値を持つと考えることができます。利子が借りる量に比例することを考慮すると、お金の価値は時間に対して、線形的ではなく、指数関数的に増えていきます。

価値関数 $f(x,t)$

数学的に議論できるようにするため、価値関数$f(x,t)$を導入します。$x$は額面、$t$は時刻を表します。
たとえば、$f(100\text{円},2017\text{年})$は2017年時点での100円のもつ価値を表します。じつは上で説明した2つの性質から$f(x,t)$は以下のようにもとまります。
$$f(x,t)=ax\,e^{bt}$$
この式がちゃんと2つの性質を満たしているかどうか確認してみましょう。

同時刻のとき、額面の変化による価値の変化は
$$\frac{\partial f(x,t)}{\partial x}=ae^{bt}=Const.$$
となります。よって価値が額面に比例していることがわかります。

同額面のとき、時刻$t$、$t+\delta t$での価値の比は
$$\frac{f(x,t+\delta t)}{f(x,t)}=e^{b\,\delta t}=Const.$$
となります。よって指数性も満たされています。

まとめ

  • お金の価値は、額面に対しては線形的、時間に対しては指数関数的に増える。
  • 具体的に$f(x,t)=axe^{bt}$とかける。
次回はこの価値関数をベースに、お金の持つ欠点について考えてみたいと思っています。

2017年2月3日金曜日

[FX] 最小二乗法でトレンドを把握する

こんばんは。
今回も前回に引き続きFX関連です。

数理モデル

現在時刻を$t=0$として、株価が
$$f_{\epsilon}(t)=a_0+a_1t+a_2t^2+\epsilon$$
と表されると仮定します。$\epsilon$はノイズです。

ノイズ項を無視すれば、$a_1$と$a_2$はそれぞれ(定数倍を除き)$f'(0)$と$f''(0)$に対応していることがわかります。つまり$a_1$は現在のトレンド、$a_2$はトレンドの変化を表しています。


重み付き最小二乗法

最小二乗法とは一般的に
$$y_i=f(t_i)+\epsilon_i$$
となるときに
$$\sum_i {\epsilon_i}^2$$
で表される自乗誤差が最小にするようなパラメータを求めます。今回は時系列データでなるべく最新のデータが重要視されるようにしたいので、この最小二乗法をすこしいじり、
$$\delta=\sum_{i=-\infty}^0 c_i{\epsilon_i}^2$$
で表される重み付き自乗誤差を代わりに使います。$c_i$は$c_i<c_{i+1}$が成り立つ適当な配列を用意します。

以下表記の簡略化のため、総和$\sum_{i=-\infty}^0x_i$を単に$x_i$と表記することにします。

$$\delta_i=c_i(y_i-(a_0+a_1t_i+a_2{t_i}^2))^2$$
となるため、
$$\frac{\partial \delta_i}{\partial a_0}=0 \iff c_iy_i=c_i(a_0+a_1t_i+a_2{t_i}^2)$$
$$\frac{\partial \delta_i}{\partial a_1}=0 \iff c_iy_i=c_i(a_0t_i+a_1{t_i}^2+a_2{t_i}^3)$$
$$\frac{\partial \delta_i}{\partial a_2}=0 \iff c_iy_i=c_i(a_0{t_i}^2+a_1{t_i}^3+a_2{t_i}^4)$$
となります。総和の記号が省略されているので$c_i$で約分することはできないことに注意してください。

これを行列表示すると
$$c_i\begin{pmatrix}y_i\\t_iy_i\\{t_i}^2y_i\end{pmatrix}=c_i\begin{pmatrix}1_i&t_i&{t_i}^2\\t_i&{t_i}^2&{t_i}^3\\{t_i}^2&{t_i}^3&{t_i}^4\end{pmatrix}\begin{pmatrix}a_0\\a_1\\a_2\end{pmatrix}$$

よって逆行列をかければパラメータが求まります。

ぼやき

機械学習でトレーディングするとき、データとしてナマの株価を与えるのではなく、代わりに複数の$\beta$にたいする$a_1$、$a_2$を与えて学習させたほうがうまくいきそう。。。