Guest User

Untitled

a guest
Jul 22nd, 2018
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.69 KB | None | 0 0
  1. import pandas as pd
  2. import numpy as np
  3. from future_functions import *
  4.  
  5. # Load CSV Data
  6.  
  7. data = pd.read_csv('Data/EURUSDHours.csv')
  8.  
  9. data.columns = ['Date','open','high','low','close','AskVol']
  10.  
  11. data = data.set_index(pd.to_datetime(data.Date))
  12.  
  13. data = data[['open','high','low','close','AskVol']]
  14.  
  15. prices = data.drop_duplicates(keep=False)
  16.  
  17. hkaprices = prices.copy()
  18. hkaprices['Symbol'] = 'SYMB'
  19.  
  20. HKA = OHLCresample(hkaprices,'15H')
  21.  
  22. def OHLCresample(DataFrame,TimeFrame,column='ask'):
  23.  
  24. grouped = DataFrame.groupby('Symbol')
  25.  
  26. if np.any(DataFrame.columns == 'Ask'):
  27.  
  28. if column == 'ask':
  29. ask = grouped['Ask'].resample(TimeFrame).ohlc()
  30. askVol = grouped['AskVol'].resample(TimeFrame).count()
  31. resampled = pd.DataFrame(ask)
  32. resampled['AskVol'] = askVol
  33.  
  34. elif column == 'bid':
  35. bid = grouped['Bid'].resample(TimeFrame).ohlc()
  36. bidVol = grouped['BidVol'].resample(TimeFrame).count()
  37. resampled = pd.DataFrame(bid)
  38. resampled['BidVol'] = bidVol
  39.  
  40. else:
  41.  
  42. raise ValueError('Column must be a string. Either ask or bid')
  43.  
  44. elif np.any(DataFrame.columns == 'close'):
  45. open = grouped['open'].resample(TimeFrame).ohlc()
  46. close = grouped['close'].resample(TimeFrame).ohlc()
  47. high = grouped['high'].resample(TimeFrame).ohlc()
  48. low = grouped['low'].resample(TimeFrame).ohlc()
  49. askVol = grouped['AskVol'].resample(TimeFrame).ohlc()
  50.  
  51. resampled = pd.DataFrame(open)
  52. resampled['high'] = high
  53. resampled['low'] = low
  54. resampled['close'] = close
  55. resampled['AskVol'] = askVol
  56.  
  57. resampled = resampled.dropna()
  58.  
  59. return resampled
Add Comment
Please, Sign In to add comment