投稿日:2019年12月1日
pandasはデータ分析に非常に便利なライブラリです。この記事のシリーズではpandasを使ってFXのデータを分析する練習をしてみました。
この記事ではFXのサンプルデータを使って多変量データの分析の基礎についてまとめます。
pandasやscipyには分析をする便利な関数が用意されていますが、計算できるものは一応自分で計算してからそれらの関数を使用しています。
言語はPython3.6.3でJupyterNotebookを使って実行しています。ライブラリは以下のものを使用しています。
ここでは多変量解析ということで、2つの異なるカテゴリのデータを使いたいと思います。Part1で準備したEURUSDのデータ
これに加えてGDPUSDのデータをダウンロードしてきます。リンク先の『Download Historical Data Here』からダウンロードします。
ダウンロードできたら作業ディレクトリ直下に解凍して以下の様なディレクトリ構成にします。
.
├── HISTDATA_COM_MT_EURUSD_M12017
│ ├── DAT_MT_EURUSD_M1_2017.csv
│ └── DAT_MT_EURUSD_M1_2017.txt
├── HISTDATA_COM_MT_EURUSD_M12018
│ ├── DAT_MT_EURUSD_M1_2018.csv
│ └── DAT_MT_EURUSD_M1_2018.txt
└── HISTDATA_COM_MT_GBPUSD_M12017
├── DAT_MT_GBPUSD_M1_2017.csv
└── DAT_MT_GBPUSD_M1_2017.txt
まずはデータを読み込みます。
今回はEURUSDの2017年のデータとGBPUSDの2017年のデータを使ってみます。
%matplotlib inline
import pandas as pd
import matplotlib.pyplot as plt
data1 = pd.read_csv(
"./HISTDATA_COM_MT_EURUSD_M12017/DAT_MT_EURUSD_M1_2017.csv",
names=["date","time","open","high","low","close","spread"])
data2 = pd.read_csv(
"./HISTDATA_COM_MT_NZDCAD_M12017/DAT_MT_NZDCAD_M1_2017.csv",
names=["date","time","open","high","low","close","spread"])
共分散(covariance)は2つの変数の関係の強さを表す指標です。共分散は以下の式で表されます。
例:ある数人の身長と体重を計測したとしましょう。
身長が大きい方が体重も大きい値をとりがちですね?その様なデータの場合、共分散は正の値を取ります。
例えばこの3人の場合身長の平均が168.3cm、体重の平均が62.6kgです。共分散を計算すると、
{ ( 165 - 168.3 ) × ( 61.3 - 62.6 ) + ( 168 - 168.3 ) × ( 62.0 - 62.6 ) + ( 172 - 168.3 ) × ( 64.5 - 62.6 ) } ÷ ( 3 -1 ) = 0.25
ではpythonで計算してみます。
# それぞれの『open』のデータを取得
data1_open = data1["open"]
data2_open = data2["open"]
data_len = len(data1_open)
# それぞれのデータの平均値を計算
data1_mean = data1_open.mean()
data2_mean = data2_open.mean()
# 全てのデータに対して平均との差を計算
# Noneは0に置換
data1_diff = (data1_open - data1_mean).fillna(0)
data2_diff = (data2_open - data2_mean).fillna(0)
# 2変数の積の和を計算
# Noneは0に置換
diff_sum = sum((data1_diff * data2_diff).fillna(0))
# 共分散を計算
conv_sample = diff_sum / data_len
print("共分散:{}".format(conv_sample))
共分散:0.001699501944684368
共分散行列(covariance matrix)または分散共分散行列(variance-covariance matrix)は複数の変数において、分散と共分散の一覧を行列の形式でまとめたものです。
分散共分散行列では対角成分がそれぞれの変数の分散になり、その他の成分が共分散になるわけですね。
pandasのDataFrameやscipyではcov()メソッドでこの分散共分散行列を取得できます。
data_concated = pd.concat([data1_open,data2_open], axis=1)
data_concated.cov()
相関(correlation)とは二つの確率変数の分布法則の関係の事を言います。例えばXとYという2つの変量(ともに測定データ)があった時を考えます。この時、Xの大きな値とYの大きな値、Xの小さな値とYの小さな値が対応している場合、この2つの変量には正の相関があるといえます。
この相関の程度は相関係数(correlation coefficient)で表すことができます。普通、単に相関係数と言った時ときにはピアソンの積率相関係数(Pearson product-moment correlation coefficient)のことを指し、以下の式であらわされます。
相関係数は共分散を−1〜+1の範囲で標準化したものだとみなすこともできます。相関係数などを使いそれぞれの変数の相関を調べることを相関分析(correlation analysis)といいます。
実際にpythonで一つずつ計算してみます。
# それぞれの『open』のデータを取得
data1_open = data1["open"]
data2_open = data2["open"]
data_len = len(data1_open)
# それぞれのデータの平均値を計算
data1_mean = data1_open.mean()
data2_mean = data2_open.mean()
# 全てのデータに対して平均との差を計算
# Noneは0に置換
data1_diff = (data1_open - data1_mean).fillna(0)
data2_diff = (data2_open - data2_mean).fillna(0)
# 2変数の積の和を計算
# Noneは0に置換
diff_sum = (data1_diff * data2_diff).fillna(0).sum()
# 差の2乗を計算
data1_diff_sq = (data1_diff * data1_diff).fillna(0)
data2_diff_sq = (data2_diff * data2_diff).fillna(0)
# 差の2乗の和の積を計算
data_diff_sum_sq = (data1_diff_sq.sum() * data2_diff_sq.sum())
# 相関係数を計算
correlation = diff_sum/np.sqrt(data_diff_sum_sq)
print("相関係数:{}".format(correlation))
相関係数:0.8925594922892961
非常に強い正の相関がでました。実際にグラフを見てみます。
data1_open.plot()
data2_open.plot()
片方のグラフの増加に対してもう片方のグラフも増加していることがわかります。
実際のデータでは相関係数のみで関係性が強い、無関係の判断するのは危険ですが一つの指標になりそうですね。
Ich bin gegen covid 19. Was ist deine Meinung? mituns
erectile tissue problems
best erectile dysfunction pumps
erectile dysfunction medications
erectile hardening cream
can erectile dysfunction be permanent
acupuncture for erectile
Ich bin gegen covid 19. Was ist deine Meinung? mituns
thx much for the invitation :). I am expert of pandemic, and i can help you.
PS: How are you? I am from France :) very good forum :) mixx
hi, i am woo from Sweden and i want to explain any thing about "pandemic". Please ask me :)
hi, i am woo from Sweden and i want to explain any thing about "pandemic". Please ask me :)
Kamagra Beipackzettel Toupsboush <a href=https://bansocialism.com/>cialis online prescription</a> Whermeni Viagra 28 Ans
malaria drugs list
<a href=https://chloroquineorigin.com/>clorochina</a>
erectile d with matt lauer
<a href=https://erectiledysfunctionsxag.com/>erectile aid device</a>
hydroxychloroquine 200 mg tablet
<a href=https://hydroxychloroquinex.com/>hctz hydrochlorothiazide</a>
erectile natural remedies
<a href=https://plaquenilx.com/>plaquenil 400 mg</a>
tadalafil medication
<a href=https://tadalisxs.com/>tadalafil gel</a>
zpak for uti
<a href=https://zithromaxes.com/>zithromax prices</a>
chloraquine
<a href=https://chloroquineorigin.com/>chloroquine diphosphate</a>
soma erectile dysfunction
<a href=https://erectiledysfunctionsxag.com/>erectile breast tissue</a>
what is hydroxychloroquine 200 mg
<a href=https://hydroxychloroquinex.com/>buy hydroxychloroquine</a>
erectile pills china
<a href=https://plaquenilx.com/>chloroquine and plaquenil</a>
tadalafil for women
<a href=https://tadalisxs.com/>generic tadalafil 40 mg</a>
citromax
<a href=https://zithromaxes.com/>generic for zithromax</a>
chrloroquine
<a href="https://chloroquineorigin.com/">clonidine hcl</a>
erectile function in vagina
<a href="https://erectiledysfunctionsxag.com/">erectile medication over counter</a>
risks of hydroxychloroquine
<a href="https://hydroxychloroquinex.com/">sulfasalazine</a>
erectile solutions
<a href="https://plaquenilx.com/">plaquenil hydroxychloroquine</a>
tadalafil e20 pill
<a href="https://tadalisxs.com/">tadalis sx</a>
zithromax is used for
<a href="https://zithromaxes.com/">buy zithromax no prescription</a>
I am expert of pandemic, and i can help you.
PS: How are you? I am from France :)/ mixx
HI Guys. Thanks for my approving / wazz user, new user hehe
HI Guys. Thanks for my approving / wazz user, new user hehe
Where is a my topic with invite? Hmm i cant find it now ;/ wizz
hiiiiiii i am spider from Arg. I would to ask you what kind of games do you like playing?? My favourite games is diablo rpg
hiiiiiii i am spider from Arg. I would to ask you what kind of games do you like playing?? My favourite games is diablo rpg
yyy where can i find a shoutbox message? / sells
tadalafil 60 mg for saletadalafil <a href="https://megalistadalafil.com/buy">tadalafil tablets for sale</a>
avanafil stendra dosage <a href="https://avanaavanafil.com/buy">avana india</a>
avanafil stendra dosage <a href="https://avanaavanafil.com/buy">avana india</a>
dapoxetine <a href="https://priligydapoxetinex.com/buy">dapoxetine pills</a>
dapoxetine <a href="https://priligydapoxetinex.com/buy">dapoxetine pills</a>
dapoxetine <a href="https://priligydapoxetinex.com/buy">dapoxetine pills</a>
dapoxetine <a href="https://priligydapoxetinex.com/buy">dapoxetine pills</a>
dapoxetine <a href="https://priligydapoxetinex.com/buy">dapoxetine pills</a>
cyclosporine ophthalmic <a href="http://cyclosporineopthalmicemulsion.com/buy">cyclosporine cost</a>
buy megalis canada <a href="https://megalistadalafil.com/#">tadalafil pills</a>
buy megalis canada <a href="https://megalistadalafil.com/#">tadalafil pills</a>
buy megalis canada <a href="https://megalistadalafil.com/#">tadalafil pills</a>
buy generic brimonidine <a href="http://combiganbrimonidinetartrate.com/delivery">combigan generic</a>
buy generic brimonidine <a href="http://combiganbrimonidinetartrate.com/delivery">combigan generic</a>
buy cyclomune usa <a href="http://cyclosporineopthalmicemulsion.com/faq">cyclosporine for humans</a>
cyclomune eye drop <a href="http://cyclosporineopthalmicemulsion.com/#">cyclosporine lab tube</a>
cyclomune eye drop <a href="http://cyclosporineopthalmicemulsion.com/#">cyclosporine lab tube</a>
cyclomune eye drop <a href="http://cyclosporineopthalmicemulsion.com/#">cyclosporine lab tube</a>
cyclomune eye drop <a href="http://cyclosporineopthalmicemulsion.com/#">cyclosporine lab tube</a>
cyclomune eye drop <a href="http://cyclosporineopthalmicemulsion.com/#">cyclosporine lab tube</a>
buy combigan online <a href="http://combiganbrimonidinetartrate.com/delivery">combigan</a>
buy combigan online <a href="http://combiganbrimonidinetartrate.com/delivery">combigan</a>
buy combigan online <a href="http://combiganbrimonidinetartrate.com/delivery">combigan</a>
yyy where can i find a shoutbox message? / sells
buy avana uk <a href="https://avanaavanafil.com/faq">avana 50 mg</a>
avana tablet <a href="https://avanaavanafil.com/buy">avanafil india</a>
dapoxetine 10 mg <a href="https://priligydapoxetinex.com/buy">dapoxetine ed</a>
dapoxetine 10 mg <a href="https://priligydapoxetinex.com/buy">dapoxetine ed</a>
dapoxetine 10 mg <a href="https://priligydapoxetinex.com/buy">dapoxetine ed</a>
dapoxetine 10 mg <a href="https://priligydapoxetinex.com/buy">dapoxetine ed</a>
buy avana online <a href="https://avanaavanafil.com/faq">avana</a>
buy avana online <a href="https://avanaavanafil.com/faq">avana</a>
buy avana online <a href="https://avanaavanafil.com/faq">avana</a>
buy avana online <a href="https://avanaavanafil.com/faq">avana</a>
buy avana online <a href="https://avanaavanafil.com/faq">avana</a>
tadalafil 20mg <a href="https://megalistadalafil.com/buy">buy tadalafil</a>
tadalafil 20mg <a href="https://megalistadalafil.com/buy">buy tadalafil</a>
Cyclomune eye drops 0.05% <a href="http://cyclosporineopthalmicemulsion.com/#">buy cyclosporine usa</a>
megalis tab <a href="https://megalistadalafil.com/faq">megalis 20 mg for male uses in hindi</a>
megalis tab <a href="https://megalistadalafil.com/faq">megalis 20 mg for male uses in hindi</a>
avana canada <a href="https://avanaavanafil.com/#">avanafil vs cialis</a>
avana canada <a href="https://avanaavanafil.com/#">avanafil vs cialis</a>
avana canada <a href="https://avanaavanafil.com/#">avanafil vs cialis</a>
avana canada <a href="https://avanaavanafil.com/#">avanafil vs cialis</a>
avana canada <a href="https://avanaavanafil.com/#">avanafil vs cialis</a>
dapoxetine prescription usa <a href="https://priligydapoxetinex.com/buy">priligy without a doctor prescription</a>
dapoxetine prescription usa <a href="https://priligydapoxetinex.com/buy">priligy without a doctor prescription</a>
dapoxetine prescription usa <a href="https://priligydapoxetinex.com/buy">priligy without a doctor prescription</a>
dapoxetine prescription usa <a href="https://priligydapoxetinex.com/buy">priligy without a doctor prescription</a>
dapoxetine prescription usa <a href="https://priligydapoxetinex.com/buy">priligy without a doctor prescription</a>
Ich bin gegen covid 19. Was ist deine Meinung? mituns