diff --git a/market_trade/dataloader.py b/market_trade/core/dataloader.py similarity index 100% rename from market_trade/dataloader.py rename to market_trade/core/dataloader.py diff --git a/market_trade/notebooks/autogen/Signal hypers.py b/market_trade/notebooks/autogen/Signal hypers.py deleted file mode 100644 index 9634a33..0000000 --- a/market_trade/notebooks/autogen/Signal hypers.py +++ /dev/null @@ -1,90 +0,0 @@ -#!/usr/bin/env python -# coding: utf-8 - -# This notebook is designed for ray integrations for signals -# -# lets load askbid candlesticks file. - -# In[20]: - - -import market_trade.constants -import market_trade.dataloader - -candlesticks_filepaths = [filepath for filepath in market_trade.constants.CANDLESTICK_DATASETS_PATH.iterdir()] -candlesticks_filepath = candlesticks_filepaths[0] -duka_interface = market_trade.dataloader.DukaMTInterface(candlesticks_filepath) -duka_interface.bid_candlesticks - - -# Let's test signal. - -# In[21]: - - -import market_trade.signals.Signal1 - -bid_candlesticks_df = duka_interface.bid_candlesticks[:10000] - -ind_params = {'MeanType': 'SMA', 'window': 5, 'valueType': 'low', 'kDev': 2} -indEl1 = { - 'df': bid_candlesticks_df, - 'params': ind_params, - 'needFig': False, - 'showOnlyIndex': False, - 'drawFig': True -} -signal_result = market_trade.signals.Signal1.SignalBollingerBands1({'BB': indEl1}) -signal_result.analiz - - -# Now let's design ray trainable. - -# In[22]: - - -def trainable(config): - ind_params = {'MeanType': 'SMA', - 'window': config['window'], - 'valueType': config['value_type'], - 'kDev': config['k_dev']} - indEl1 = { - 'df': bid_candlesticks_df, - 'params': ind_params, - 'needFig': False, - 'showOnlyIndex': False, - 'drawFig': True - } - signal_result = market_trade.signals.Signal1.SignalBollingerBands1({'BB': indEl1}) - tune.report(accuracy=signal_result.analiz["toch"]) - - -# Let's create config space. - -# In[23]: - - -from ray import tune - -config = { - 'window': tune.qrandint(5,100,5), - 'value_type': tune.choice(['open', 'low', 'high', 'close']), - 'k_dev': tune.uniform(1,4) -} - - -# Let's run ray tune - -# In[24]: - - -analysis = tune.run(trainable, config=config, num_samples=100, mode='max', metric='accuracy') - - -# Let's see who was the best - -# In[31]: - - -analysis.best_config - diff --git a/market_trade/signals/Signal1.py b/market_trade/signals/Signal1.py deleted file mode 100644 index 659425c..0000000 --- a/market_trade/signals/Signal1.py +++ /dev/null @@ -1,129 +0,0 @@ -import pandas as pd -import datetime -import numpy as np -import plotly as pl -import plotly.graph_objs as go -import matplotlib.pyplot as plt -import math -import scipy -import random -import statistics - - -import datetime -import matplotlib.dates as mdates -import matplotlib.pyplot as plt - -import mplfinance as mpf - -import plotly -#import plotly.plotly as py -import plotly.graph_objs as go -# these two lines allow your code to show up in a notebook -from plotly.offline import init_notebook_mode, iplot -from plotly.subplots import make_subplots -init_notebook_mode() - -import market_trade.core.CoreTraidMath -import market_trade.core.CoreDraw -import market_trade.core.Ind_bollingerBands -import market_trade.signals.coreSignal - - -class SignalBollingerBands1(market_trade.signals.coreSignal.coreSignal): - def __init__(self, - IndDict={}, - mode='retro', - ): - super().__init__(name='1.1',mode=mode,target='nextBar',valeType='price') - self.IndDict=IndDict - self.BB=market_trade.core.Ind_bollingerBands.BB( - IndDict['BB']['df'], - IndDict['BB']['params'], - IndDict['BB']['needFig'], - IndDict['BB']['showOnlyIndex'], - IndDict['BB']['drawFig'] - ) - self.getAns() - if mode=='retro': - self.analiz=self.analiz() - - def getAns(self): - if self.mode=='retro': - df=self.BB.base_df#.set_index('date') - #print (df) - df_ind=pd.DataFrame.from_dict({ - 'date': self.BB.ans['x'], - 'BB': self.BB.ans['BB'], - 'pSTD': self.BB.ans['pSTD'], - 'mSTD': self.BB.ans['mSTD'], - }) - self.df_ind=df_ind - #df_ind=df_ind.set_index('date') - #print(df_ind) - dictSig={} - ans_sig=[] - analizLst=[] - difSize=len(df)-len(df_ind) - for i in range(len(df_ind)): - #print(df.iloc[i+dif]['date'],df_ind.iloc[i]['date']) - if df.iloc[i+difSize]['close'] >df_ind.iloc[i]['pSTD']: - ans_sig.append(1) - elif df.iloc[i+difSize]['close'] =df.iloc[i+difSize+1]['low']: - analizLst.append(-1) - elif ans_sig[i]==-1 and df.iloc[i+difSize]['close']>df.iloc[i+difSize+1]['low']: - analizLst.append(1) - elif ans_sig[i]==-1 and df.iloc[i+difSize]['close']<=df.iloc[i+difSize+1]['high']: - analizLst.append(-1) - else: - analizLst.append(0) - - self.analizLst=analizLst - - t=0 - f=0 - zeroNum=0 - for i in self.analizLst: - if i==1: - t=t+1 - if i==-1: - f=f+1 - if i==0: - zeroNum=zeroNum+1 - - ans={} - ans['chstota']=sum(self.analizLst)/len(self.analizLst) - ans['zeroNum %']=zeroNum/len(self.analizLst) - ans['t %']=t/len(self.analizLst) - ans['f %']=f/len(self.analizLst) - try: - ans['toch']=t/(t+f) - except: - pass - - return ans diff --git a/market_trade/signals/readme.txt b/market_trade/signals/readme.txt deleted file mode 100644 index 1b8a8da..0000000 --- a/market_trade/signals/readme.txt +++ /dev/null @@ -1,13 +0,0 @@ -Signal_1 - BB синал предсказывающий будет ли цена за следубщий бар больше\меньше цены закртыия текущего, если текущиий бар закрылся ниже\выше диапазона BB - - ind_params={'MeanType':'SMA','window':5,'valueType':'low','kDev':2} - #df_candle[:3000],ind_params,True,False,True - indEl1={ - 'df':df_candle[:3000], - 'params':ind_params, - 'needFig':False, - 'showOnlyIndex':False, - 'drawFig':True - } - a=Signal_1.SignalB_B_1({'BB':indEl1}) diff --git a/tools/test_signal.py b/tools/test_signal.py deleted file mode 100644 index 1595fd2..0000000 --- a/tools/test_signal.py +++ /dev/null @@ -1,37 +0,0 @@ -""" -Signal_1 -BB -синал -предсказывающий -будет -ли -цена -за -следубщий -бар -больше\меньше -цены -закртыия -текущего, если -текущиий -бар -закрылся -ниже\выше -диапазона -BB -""" - -import market_trade.signals.Signal1 - -df_candle = [] -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': df_candle[:3000], - 'params': ind_params, - 'needFig': False, - 'showOnlyIndex': False, - 'drawFig': True -} -a = market_trade.signals.Signal1.SignalBollingerBands1({'BB': indEl1})