marketTrade/market_trade/notebooks/autogen/Make unified candlesticks data import.py
2022-08-13 16:13:02 +03:00

167 lines
3.6 KiB
Python

#!/usr/bin/env python
# coding: utf-8
# Let's try to get filepath of any candlesticks file.
# In[1]:
import market_trade.core.constants
candlesticks_filepaths = [filepath for filepath in market_trade.core.constants.CANDLESTICK_DATASETS_PATH.iterdir()]
candlesticks_filepath = candlesticks_filepaths[0]
candlesticks_filepath
# Let's import that file to pandas
# In[2]:
import pandas as pd
# we set two rows as multiheader, and parse dates in index
candlesticks_df = pd.read_csv(candlesticks_filepath,index_col=0, header=[0,1], parse_dates=True)
candlesticks_df['date'] = candlesticks_df.index
candlesticks_df.reset_index(inplace=True, drop=True)
ask_candlesticks_df = candlesticks_df['ask'].copy()
ask_candlesticks_df.head()
# Everything imported beatifully, let's attach the date to it
# In[3]:
ask_candlesticks_df['date'] = candlesticks_df['date']
ask_candlesticks_df.head()
# Let's test it
# In[4]:
"""
extract from test signal file
"""
import market_trade.signals.Signal1
ind_params = {'MeanType': 'SMA', 'window': 5, 'valueType': 'low', 'kDev': 2}
# df_candle[:3000],ind_params,True,False,True
# window 5..100 (5) | valueType: 'open', 'low' | 'kdev' : 1..4 (0.1)
indEl1 = {
'df': ask_candlesticks_df,
'params': ind_params,
'needFig': False,
'showOnlyIndex': False,
'drawFig': True
}
a = market_trade.signals.Signal1.SignalBollingerBands1({'BB': indEl1})
a.analiz
# Let's test that i didn't broke the file. Let's import test file, and compare results.
#
# Importing
# In[5]:
test_candlesticks = pd.read_csv(market_trade.core.constants.TEST_CANDLESTICKS_PATH)
test_candlesticks['date'] = test_candlesticks['timestamp']
test_candlesticks.drop(['timestamp'], axis=1, inplace=True)
test_candlesticks.head()
# Comparing results
# In[6]:
"""
expected results
{'chstota': 0.3555926544240401,
'zeroNum %': 0.5963272120200334,
't %': 0.37963272120200336,
'f %': 0.024040066777963272,
'toch': 0.9404466501240695}
"""
import market_trade.signals.Signal1
ind_params = {'MeanType': 'SMA', 'window': 5, 'valueType': 'low', 'kDev': 2}
# df_candle[:3000],ind_params,True,False,True
# window 5..100 (5) | valueType: 'open', 'low' | 'kdev' : 1..4 (0.1)
indEl1 = {
'df': test_candlesticks[:3000],
'params': ind_params,
'needFig': False,
'showOnlyIndex': False,
'drawFig': True
}
a = market_trade.signals.Signal1.SignalBollingerBands1({'BB': indEl1})
a.analiz
# Nice! And lets try full file
# In[16]:
ind_params = {'MeanType': 'SMA', 'window': 5, 'valueType': 'low', 'kDev': 2}
# df_candle[:3000],ind_params,True,False,True
# window 5..100 (5) | valueType: 'open', 'low' | 'kdev' : 1..4 (0.1)
indEl1 = {
'df': test_candlesticks[:10000],
'params': ind_params,
'needFig': False,
'showOnlyIndex': False,
'drawFig': True
}
a = market_trade.signals.Signal1.SignalBollingerBands1({'BB': indEl1})
a.analiz
# Let's test our file loading
# In[8]:
candlesticks_filepaths
# Let's choose EURUSD candletsicks
# In[11]:
candlesticks_filepath = candlesticks_filepaths[5]
candlesticks_df = pd.read_csv(candlesticks_filepath,index_col=0, header=[0,1], parse_dates=True)
candlesticks_df['date'] = candlesticks_df.index
candlesticks_df.reset_index(inplace=True, drop=True)
ask_candlesticks_df = candlesticks_df['ask'].copy()
ask_candlesticks_df['date'] = candlesticks_df['date']
ask_candlesticks_df.head()
# Let's test
# In[15]:
ind_params = {'MeanType': 'SMA', 'window': 5, 'valueType': 'low', 'kDev': 2}
indEl1 = {
'df': ask_candlesticks_df[:10000],
'params': ind_params,
'needFig': False,
'showOnlyIndex': False,
'drawFig': True
}
a = market_trade.signals.Signal1.SignalBollingerBands1({'BB': indEl1})
a.analiz