Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import pandas as pd
- import numpy as np
- from future_functions import *
- # Load CSV Data
- data = pd.read_csv('Data/EURUSDHours.csv')
- data.columns = ['Date','open','high','low','close','AskVol']
- data = data.set_index(pd.to_datetime(data.Date))
- data = data[['open','high','low','close','AskVol']]
- prices = data.drop_duplicates(keep=False)
- hkaprices = prices.copy()
- hkaprices['Symbol'] = 'SYMB'
- HKA = OHLCresample(hkaprices,'15H')
- def OHLCresample(DataFrame,TimeFrame,column='ask'):
- grouped = DataFrame.groupby('Symbol')
- if np.any(DataFrame.columns == 'Ask'):
- if column == 'ask':
- ask = grouped['Ask'].resample(TimeFrame).ohlc()
- askVol = grouped['AskVol'].resample(TimeFrame).count()
- resampled = pd.DataFrame(ask)
- resampled['AskVol'] = askVol
- elif column == 'bid':
- bid = grouped['Bid'].resample(TimeFrame).ohlc()
- bidVol = grouped['BidVol'].resample(TimeFrame).count()
- resampled = pd.DataFrame(bid)
- resampled['BidVol'] = bidVol
- else:
- raise ValueError('Column must be a string. Either ask or bid')
- elif np.any(DataFrame.columns == 'close'):
- open = grouped['open'].resample(TimeFrame).ohlc()
- close = grouped['close'].resample(TimeFrame).ohlc()
- high = grouped['high'].resample(TimeFrame).ohlc()
- low = grouped['low'].resample(TimeFrame).ohlc()
- askVol = grouped['AskVol'].resample(TimeFrame).ohlc()
- resampled = pd.DataFrame(open)
- resampled['high'] = high
- resampled['low'] = low
- resampled['close'] = close
- resampled['AskVol'] = askVol
- resampled = resampled.dropna()
- return resampled
Add Comment
Please, Sign In to add comment