#!/usr/bin/env python
import pandas as pd
import matplotlib.pyplot as plt
import numpy as np
from matplotlib.finance import candlestick
from datetime import *
def conv_str_to_datetime(x):
return(datetime.strptime(x, '%Y%m%d %H:%M:%S.%f'))
df = pd.read_csv('test_EURUSD/EURUSD-2012-07.csv', names=['Symbol', 'Date_Time', 'Bid', 'Ask'], index_col=1, parse_dates=True)
PipPosition = 4
df['Spread'] = (df['Ask'] - df['Bid']) * 10**PipPosition
print(df)
print("="*10)
print(df.ix[0])
print("Bid={0}".format(df['Bid'].mean()))
print("Ask={0}".format(df['Ask'].mean()))
print("Spread={0}".format(df['Spread'].mean()))
grouped = df.groupby('Symbol')
ask = grouped['Ask'].resample('5Min', how='ohlc')
bid = grouped['Bid'].resample('5Min', how='ohlc')
df2 = pd.concat([ask, bid], axis=1, keys=['Ask', 'Bid'])
print(df2)
#Date = df2.index.get_level_values(1).astype(object)
#Date = pd.to_datetime(df2.index.get_level_values(1))
Date = range(len(df2))
#ToFix : Date !
Open = df2['Bid']['open'].values
Close = df2['Bid']['close'].values
High = df2['Bid']['high'].values
Low = df2['Bid']['low'].values
Volume = np.zeros(len(df2))
DOCHLV = zip(Date, Open, Close, High, Low, Volume)
fig = plt.figure()
fig.subplots_adjust(bottom=0.1)
ax = fig.add_subplot(211)
df['Bid'].plot()
plt.title("Price graph")
ax = fig.add_subplot(212)
plt.title("Candlestick chart")
candlestick(ax, DOCHLV, width=0.6, colorup='g', colordown='r', alpha=1.0)
plt.show()