fixed some hierarchial stuff

This commit is contained in:
Mark 2024-03-16 20:45:20 +01:00
parent 8d8d102a14
commit fffd4b9e58
13 changed files with 82 additions and 33 deletions

View File

@ -25,7 +25,7 @@ from plotly.offline import init_notebook_mode, iplot
from plotly.subplots import make_subplots from plotly.subplots import make_subplots
init_notebook_mode() init_notebook_mode()
import CoreTraidMath import market_trade.core.CoreTraidMath
import plotly.express as px import plotly.express as px

View File

@ -46,7 +46,7 @@ class Alligator:
'valueType':self.options['valueType'], 'valueType':self.options['valueType'],
'window':self.options[keyAns]['window']} '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 return ans

View File

@ -64,7 +64,7 @@ class Envelopes:
} }
if dictResp['MeanType']=='SMA': 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['MainEnv']=y[:len(y)-self.options['shift']]
ans['PlusEnv']=ans['MainEnv']*(1+self.options['kProc']/100) ans['PlusEnv']=ans['MainEnv']*(1+self.options['kProc']/100)
ans['MinusEnv']=ans['MainEnv']*(1-self.options['kProc']/100) ans['MinusEnv']=ans['MainEnv']*(1-self.options['kProc']/100)

View File

@ -23,7 +23,7 @@ import plotly.graph_objs as go
# these two lines allow your code to show up in a notebook # these two lines allow your code to show up in a notebook
from plotly.offline import init_notebook_mode, iplot from plotly.offline import init_notebook_mode, iplot
from plotly.subplots import make_subplots from plotly.subplots import make_subplots
import CoreDraw import market_trade.core.CoreDraw
init_notebook_mode() init_notebook_mode()
import market_trade.core.CoreTraidMath import market_trade.core.CoreTraidMath
import plotly.express as px import plotly.express as px

View File

@ -69,7 +69,7 @@ class Stochastic:
'action':'findMean', 'action':'findMean',
'actionOptions':{'MeanType':'SMA','window':self.options['windowSMA']} '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 ans
#return np.convolve(col, np.ones(self.options['windowSMA']), 'valid') /self.options['windowSMA'] #return np.convolve(col, np.ones(self.options['windowSMA']), 'valid') /self.options['windowSMA']

View File

@ -2,9 +2,9 @@ project:: #bibasCopy
# Импорт # Импорт
Для начала импортим все что нужно Для начала импортим все что нужно
```python ```python
from decisionManager_v2 import * from market_trade.core.decisionManager_v2 import *
from indicators_v2 import * from market_trade.core.indicators_v2 import *
from signals_v2 import * from market_trade.core.signals_v2 import *
``` ```
Подготавливаем данные по которым собирется модель. Модель представляет из себя словарь в следующем формате: Подготавливаем данные по которым собирется модель. Модель представляет из себя словарь в следующем формате:
@ -174,9 +174,9 @@ test.generateMatrixProbabilityFromDict(retroAns)
``` ```
## Итоговый код ## Итоговый код
```python ```python
from decisionManager_v2 import * from market_trade.core.decisionManager_v2 import *
from indicators_v2 import * from market_trade.core.indicators_v2 import *
from signals_v2 import * from market_trade.core.signals_v2 import *
import pandas as pd import pandas as pd

View File

@ -6,11 +6,11 @@ import numpy as np
from tqdm import tqdm from tqdm import tqdm
from indicators_v2 import * from market_trade.core.indicators_v2 import *
from signals_v2 import * from market_trade.core.signals_v2 import *
from dealManager import * from market_trade.core.dealManager import *
from trandeVoter import * from market_trade.core.trandeVoter import *
from riskManager import * from market_trade.core.riskManager import *
import pickle import pickle

View File

