為替データを外部から取得して、iPython notebookに取り込む方法 | Visualize the Invisible

Visualize the Invisible

データとAIを使って、混沌とした世界を「見える化」したい。


為替データのiPython Notebookによるデータフレーム化手順をまとめてみた。

まず、ネットから為替データ(USドル)をCSVファイルでダウンロード。

このUSDJPY.csvを読み込み、MySQLに取り込むスクリプトをローカルに作成

http://localhost/finance/index.php

イメージ 2
















今度はiPython notebook で読み込めるようにする。

(参考)


----------------------------------

  import pandas as pd
  from pandas.io import sql
  import numpy as np
  import pylab as plt
  import pymysql

In [10]:
conn = pymysql.connect(host='localhost', user='***', passwd='***', db='finance')
cursor = conn.cursor()

In [15]:
cursor.execute('select usd_date_c, usd_adjclose_c from usdjpy_t');
rows = cursor.fetchall()
In [16]:

str(rows)[0:300]
Out[16]:
"(('2015/05/01', '119.36'), ('2015/05/04', '119.97'), ・・

In [21]:

df = pd.DataFrame( [[ij for ij in i] for i in rows] )
df.rename(columns={0: 'Date', 1: 'Adj Close'}, inplace=True);
df = df.sort(['Date'], ascending=[1]);

In [22]:
df.head()

Out[22]:
Date Adj Close
0 2015/05/01 119.36
1 2015/05/04 119.97
2 2015/05/05 119.73
3 2015/05/06 119.21
4 2015/05/07 119.03


In [19]:
df.info()
<class 'pandas.core.frame.DataFrame'>
Int64Index: 260 entries, 0 to 259
Data columns (total 2 columns):
Date         260 non-null object
Adj_Close    260 non-null object
dtypes: object(2)
memory usage: 6.1+ KB

In [23]:
df['Adj Close'] = df['Adj Close'] .astype(float)
In [25]:
import matplotlib.pyplot as plt
import seaborn as sns
sns.set_style('whitegrid')
%matplotlib inline
In [26]:

df.plot(x='Date',y=['Adj Close'],marker='',linestyle='-',figsize=(10,4) )
plt.savefig('20160502_usd.png')

イメージ 1