スキップしてメイン コンテンツに移動

[Python][Redis]為替レート 2011/08/13 17:30時点 通貨ペア相関係数ランキング(直近3日間)

本日の通貨ペア相関係数ランキングをお知らせします。
ここでは以下の3つの相関係数ランキングを公開しています。
 1,正の相関TOP5
 2,負の相関TOP5
 3,低相関TOP5


まずは正の相関が観測されたTOP5の組み合わせです。

-- 正の相関TOP5 --
1位 HKDJPY/USDJPY : 0.9278
2位 AUDJPY/GBPJPY : 0.927
3位 AUDJPY/NZDJPY : 0.9216
4位 GBPJPY/GBPUSD : 0.9029
5位 AUDJPY/GBPUSD : 0.8832

このランキングに入る通貨ペアの組み合わせは、同じ方向に動く可能性が高い通貨ペアの組み合わせです。同じ方向に動くので、一方の通貨ペアを買い、一方の通貨ペアを売れば変動時の損益を相殺することができます。

例:USDJPY/HKDJPYがTOP5に入っている場合
 USDJPY => 売り
 HKDJPY => 買い

ただ、値幅がことなるので各ペアで完全に相殺できるかどうかは確かではありません。


次に負の相関が観測されたTOP5の組み合わせです。

-- 負の相関TOP5 --
1位 CHFJPY/USDCHF : -0.9984
2位 CHFJPY/GBPJPY : -0.8594
3位 CHFJPY/GBPUSD : -0.7939
4位 AUDJPY/CHFJPY : -0.7714
5位 CHFJPY/HKDJPY : -0.666

このランキングに入る通貨ペアの組み合わせは、異なる方向に動く可能性が高い通貨ペアの組み合わせです。異なる方向に動くので、両方のペアを売りか買いのどちらかで持つことで損益を相殺することができます。

例:USDJPY/CHFJPYがTOP5に入っている場合
 USDJPY => 買い
 CHFJPY => 買い

変動幅に関しては、正の相関ランキングと同様、注意が必要です。


最後に相関関係の低いのTOP5の組み合わせです。
※()内:符号付き相関係数

-- 低相関TOP5 --
1位 EURUSD/USDCHF : 0.1054 (0.1054)
2位 CHFJPY/EURUSD : 0.1189 (-0.1189)
3位 EURUSD/HKDJPY : 0.1272 (-0.1272)
4位 USDJPY/ZARJPY : 0.1536 (0.1536)
5位 GBPUSD/USDJPY : 0.1786 (0.1786)

各通貨ペア間の相関係数の絶対値が低い順に順位付けしています。
このランキングに入る通貨ペアの組み合わせは、それぞれの値動きに関連が低くかった組み合わせになります。相互の値動きに関連が低いので、両方のペアを売りか買いのどちらかで持つことで分散効果を得ることができます。

例:EURUSD/GBPJPYがTOP5に入っている場合
 EURUSD => 買い
 GBPJPY => 買い


上記のような相関係数を調べることで、為替変動による損益をヘッジするための手法の一つです。為替変動による影響をできるだけ少なくできるため、特にスワップ派におすすめの手法でしょうか。

なお、上記数値の算出には相対取引のFX業者から30秒間隔で取得したレートを利用しております。過去のデータから算出しており、将来にわたって投資効果を保証するものではありません。

実際の投資には大幅な損失を被る可能性もありますので、あくまで参考程度としていただくことをご了承ください。

それでは、また。

コメント

このブログの人気の投稿

[Python]redis-pyでRedis Pub/Sub実装

前から面白そうと思っていたRedisのPub/Sub機能。 redis-pyでどう実装すれば使えるか確認してみた。 ■Pub/Subについて http://ja.wikipedia.org/wiki/出版-購読型モデル ■pub.py from redis import StrictRedis def publish(channel,msg): """ redis-pyにはPUBLISHするためのメソッドがないので、 Redisのコマンドをそのまま実行する為のクラスを使う。 """ sr=StrictRedis() """ 第1引数にRedisのコマンド、第2引数以降は そのコマンドの引数をそのままセット """ sr.execute_command("PUBLISH",channel,msg) if __name__=="__main__": # チャネル"hoge"に"Hello"というメッセージを出版(Publish) publish("hoge","Hello") ■sub.py from redis import Redis def listen(channel): r=Redis() ps=r.pubsub() ps.subscribe(channel) while True: for i in ps.listen(): print i["data"] if __name__=="__main__": # チャネル"hoge"を購読(Subscribe) listen("hoge") ■実行方法・実行結果 (ターミナル1-準備) [user@localhost ~]# python sub.py 1 # => チャネ

[OS]VirtualBoxでCentOS6.5(x86_64)がKernel panicを起こした

完全に対処療法。 恥ずかしながら自分では原因がわかっていない。 忘れないようにメモしておく。 いろいろ設定したあと、何度目かの再起動のタイミングでKernel panicが発生して起動しないという事象が発生。 こちらの方法でなんとか起動させて。 [CentOS] SELinux 無効化後のカーネルパニック http://kuni255.blogspot.jp/2013/04/centos-selinux.html こちらの通り、/boot/grub/grub.confに設定を追加。 Kernel panic – not syncing: Attempted to kill init! http://h2np.net/mynotebook/post/130 設定変更後、以下の操作をそれぞれ10回ほど試した限りでは再発していません。  (1)halt+起動 (2)reboot 追記:と思ったらまた発生した。なんかもう解決できる気がしない。

[Haskell]Database.HDBC.Sqlite3でSQLite3のデータを読む。

関数型言語のHaskellというものに手を出してみました。 今回は、システムトレードで使っているSQLite3からHaskellで時系列データ(日足)を読んでみます。 備忘録として、コードを上げておきます。 import Database.HDBC import Database.HDBC.Sqlite3 main = do conn <- connectSqlite3 "investment.dbf" closes <- getHistoricalPrices conn "2712" "CLOSE" print [zenjitsuhi |(x,y) <- (zip (init closes) (tail closes)),let zenjitsuhi = ((x-y)/y)*100] hist <- getHistoricals conn "8411" print hist disconnect conn return () getHistoricals :: IConnection c => c -> String -> IO [(String, String, String, Double, Double, Double, Double, Double)] getHistoricals conn code = do stmt <- prepare conn "SELECT S.DATE,S.CODE,S.MARKET,S.OPEN,S.HIGH,S.LOW,S.CLOSE,S.VOLUME FROM STOCK_DAILY S,MARKET_LISTINGS L WHERE L.CODE=? AND L.MAIN_MARKET='true' AND L.CODE=S.CODE ORDER BY S.DATE DESC" execute stmt [(toSql code)] rows <- fetchAllRows s