@ -2,8 +2,8 @@ import pandas as pd
import datetime import datetime
import numpy as np import numpy as np
import CoreTraidMath import market_trade.core.CoreTraidMath
import CoreDraw import market_trade.core.CoreDraw
class coreIndicator(): class coreIndicator():
def __init__(self, def __init__(self,
@ -31,7 +31,7 @@ class coreIndicator():
self.getFig() self.getFig()
return self.ans return self.ans
def getFig(self,row=1): def getFig(self,row=1):
CoreDraw.coreDraw(self.figDict,True) market_trade.core.CoreDraw.market_trade.core.CoreDraw(self.figDict,True)
def getCalculate(self): def getCalculate(self):
return "Error" return "Error"
def getFigDict(self): def getFigDict(self):
@ -79,7 +79,7 @@ class indicatorAgrigator():
req[0].append(i) req[0].append(i)
else: else:
req.append([i]) req.append([i])
CoreDraw.agrigateFig(req,True) market_trade.core.CoreDraw.agrigateFig(req,True)
def runAll(self,indList,df,needDraw=False): def runAll(self,indList,df,needDraw=False):
self.createIndFromList(indList) self.createIndFromList(indList)
self.calculateInd(df) self.calculateInd(df)
@ -99,12 +99,12 @@ class ind_BB(coreIndicator):
'window':self.options['window'] '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', opSTD={'dataType':'ohcl',
'action':'findSTD', 'action':'findSTD',
'actionOptions':{'valueType':self.options['valueType'],'window':self.options['window']} '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['pSTD']=ans['BB']+ans['STD']*self.options['kDev']
ans['mSTD']=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()) ans['x']=np.array(self.data['date'][self.options['window']-1:].to_list())

View File

@ -2,7 +2,7 @@ import pandas as pd
import datetime import datetime
import numpy as np import numpy as np
import CoreTraidMath import market_trade.core.CoreTraidMath
class coreIndicator(): class coreIndicator():
@ -75,12 +75,12 @@ class ind_BB(coreIndicator):
'window':self.options['window'] 'window':self.options['window']
} }
} }
ans['BB']=CoreTraidMath.CoreMath(data,opMA).ans ans['BB']=market_trade.core.CoreTraidMath.CoreMath(data,opMA).ans
opSTD={'dataType':'ohcl', opSTD={'dataType':'ohcl',
'action':'findSTD', 'action':'findSTD',
'actionOptions':{'valueType':self.options['valueType'],'window':self.options['window']} '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['pSTD']=ans['BB']+ans['STD']*self.options['kDev']
ans['mSTD']=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()) ans['x']=np.array(data['date'][self.options['window']-1:].to_list())

View File

@ -2,11 +2,11 @@ import pandas as pd
import datetime import datetime
import numpy as np import numpy as np
import CoreTraidMath import market_trade.core.CoreTraidMath
import CoreDraw import market_trade.core.CoreDraw
from tqdm import tqdm from tqdm import tqdm
from indicators import * from market_trade.core.indicators import *
class coreSignalTrande(): class coreSignalTrande():
def __init__(self, def __init__(self,

View File

@ -2,11 +2,11 @@ import pandas as pd
import datetime import datetime
import numpy as np import numpy as np
import CoreTraidMath import market_trade.core.CoreTraidMath
#import CoreDraw #import market_trade.core.CoreDraw
from tqdm import tqdm from tqdm import tqdm
from indicators_v2 import * from market_trade.core.indicators_v2 import *

View File

@ -22,7 +22,7 @@ class DukaMTInterface:
# droppnig old timestamp index # droppnig old timestamp index
self.duka_dataset.reset_index(inplace=True, drop=True) self.duka_dataset.reset_index(inplace=True, drop=True)
print(self.duka_dataset)
# adding bids # adding bids
self.bid_candlesticks = self.duka_dataset['bid'].copy() self.bid_candlesticks = self.duka_dataset['bid'].copy()
self.bid_candlesticks['date'] = self.duka_dataset['date'] self.bid_candlesticks['date'] = self.duka_dataset['date']

View File

@ -1 +1,50 @@
im 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))