diff --git a/market_trade/core/CoreDraw.py b/market_trade/core/CoreDraw.py index d764c83..7e5b680 100644 --- a/market_trade/core/CoreDraw.py +++ b/market_trade/core/CoreDraw.py @@ -25,7 +25,7 @@ from plotly.offline import init_notebook_mode, iplot from plotly.subplots import make_subplots init_notebook_mode() -import CoreTraidMath +import market_trade.core.CoreTraidMath import plotly.express as px diff --git a/market_trade/core/Ind_Alligator.py b/market_trade/core/Ind_Alligator.py index 426a0a2..c734004 100644 --- a/market_trade/core/Ind_Alligator.py +++ b/market_trade/core/Ind_Alligator.py @@ -46,7 +46,7 @@ class Alligator: 'valueType':self.options['valueType'], 'window':self.options[keyAns]['window']} } - ans=CoreTraidMath.CoreMath(self.base_df,op).ans + ans=market_trade.core.CoreTraidMath.CoreMath(self.base_df,op).ans return ans diff --git a/market_trade/core/Ind_Envelopes.py b/market_trade/core/Ind_Envelopes.py index d452155..f4b014d 100644 --- a/market_trade/core/Ind_Envelopes.py +++ b/market_trade/core/Ind_Envelopes.py @@ -64,7 +64,7 @@ class Envelopes: } if dictResp['MeanType']=='SMA': - y=CoreTraidMath.CoreMath(self.base_df,op).ans + y=market_trade.core.CoreTraidMath.CoreMath(self.base_df,op).ans ans['MainEnv']=y[:len(y)-self.options['shift']] ans['PlusEnv']=ans['MainEnv']*(1+self.options['kProc']/100) ans['MinusEnv']=ans['MainEnv']*(1-self.options['kProc']/100) diff --git a/market_trade/core/Ind_Ishimoku.py b/market_trade/core/Ind_Ishimoku.py index 21fbff6..48f5a5e 100644 --- a/market_trade/core/Ind_Ishimoku.py +++ b/market_trade/core/Ind_Ishimoku.py @@ -23,7 +23,7 @@ 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 -import CoreDraw +import market_trade.core.CoreDraw init_notebook_mode() import market_trade.core.CoreTraidMath import plotly.express as px diff --git a/market_trade/core/Ind_Stochastic.py b/market_trade/core/Ind_Stochastic.py index 5c3129a..1d8a412 100644 --- a/market_trade/core/Ind_Stochastic.py +++ b/market_trade/core/Ind_Stochastic.py @@ -69,7 +69,7 @@ class Stochastic: 'action':'findMean', 'actionOptions':{'MeanType':'SMA','window':self.options['windowSMA']} } - ans=np.asarray(CoreTraidMath.CoreMath(ser,op).ans) + ans=np.asarray(market_trade.core.CoreTraidMath.CoreMath(ser,op).ans) return ans #return np.convolve(col, np.ones(self.options['windowSMA']), 'valid') /self.options['windowSMA'] diff --git a/market_trade/core/decisionManager.md b/market_trade/core/decisionManager.md index 44bc4ef..f1ef689 100644 --- a/market_trade/core/decisionManager.md +++ b/market_trade/core/decisionManager.md @@ -2,9 +2,9 @@ project:: #bibasCopy # Импорт Для начала импортим все что нужно ```python -from decisionManager_v2 import * -from indicators_v2 import * -from signals_v2 import * +from market_trade.core.decisionManager_v2 import * +from market_trade.core.indicators_v2 import * +from market_trade.core.signals_v2 import * ``` Подготавливаем данные по которым собирется модель. Модель представляет из себя словарь в следующем формате: @@ -174,9 +174,9 @@ test.generateMatrixProbabilityFromDict(retroAns) ``` ## Итоговый код ```python -from decisionManager_v2 import * -from indicators_v2 import * -from signals_v2 import * +from market_trade.core.decisionManager_v2 import * +from market_trade.core.indicators_v2 import * +from market_trade.core.signals_v2 import * import pandas as pd diff --git a/market_trade/core/decisionManager_v2.py b/market_trade/core/decisionManager_v2.py index e609ab1..5b1b703 100644 --- a/market_trade/core/decisionManager_v2.py +++ b/market_trade/core/decisionManager_v2.py @@ -6,11 +6,11 @@ import numpy as np from tqdm import tqdm -from indicators_v2 import * -from signals_v2 import * -from dealManager import * -from trandeVoter import * -from riskManager import * +from market_trade.core.indicators_v2 import * +from market_trade.core.signals_v2 import * +from market_trade.core.dealManager import * +from market_trade.core.trandeVoter import * +from market_trade.core.riskManager import * import pickle diff --git a/market_trade/core/indicators.py b/market_trade/core/indicators.py index ade4d59..a1b8cd4 100644 --- a/market_trade/core/indicators.py +++ b/market_trade/core/indicators.py @@ -2,8 +2,8 @@ import pandas as pd import datetime import numpy as np -import CoreTraidMath -import CoreDraw +import market_trade.core.CoreTraidMath +import market_trade.core.CoreDraw class coreIndicator(): def __init__(self, @@ -31,7 +31,7 @@ class coreIndicator(): self.getFig() return self.ans def getFig(self,row=1): - CoreDraw.coreDraw(self.figDict,True) + market_trade.core.CoreDraw.market_trade.core.CoreDraw(self.figDict,True) def getCalculate(self): return "Error" def getFigDict(self): @@ -79,7 +79,7 @@ class indicatorAgrigator(): req[0].append(i) else: req.append([i]) - CoreDraw.agrigateFig(req,True) + market_trade.core.CoreDraw.agrigateFig(req,True) def runAll(self,indList,df,needDraw=False): self.createIndFromList(indList) self.calculateInd(df) @@ -99,12 +99,12 @@ class ind_BB(coreIndicator): 'window':self.options['window'] } } - ans['BB']=CoreTraidMath.CoreMath(self.data,opMA).ans + ans['BB']=market_trade.core.CoreTraidMath.CoreMath(self.data,opMA).ans opSTD={'dataType':'ohcl', 'action':'findSTD', 'actionOptions':{'valueType':self.options['valueType'],'window':self.options['window']} } - ans['STD']=CoreTraidMath.CoreMath(self.data,opSTD).ans + ans['STD']=market_trade.core.CoreTraidMath.CoreMath(self.data,opSTD).ans ans['pSTD']=ans['BB']+ans['STD']*self.options['kDev'] ans['mSTD']=ans['BB']-ans['STD']*self.options['kDev'] ans['x']=np.array(self.data['date'][self.options['window']-1:].to_list()) diff --git a/market_trade/core/indicators_v2.py b/market_trade/core/indicators_v2.py index d4103c8..09b9ee9 100644 --- a/market_trade/core/indicators_v2.py +++ b/market_trade/core/indicators_v2.py @@ -2,7 +2,7 @@ import pandas as pd import datetime import numpy as np -import CoreTraidMath +import market_trade.core.CoreTraidMath class coreIndicator(): @@ -75,12 +75,12 @@ class ind_BB(coreIndicator): 'window':self.options['window'] } } - ans['BB']=CoreTraidMath.CoreMath(data,opMA).ans + ans['BB']=market_trade.core.CoreTraidMath.CoreMath(data,opMA).ans opSTD={'dataType':'ohcl', 'action':'findSTD', 'actionOptions':{'valueType':self.options['valueType'],'window':self.options['window']} } - ans['STD']=CoreTraidMath.CoreMath(data,opSTD).ans + ans['STD']=market_trade.core.CoreTraidMath.CoreMath(data,opSTD).ans ans['pSTD']=ans['BB']+ans['STD']*self.options['kDev'] ans['mSTD']=ans['BB']-ans['STD']*self.options['kDev'] ans['x']=np.array(data['date'][self.options['window']-1:].to_list()) diff --git a/market_trade/core/signals.py b/market_trade/core/signals.py index e33db24..630b96e 100644 --- a/market_trade/core/signals.py +++ b/market_trade/core/signals.py @@ -2,11 +2,11 @@ import pandas as pd import datetime import numpy as np -import CoreTraidMath -import CoreDraw +import market_trade.core.CoreTraidMath +import market_trade.core.CoreDraw from tqdm import tqdm -from indicators import * +from market_trade.core.indicators import * class coreSignalTrande(): def __init__(self, diff --git a/market_trade/core/signals_v2.py b/market_trade/core/signals_v2.py index 907cafa..a2c77af 100644 --- a/market_trade/core/signals_v2.py +++ b/market_trade/core/signals_v2.py @@ -2,11 +2,11 @@ import pandas as pd import datetime import numpy as np -import CoreTraidMath -#import CoreDraw +import market_trade.core.CoreTraidMath +#import market_trade.core.CoreDraw from tqdm import tqdm -from indicators_v2 import * +from market_trade.core.indicators_v2 import * diff --git a/market_trade/data/dataloader.py b/market_trade/data/dataloader.py index 846c24a..f7c94d8 100644 --- a/market_trade/data/dataloader.py +++ b/market_trade/data/dataloader.py @@ -22,7 +22,7 @@ class DukaMTInterface: # droppnig old timestamp index self.duka_dataset.reset_index(inplace=True, drop=True) - + print(self.duka_dataset) # adding bids self.bid_candlesticks = self.duka_dataset['bid'].copy() self.bid_candlesticks['date'] = self.duka_dataset['date'] diff --git a/market_trade/tests/test_decision.py b/market_trade/tests/test_decision.py index 5697a7d..55cfc64 100644 --- a/market_trade/tests/test_decision.py +++ b/market_trade/tests/test_decision.py @@ -1 +1,50 @@ -im \ No newline at end of file +from market_trade.core.decisionManager_v2 import * +from market_trade.core.indicators_v2 import * +from market_trade.core.signals_v2 import * +import market_trade.data.dataloader + + +sigAgrReq = { + 'sig_BB':{ + 'className':sig_BB, + 'params':{'source':'close','target':'close'}, + 'indicators':{ + 'ind_BB':{ + 'className':ind_BB, + 'params':{'MeanType':'SMA','window':30,'valueType':'close','kDev':2.5} + } + } + }, + 'sig_BB_2':{ + 'className':sig_BB, + 'params':{'source':'close','target':'close'}, + 'indicators':{ + 'ind_BB':{ + 'className':ind_BB, + 'params':{'MeanType':'SMA','window':30,'valueType':'close','kDev':2} + } + } + } +} + +test = decsionManager('Pipa', sigAgrReq) + + +import pandas as pd + +df_candle = pd.read_csv("../../data/EURUSD_price_candlestick.csv") +df_candle["date"] = df_candle["timestamp"] +sigAgrRetroTemplate = { + 'sig_BB':{ + 'signalData': None, + 'indicatorData' :{'ind_BB': None} + }, + 'sig_BB_2':{ + 'signalData': None, + 'indicatorData' :{'ind_BB': None} + } +} + +retroAns = test.getRetroTrendAns(sigAgrRetroTemplate,df_candle[:5000],40) + +print(test.generateMatrixProbabilityFromDict(retroAns)) \ No newline at end of file