streamlit / utils /auxiliaries.py
arash7920's picture
Upload 19 files
97fe216
import pandas as pd
import numpy as np
import re
def timeframe_mapper(timeframe):
rule = {'min': 'minute', 'h': 'hour', 'd': 'day', 'w': 'week', 'm': 'month', 'q': 'quarter', 'y': 'year'}
results = re.split('(\d+)', timeframe)[1:]
results[0], results[1] = int(results[0]), rule[results[1]]
return results[0], results[1]
def create_dataframe(group):
try:
volume, open_price, = group['size'].sum(), group['price'].iloc[0]
close_price, delta = group['price'].iloc[-1], group['type'].sum()
high_price, low_price = group['price'].max(), group['price'].min()
adjusted_close_price = round(np.average(group['price'].values, weights=group['size'].values), 0)
candle = {'open': open_price, 'high': high_price, 'low': low_price, 'close': close_price,
'adjClose': adjusted_close_price, 'volume': volume, 'delta': delta}
return pd.DataFrame(candle, index=group.index).drop_duplicates(keep='first')
except IndexError:
candle = {'open': np.nan, 'high': np.nan, 'low': np.nan, 'close': np.nan, 'adjClose': np.nan,
'volume': np.nan, 'delta': np.nan}
return pd.DataFrame(candle, index=group.index).drop_duplicates(keep='first')