2019/11/10

統計ソフトRの備忘録

FXの解析をするときに、ちょっとした処理ならExcelの表計算でやります。

表計算だけならExcelじゃなくてもなんでもよいけど、もう少しなんとかとなるとExcelVBAで処理したくなるときがあるので、そのためだけにExcelを買っています。

ときどき、というかグラフを書かせるときとか、Excelでは面倒な統計処理をしたいときとかは、フリーウェアの統計解析ソフトRとRStudioを使っています。

ただ、使用頻度は少ないので、忘れがち・・・
なので、ここに備忘録としてFX解析で使っているコマンド達を書いておきます。


CSVファイルの読み込み

CSVファイル自体は、前処理も兼ねてExcelで作ることが多いです。

Rでは
> fx.data <- read.csv("ファイル名.csv")
で読み込めます。

安定した動作を目指すなら、ファイル名にも、ファイルの中にも全角文字(2バイト文字)を使わないほうがいいでしょう。
Error in make.names(col.names, unique = TRUE) :
  invalid multibyte string at '<ef>サ<bf>date'

こんなエラーがでて、うまくいかないときには、オプションで文字コードを設定してみましょう。
fx.data <- read.csv("GBPJPY15a.csv", header = T, fileEncoding = "UTF-8-BOM")
これで解決しました。


データの概要を確認する(summary)

データを読み込んでも、こちらから何もしなければ、うんともすんとも言わないR君。
読み込みにエラーが有るときだけは、わんさかエラーメッセージを吐き出すが、正常なときはなにも言わない。
言ってみれば、文句ばかり言って、うまく言ったときは知らん顔という無愛想この上ないのがRです。

まあ、無愛想をなことを強調する必要はないのだけれど、読み込んだデータを確認したければ、したのようなコマンドを打つしかない。
> summary(データフレーム)
例えば、こんな感じ。
> summary(fx.data)
それで、summary(デーテフレーム名)で、最初の5行と、平均値や中央値、四分位数などザクッと表示してくれます。


四分位数を求める(quantile)

データを大小で4つに分ける数値。
下から25%、50%(中央値)、75%の値を四分位数といいます。
Rでは、
> summary(データフレーム)
で求められます。

> summary(fx.data)

標準偏差を求める(sd)

Rで標準偏差を求めるときはsdを使います。
書き方は
> sd(データフレーム$列データ名)
です。
例えば、下のような感じで、fx.dataというデータフレームのe列について標準偏差を求めることになります。
> sd(fx.data$e)

ヒストグラムを描く(hist)

Rでヒストグラムを描くのはExcelより簡単です。
> hist(データフレーム$列データ名)
具体例
> hist(fx.data$e)
だけでとりあえず描けます。
でも、これでは味気ないので、
> hist(fx.data$profit,breaks = seq(0,7,0.01),xlim=c(0,2),main = "GBP/JPY 30分間の期待幅", ylab="頻度", xlab="期待幅",col="pink")
くらいは指定しましょう。

breaksで分割する区間の幅を指定しましょう。
seq(0,7,0.01)
は、0から7の間を0.01ステップで区切る。
この間には、すべてのデータが含まれていなければなりません。
一部を拡大などしたいときには、xlimで範囲を狭くするなどの方法をとります。







システムトレードランキング