外国為替取引におけるネットワーク計画の利用
95P21022 伊藤秀一
ORを勉強してきて、特に知りたかったことは金融関係に対するORの利用であった。
特に自身がお金が増える、減るといったことに対しての関心が高いので「ファイナンスの数理」
という本の国際通貨決済に対する、ネットワーク理論の利用に興味を惹かれ自分で解いてみたくなった。
具体的には、外国為替市場で通貨を他の通貨に両替するのに、複数の通貨を利用すれば複数のルートで替えることが可能である。
通貨を直接替えるよりも、他の通貨も利用して求めている通貨に替える方が価値が減らずに済む場合があるのではないか。
そこで、複数のルートがある内で最も価値を減らさずに済むルートを見つける問題に取り組んでみたい。この問題は経済的に意味がある問題である。
また、外国為替市場での取引は為替レートが秒単位で変化することから、より高速な意思決定のサポートが必要となってくる。
以上を踏まえ、ここでは、外国為替市場での通貨の動きをネットワークモデルで表現し、それをネットワーク上で定義されるORの
ネットワーク計画問題のひとつである最短路問題に当てはめることによって問題を解いていく。
この論文は、
2章では外国為替市場について、
3章では問題の定義、
4章では最短路問題に対する解法について、
5章ではべき乗法の適用、
6章では現実への適用の計算部分、
7章では現実への適用の結果、
8章ではこの研究の結果、
という順番で進める。
まず、外国為替市場について説明したい。
貿易や資本取引などから生じる国際間の債券や債務の資金決済の仕組みを外国為替という。
また自国通貨を対価として外貨通貨を売買することや、異なった通貨間の交換取引を外国為替取引と呼ぶ。
外国為替はある国の通貨と他の国の通貨で表示された債券の交換・売買なので、結局それらの通貨で
支払われたり、受け取ることになる。それは異なった通貨の間の交換となり、その交換比率を外国為替相場、
為替相場または為替レートという。
現在わが国は変動相場制を採用しているので、外国為替の需要と供給によって為替相場は時々刻々と変動する。
外国為替市場は、狭義には銀行間市場のことであり、広義にはこれに対顧客市場を加えたものである。
銀行間市場で取引されるのは預金通貨であるが、対顧客市場では手形、小切手、現金も取引される。
ロンドン・ニューヨーク・東京が3大為替市場と呼ばれている。時差の関係で主たる取引の場は
移り変わるものの、世界のどこかで24時間休みなく為替取引きが続けられている[1]。
私が知りたいことは、「ある通貨から他の通貨に両替する場合、直接替えるのではなく他の通貨を
利用して替えれば直接替える場合にくらべて価値が減らずに済むのではないか。そして他の通貨を利用する場合
どの様に替えればよいのか。」である。
通貨の移転を考える上で、出来るだけ価値を減らさないというのは、経済的に意味のある問題である。
また、為替レートが秒単位で変化する外国為替市場での取引においては、より高速な意思決定のサポートが求められる。
つまり、より早く解を求めることも必要とされる。
3.1ネットワークモデルでの表現
この問題を解くためにまず、外国為替市場での通貨の動きをネットワークモデルとして表現してみる。
各通貨を点で表し、通貨間の移転を枝で表すとグラフが得られる。各枝に重みとして為替レートを
付与すればネットワークが得られる[2]。
例えば、ドル・円・マルク・ポンド間の外国為替市場をグラフで表現すると以下のようになる。
(図1を参照)
この各枝に為替レートを付与すればネットワークになる。
図1
例えば、ドルから円に換えようと思った場合には、いくつかのルートが考えられる。
複数のルートがあるなかで、最も価値を減らさずに通貨の移転を行えるルートを見つける
にはどうするか。
通貨の移転を計算するには、通過する枝の重み(為替レート)をかけていくと出る。
2つの数の掛け算というのは、各数値で対数をとればその対数をとった値同士の足し算に変えることができる。
そこで、全ての枝の為替レートの対数をとれば、最も価値が減らない方法(ルート)というのは、枝の重みを足して最も大きくなるルート
ということになる。
ここで、為替レートの対数をとった値にマイナスをつけることで、最も値が減るルートを見つけるという問題にすることができる。
この問題は、ネットワーク計画問題において最短路問題と呼ばれる。
3.2最短路問題
最短路問題とは、ネットワーク上で定式化されるネットワーク計画問題のひとつである。
いくつかの点と矢線で表現されるグラフの各枝にその”長さ”や”容量”などが付与されたとき
そのようなグラフをネットワークと呼ぶ。そのネットワークの各枝が長さを持ち、始点と終点が
与えられたとき始点から終点への長さが最小なものを最短路という。
最短路問題とは与えられたネットワーク上で最短路を求める問題である。
しかし、ネットワークの枝の重みに負の値が存在する場合、負閉路の存在により最短路が求められないことがある。
負閉路とはネットワーク内である点から他の点を通り元の点に戻るとき長さ等が減るような道のことである。
負閉路があるとその部分を通過するたびに長さが減少し始点から終点への長さを無限に小さくできることになる。
最短路問題に対する解法としては、枝の長さが非負の場合に利用できるダイクストラ法、
負の長さがあっても適用できるべき乗法などが知られている。
ここでは、それぞれの特徴とアルゴリズムについて説明する。
- ダイクストラ法
ダイクストラ法とは、1959年にE.Dijkstraによって提案されたものであり、全ての枝が非負の場合に
のみ適用できるものである。
まず、始点のラベルを0、それ以外の点のラベルを無限大とする。最短路の長さが確定した点のラベルを
確定ラベル、それ以外の点を一時ラベルと置く。次に一時ラベルの中で最小の点xをみつける。
その点を確定ラベルに変更し、隣接する点の一時ラベルを、
「一時ラベルの値と、点xのラベルの値とその間の枝の重みを足したものの小さいほう」の値に変更し、確定ラベルにする。
この作業を繰り返していく。
すべての点が確定ラベルになったら終了であり、各点の確定ラベルが始点からの最短路の長さになっている。
-
べき乗法
べき乗法とは、ベルマン・フォード法を行列の演算として特化させたものである。ベルマン・フォード法とは
1956年L.R.Fordにより提案され、またそれとは独立に、1958年R.E.Bellmanによっても同様に示されたアルゴリズムである。
まず、始点の距離ラベルを0、それ以外の点の距離ラベルを無限大、カウンタを1と置く。
距離ラベルの更新は、その点に入ってくる枝の中で最も小さい重みを持つ枝によって行われる。
全ての点の距離ラベルの更新を行ったら、カウンタに1を足す。
ラベルの更新が行われなくなるか、カウンタが(点の数)+1になった時点で終了である。
また、計算終了時にカウンタが点の数+1となった場合はそのグラフの中に負閉路が
存在する[3]。
複数の通貨を利用して両替を行う場合、例えばドル→ユーロ→円としたいとき具体的な計算は以下の様になる。
ドル→ユーロ、1ドルは0.9983ユーロ。ユーロ→円、1ユーロは102.85円。具体的な為替レートをこのようにすると
最終的な円の価値は2つのレートの掛け算で求めることができる。
つまり1ドルをユーロにして円にすると0.9983×102.85=102.675より約102.675円になるということになる。
しかし、掛け算というのは各数値の対数をとることにより足し算にすることができる。
そこでこの問題を解くにあたっては各通貨の為替レートの底を10とする対数をとりその数値を各枝の重みとし計算を行いたい。
さらにその重みをマイナスにしてその中で最も数値が小さいルートを見つけることにする。
これにより最短路問題にあてはめることが可能となり、またコンピュータを利用し高速に解を求めることも可能となる。
為替レートの対数をとること、そこにマイナスをかけることからも枝の重みにはマイナスの数値が出てくるので
ダイクストラ法は利用できない。
そこで、負の値の枝が存在しても適用できるべき乗法を用いることにする。
Excelを用いて現実の為替レートを使い問題を解いていく。
為替レート |
円
|
ドル |
ポンド |
ユーロ |
クローナ |
フラン |
日本円
|
0 |
0.00973 |
0.00608 |
0.00972 |
0.07222 |
0.01549 |
アメリカドル |
102.67 |
0 |
0.6248 |
0.9983 |
7.0422 |
1.5908 |
イギリスポンド |
164.32 |
1.6005 |
0 |
1.5978 |
11.88 |
2.5461 |
ユーロ |
102.85 |
1.0017 |
0.625 |
0 |
7.435 |
1.5935 |
デンマーククローナ |
13.83 |
0.1347 |
0.0841 |
0.1344 |
0 |
0.2143 |
スイスフラン |
64.54 |
0.6286 |
0.3927 |
0.6275 |
4.6657 |
0 |
表1:為替レート
表1は為替レートの表である。この表は、左の縦に並んでいる通貨を横に並んでいる通貨に替えるといくらになるかというのを表している。
具体的には、左のアメリカドルと右の日本円の交わるところにある102.67という数値は
1ドルは102.67円であることを示している。
|
円
|
ドル |
ポンド |
ユーロ |
クローナ |
フラン |
日本円
|
0 |
2.011887 |
2.216096 |
2.012334 |
1.141343 |
1.809949 |
アメリカドル |
-2.01144 |
0 |
0.204259 |
0.000739 |
-0.84771 |
-0.20162 |
イギリスポンド |
-2.21569 |
-0.20426 |
0 |
-0.20352 |
-1.07482 |
-0.40588 |
ユーロ |
-2.0122 |
-0.0074 |
0.20412 |
0 |
-0.87128 |
-0.20235 |
デンマーククローナ |
-1.14082 |
0.870632 |
1.075204 |
0.871601 |
0 |
0.668978 |
スイスフラン |
-1.80983 |
0.201626 |
0.405939 |
0.202386 |
-0.66892 |
0 |
表2:対数をとりマイナスをかけた表
表2は、為替レートの底を10とする対数をとり、そこにマイナスをかけた表である。
計算に利用するのは表2の数値と、円から他の通貨にどう替えれば良いかを求めるのなら、円を0、
他の通貨をとても大きい数値としたものである。
これはべき乗法で最短路を求める場合に必要となる作業で、最初の段階で始点から始点までの距離は0、他の点までの距離はまだ
分からないので無限大であることを示す。
具体的には、以下の通りである。(例として、ドルへの解を具体的にどの様に計算しているかを示す。)
1回目の計算では最初に設定した各点への距離を使う。
対数をとった値を縦に見ていく。(2.011887,0,-0.20426,-0.0074,0.870632,0.201626)
その数値と各点への距離を足して最も小さくなるものを求める。(2.011887+0,0+999,-0.20426+999,-0.0074+999,0.870632+999,0.201626+999の内最も小さいのは2.010061)
この値がその時点での点への最短距離ということになっている。
2回目以降は各点へのその時点での最短距離が変更してあるので、1つ前の計算結果を使い同様の計算を繰り返す。
点の数+1回、この場合は7回目で計算は終了する。
計算過程でその数値がどの計算により行われたかを表示することで、
通貨をどのように替えれば良いのか、そのルートが分かるようになっている。
ここでは実際の為替レートを利用した計算の結果について説明する。
為替レートには、日本円・アメリカドル・イギリスポンド・ユーロ・デンマーククローナ・スイスフラン
のレートを利用しました。
全体の計算結果はこちら[4]。
Excelをブラウザから対話的に利用できるようにしたページはこちら(IE4.0以上でないと見れません)。
上記の計算例では、始点を日本円とした。
つまり日本円から各通貨に替えた場合にどうなるかを計算した。
下記が結果の部分となる。
円
|
ドル |
ポンド |
ユーロ |
クローナ |
スイスフラン |
|
102.7749 |
164.4737 |
102.8807 |
13.84658 |
64.55778 |
1 |
フ |
フ |
エ |
フ |
エ |
1 |
102.7009 |
164.3947 |
102.8807 |
13.83668 |
64.55778 |
1 |
フ |
ド |
ド |
フ |
エ |
1 |
102.7009 |
164.374 |
102.8758 |
13.83668 |
64.55778 |
1 |
フ |
ド |
ポ |
ポ |
エ |
1 |
102.7009 |
164.374 |
102.8752 |
13.8362 |
64.55778 |
1 |
ユ |
ド |
ポ |
ポ |
エ |
1 |
102.7006 |
164.374 |
102.8752 |
13.8362 |
64.55778 |
1 |
ユ |
ド |
ポ |
ポ |
エ |
1 |
102.7006 |
164.3736 |
102.8752 |
13.8362 |
64.55778 |
1 |
ユ |
ド |
ポ |
ポ |
エ |
1 |
102.7006 |
164.3736 |
102.875 |
13.83616 |
64.55778 |
表3:計算結果
一番下の太字は、最終的な計算結果になります。
どのようなルートを通るかは、途中の計算結果の上に書いてある文字により分かります。
文字はエが日本円、ドがアメリカドル、ポがイギリスポンド、ユがユーロ、クがデンマーククローナ、フがスイスフランを表しています。
例えば、日本円からユーロに替える場合に円→ドル→ポンド→ユーロで替えると、最後に1ユーロの価値は102.875円に
なるということがわかります。
実際の為替レートを適用し解として、どのようなルートで両替したらよいか、結果としてどうなるかを
高速に求めることができた。意思決定のサポートをすることが可能であると思う。
しかし、為替レートを手で入力するといったインターフェースの問題。為替手数料を計算にいれてないこと。また、計算上小数点以下の小さい数も扱うので
、数値誤差の扱いについても更なる考察が必要と思われる。
謝辞
今回の研究にあたり、本当に多くの助言を頂いた根本俊男先生に厚く御礼申し上げます。
また研究室生、特に共にネットワークゼミで学んだ3年生、4年生にも本当に感謝しております。
参考文献
外国為替関係
[1]国際金融と外国為替・加野忠・村井睦男著・大学教育出版・1998
ネットワーク計画関係
[2]現代人の数理8 ファイナンスの数理・沢木勝茂著・朝倉書店・1994
[3]講座・数理計画法7 グラフ・ネットワークマトロイド・伊理正夫・藤重悟・大山達雄著・産業図書・1986
Excel関係
[4]オペレーションズ・リサーチ1999年4月号〜6月号よりExcelによるネットワーク計画法(1)〜(3)