投稿日: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()
片方のグラフの増加に対してもう片方のグラフも増加していることがわかります。
実際のデータでは相関係数のみで関係性が強い、無関係の判断するのは危険ですが一つの指標になりそうですね。
What is the best method for me?
I am looking for the best method to be rich.
This place is correct for This? Limao
What is the best method for me?
I am looking for the best method to be rich.
This place is correct for This? Limao
What is the best method for me?
I am looking for the best method to be rich.
This place is correct for This? Limao
lasiciliana.weebly.com
captain spins casino
lasiciliana.weebly.com
Dream Vegas Casino
nutakugold.club/freenutakugold/
(copy, paste)
NUATKU Gold Hack Password 2022
NUATKU Free Gold 2022 MISE À JOUR
nutakugold.club/freenutakugold/
(copy, paste)
How To Get Free NUATKU Gold 2022
NUTAKU FREE HACK 2022 MISE À JOUR
nutakugold.club/freenutakugold/
(copy, paste)
NUATKU Gold Hack Passwort 2022 AKTUALISIERT
Codes d'or NUATKU gratuits 2022 MIS À JOUR
nutakugold.club/freenutakugold/
(copy, paste)
Pièces d'or NUATKU gratuites sans enquête 2022
Free NUATKU Gold Coins No Surveys 2022 UPDATED
nutakugold.club/freenutakugold/
(copy, paste)
nutaku free coins ios UPDATED
NUATKU Or Glitch 2022
nutakugold.club/freenutakugold/
(copy, paste)
Codes or NUTAKU gratuits MISE À JOUR
Nutaku free codes 2022 april UPDATED
nutakugold.club/freenutakugold/
(copy, paste)
e36ebba
Comment obtenir gratuitement des pièces d'or NUATKU 2022
Pièces d'or NUATKU gratuites sans enquête 2022 MISE À JOUR
nutakugold.club/freenutakugold/
(copy, paste)
a2f40b0
Comment obtenir NUATKU Gold 2022
NUATKU Gold Coin Hack Aucune enquête 2022
nutakugold.club/freenutakugold/
(copy, paste)
c4bfb3b
NUATKU Gold Cheat 2022 UPDATED
NUTAKU gold codes uk MISE À JOUR
nutakugold.club/freenutakugold/
(copy, paste)
a5ca2f4
So hacken Sie NUATKU-Spiele 2022 AKTUALISIERT
NUTAKU GOLD HACK 2022 UPDATED
nutakugold.club/freenutakugold/
(copy, paste)
ebba5ca
NUTAKU gold codes uk UPDATED
NUATKU Goldgenerator 2022 AKTUALISIERT
nutakugold.club/freenutakugold/
(copy, paste)
2f40b0f
NUATKU-Goldcodes 2022
NUATKU Points Hack Password 2022
nutakugold.club/freenutakugold/
MAY UPDATED!
NUTAKU Gold-Hack-Passwort 2022
NUTAKU FREE HACK 2022 UPDATED
Comment obtenir gratuitement NUTAKU Gold 2022 MISE À JOUR
nutakugold.club/freenutakugold/
MAY UPDATED!
So erhalten Sie NUTAKU Gold 2022 AKTUALISIERT
How To Hack NUTAKU Games 2022
NUTAKU Gold Generator 2022 UPDATED
nutakugold.club/freenutakugold/
MAY UPDATED!
Codes d'or NUTAKU 2022 mis à jour
NUTAKU Booty Calls Hack 2022 UPDATED
Codes d'or NUTAKU 2022
nutakugold.club/freenutakugold/
MAY UPDATED!
NUTAKU Gold Codes 2022 UPDATED
NUTAKU Gold Coin Hack No Survey 2022 MISE À JOUR
NUTAKU GOLD HACK 2022 AKTUALISIERT
nutakugold.club/freenutakugold/
MAY UPDATED!
NUTAKU Goldfrei 2022
NUTAKU FREE HACK 2022 AKTUALISIERT
NUTAKU Goldcodes uk AKTUALISIERT
nutakugold.club/freenutakugold/
MAY UPDATED!
So hacken Sie NUTAKU-Spiele 2022 AKTUALISIERT
How To Hack NUTAKU Games 2022
Générateur gratuit de pièces NUTAKU MISE À JOUR
nutakugold.club/freenutakugold/
MAY UPDATED!
How To Get Free NUTAKU Gold Coins 2022
NUTAKU Goldmünzen-Promo-Codes 2022
NUTAKU FREE HACK 2022 AKTUALISIERT
nutakugold.club/freenutakugold/
MAY UPDATED!
NUTAKU Gold Free 2022 UPDATED
Codes promotionnels des pièces d'or NUTAKU 2022
NUTAKU FREE COINS 2022 UPDATED
nutakugold.club/freenutakugold/
MAY UPDATED!
Codes or NUTAKU gratuits MISE À JOUR
NUTAKU Free Coins Codes 2022
Free NUTAKU Gold Coins No Surveys 2022 UPDATED
nutakugold.club/freenutakugold/
MAY UPDATED!
How To Get Free NUTAKU Gold 2022 UPDATED
NUTAKU gold codes free UPDATED
NUTAKU Gold Code 2022 UPDATED
nutakugold.club/freenutakugold/
MAY UPDATED!
NUTAKU Gold Cheat 2022
Pièces d'or NUTAKU gratuites 2022
NUTAKU Gold Code 2022 UPDATED
nutakugold.club/freenutakugold/
MAY UPDATED!
NUTAKU GOLD HACK 2022 AKTUALISIERT
NUTAKU Money Hack 2022
nutaku pièces gratuites ios MISE À JOUR
nutakugold.club/freenutakugold/
MAY UPDATED!
NUTAKU Goldcodes USA AKTUALISIERT
NUTAKU-Goldcodes 2022
NUTAKU Hack 2022
order provigil 200mg generic Shawn
provigil oral
provigil cost modafinil cost provigil cost
я гадюка. я жив в україні в маріополі зараз живу в польщі. де знайти роботу??? гадюка
я гадюка. я жив в україні в маріополі зараз живу в польщі. де знайти роботу??? гадюка
я гадюка. я жив в україні в маріополі зараз живу в польщі. де знайти роботу??? гадюка
hallo
ich bin POO
:P ich wohne in IR.
Das ist wohl thema?
hmmmm , best regards for all :) POO
I need to use eng or can GER?
Make money trading opions. The minimum deposit is 10$.
Lean how to trade correctly.
How to earn fromr $50 to $10000 a day. The more you earn,
the more profit we get.
binary options strategy
hi. i am from FINLAND but my english is ok, hehe
what is a mmonkeypox? did you hear about it?
i am scared ...
sara
hi. i am from FINLAND but my english is ok, hehe
what is a mmonkeypox? did you hear about it?
i am scared ...
sara
hi. i am from FINLAND but my english is ok, hehe
what is a mmonkeypox? did you hear about it?
i am scared ...
sara
Make money trading opions. The minimum deposit is 10$.
Learn how to trade correctly.
How to earn from $50 to $10000 a day. The more you earn, the
more profit we get.
Binary option
Hello. And Bye.
hello there. What can i do for you hehe thanks
hello there. What can i do for you hehe thanks
hello there. What can i do for you hehe thanks
hello there. What can i do for you hehe thanks
hello there. What can i do for you hehes thanks
i registered 2 weeks ago but i cant find where can i search any words.
thanks for help :)
<a href="https://баннер-москва.рф/pechat-bannerov">изготовить баннер</a>
docdroid.net/YZULUtJ/z-pamietnika-poloznej-s12e01-za-darmo-hd-pdf
Z pamiętnika położnej lektor pl
Z pamiętnika położnej gdzie obejrzę?
thanks for approve my account :)
deSara
Hello.
Hello.
Hello.
Cheapest place to buy accutane The best cost
Hello.
Buy Roaccutane Zoretanin Online in Stonewall
buy isotretinoin online cheap
Hello from Happykiddi.
What's The Job Market For Pornstar Kayleigh Wanless Professionals?
Pornstar Kayleigh
9 . What Your Parents Teach You About British Porn Stars On Adultwork British porn stars on Adultwork
Guide To Xxx Of Pornstar: The Intermediate Guide The
Steps To Xxx Of Pornstar Xxx Of Pornstar (Https://Www.Easyfie.Com/)
Five Killer Quora Answers To Pornstars On Adultwork Pornstars On adultwork
Welcome to the world of adult Dating loveawake.ru