import jhtalib as jhta
from pprint import pprint as pp
import numpy as np
import pandas as pd
def DF2NUMPY(df):
"""
DataFeed 2 NumPy DataFeed
"""
return {
'datetime': np.array(df['datetime']),
'Open': np.array(df['Open'], dtype=float),
'High': np.array(df['High'], dtype=float),
'Low': np.array(df['Low'], dtype=float),
'Close': np.array(df['Close'], dtype=float),
'Volume': np.array(df['Volume'], dtype=int)
}
def NUMPY2DF(df_np):
"""
NumPy DataFeed 2 DataFeed
"""
return {
'datetime': tuple(df_np['datetime']),
'Open': tuple(df_np['Open']),
'High': tuple(df_np['High']),
'Low': tuple(df_np['Low']),
'Close': tuple(df_np['Close']),
'Volume': tuple(df_np['Volume'])
}
def DF2PANDAS(df):
"""
DataFeed 2 Pandas DataFeed
"""
return pd.DataFrame({
'datetime': pd.Series(df['datetime']),
'Open': pd.Series(df['Open'], dtype=float),
'High': pd.Series(df['High'], dtype=float),
'Low': pd.Series(df['Low'], dtype=float),
'Close': pd.Series(df['Close'], dtype=float),
'Volume': pd.Series(df['Volume'], dtype=int),
}, columns=['datetime', 'Open', 'High', 'Low', 'Close', 'Volume'])
def PANDAS2DF(df_pd):
"""
Pandas DataFeed 2 DataFeed
"""
return {
'datetime': tuple(df_pd['datetime']),
'Open': tuple(df_pd['Open']),
'High': tuple(df_pd['High']),
'Low': tuple(df_pd['Low']),
'Close': tuple(df_pd['Close']),
'Volume': tuple(df_pd['Volume'])
}
df = jhta.CSVURL2DF('https://raw.githubusercontent.com/joosthoeks/jhTAlib/master/example/data.csv')
pp (df)
df_np = DF2NUMPY(df)
pp (df_np)
df = NUMPY2DF(df_np)
pp (df)
df_pd = DF2PANDAS(df)
pp (df_pd)
df = PANDAS2DF(df_pd)
pp (df)