タグ ‘ Excel

まずは環境を準備しよう(2)

 

さっそくRubyやMySQLを利用するにあたって軽く触ってみて感じたのは、

Windowsで開発するのじゃやりづらいなーと感じたことです。

 

今までExcelやRなどを利用して解析を行なっていたので、正直人生でWindows以外のOSを使ったことがありません^^;

しかし、せっかく色々なことに挑戦して見ているので、今回はLinuxもやってみようと思います。

 

Linux…

普通のPCユーザーでは聞いたことがあるか、またはナニソレ状態かもしれません。

Linuxの詳細については割愛しますが、WindowsやMacOSとは異なるOSだと思っていて下さい。

システムトレードをやりたいのに、なんか色々面倒くさいなと思われるかも知れませんが、私自身、株式のシステムトレードが現時点で出来るかまだ未確定なので、

ついでにWebサービスも作れるようになれるといいなーという裏の目的もあります。

ということで今回はこのような環境にしてみました。

 

しかし、Windowsでやりたいという方の為にC#ベースのシステムも進めて行く予定なのでそちらの流れを追って行って下さい^^

 


まずは環境を準備しよう

 

システムトレードを行おうと思っても、まずは解析をしなくては始まりません。

解析の準備としては、データが必須となります。

データの取得先は様々あるので慣れて来たら独自のデータソースを持てるようになるといいと思います。

私はまだ初心者なのでまずYahooファイナンスのデータを中心に解析を行なっていこうと思っています。

並行して、オープンな解析環境として

  • Ruby
  • MySQL

を中心に準備していく予定。 あと必要に応じて

  • R
  • C#
  • Excel

の学習も出来るといいかなと思っています。

ただ私自身、RubyもMySQLも初めてなので色々な失敗を追体験して効率的に進めて行って下さい^^

 


まずはエクセルから始めてみよう!

excel_icon1

今回は、解析の環境の準備です。

解析となると難しいイメージを持つかもしれませんが、まずは簡単な処理などから慣れて行きましょう。

目的の結果を得るためには、解析用のソフトウェアを利用するのが便利ですが、Rといった専用のソフトウェアを利用するのはハードルが高いので、みなさん一度は触れたことがあると思われるExcelを使って進めて行きたいと思います。

データ解析を始める前に少しだけ、数学の知識を習得しておきましょう。

システムトレードを開発する上で、非常に重要なのが平均標準偏差です。

平均

サンプルをすべて足しあわせて、サンプルの数で割ることにより、サンプルの代表的な値を知るものです。
エクセルではAVERAGE関数を使います。

例)10人のクラスで一人ひとりの試験の点数を足して、クラスの人数で割って出てくる値
Aクラス:平均は60点でした (生徒の点数:50点,60点,60点,60点,60点,60点,60点,60点,60点,70点)

Bクラス:平均は60点でした (生徒の点数:20点,30点,40点,50点,60点,60点,70点,80点,90点,100点)

分散

各サンプルを平均から引くことにより、各サンプルが平均からどのくらい散らばっているか判断するものです。
エクセルではVAR関数を使います。

例)10人のクラスの平均点数から、一人ひとりの試験の点数を足して2乗した値
Aクラス:分散は20でした (クラスみんな点数は変わらないので、ちゃんと勉強してるのかな?それともみんなでカンニングペーパーを回しているのかも)

Bクラス:分散は600でした (出来る子と出来ない子が多いですね、先生は出来ない子も積極的に教えて平均をあげられるといいですね)

標準偏差
上記の分散の平方根を取ったものです。σシグマ)という記号を使います。

分散の値を平方根を取ることにより、元のサンプルと同じ単位で表現することにより理解をしやすくすることや、データの全体が正規分布だとした際に、ある値がどの程度の割合で発生するか判断するものです。
エクセルではSTDEVP関数を使います。

例)10人のクラスの平均点数から、一人ひとりの試験の点数を足して2乗した値
Aクラス:標準偏差は約4.5でした (クラスの95%は51点~69点に入ると思うよ:正規分布の仮定)

Bクラス:標準偏差は約24.5でした (クラスの95%は11点~109点に入ると思うよ:正規分布の仮定)

例のように簡単な統計の数字を見るだけでも、十分にデータを解析できるのです。

正規分布という言葉が出てきたので、次回は分布について説明したいと思います。


return top