LoginSignup
1
1

More than 3 years have passed since last update.

FXのデータを特異値分解(Singular Value Decomposition)

Last updated at Posted at 2019-10-14

前準備

まずFXのデータを準備する。今回用いたFXのデータはstooqから入手したcsvファイルを用いた。データ量に関しては任意。また実行するファイルとFXのデータは同一ディレクトリ内に保存している。

前処理

import pandas as pd
import numpy as np
A = pd.read_csv("usdjpy20142019.csv")
A.head()

実行結果(今回のデータはここ最近のおよそ5年分のデータを用いた。)
FX.head.PNG

Dateを除く。Dateを含めると、「TypeError: No loop matching the specified signature and casting was found for ufunc svd_n_f」というエラーを吐き出すため。
そして最後に特異値分解を行った結果をcsv形式にして保存を行う。

df = A.iloc[:, 1:]
U, S, V = np.linalg.svd(df, full_matrices=True)
U = pd.DataFrame(U)
U.to_csv("U.csv", index=True)
V = pd.DataFrame(V)
V.to_csv("V.csv", index=True)
S = pd.DataFrame(S)
S.to_csv("S.csv", index=True)

データ解析についてはまた今度、とりあえず今回は方法などを一通り実行できることの確認のつもりで行ってみた。また今回行ったプログラムについて

1. ファイルの取り扱いにおいて、別のディレクトリの場合の保存方法
2. Dateは含めるべきかどうか
3. 2において含めてよい場合の解決方法
4. excelファイルの場合の読み込み方法
5. excelファイルとcsvファイルの違い

以上についてが少し気になるため調べてみようと思う。

(追記)
pd.read_csv及びpd.to_csv
pd.read_excel及びpd.to_excel
excelとcsvの違いは理系の大学では実験装置に接続しているPCがOfficeをインストールしているわけではないからだ。簡単に言えば互換性の高いからcsvファイルで取り扱っている。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1