Update CoreTraidMath.py

This commit is contained in:
Redsandy 2022-03-04 16:37:47 +03:00 committed by GitHub
parent 13232c07ca
commit 785daedb36

View File

@ -37,7 +37,7 @@ class CoreMath:
self.base_df=base_df.reset_index(drop=True) self.base_df=base_df.reset_index(drop=True)
self.params=params self.params=params
if self.params['dataType']=='ohcl': if self.params['dataType']=='ohcl':
self.col=self.base_df[[self.params['actionOptions']['valueType']]] self.col=self.base_df[self.params['actionOptions']['valueType']]
elif self.params['dataType']=='series': elif self.params['dataType']=='series':
self.col=self.base_df self.col=self.base_df
self.ans=self.getAns() self.ans=self.getAns()
@ -101,18 +101,17 @@ class CoreMath:
ans = self.col.mean() ans = self.col.mean()
if self.params['actionOptions']['MeanType']=='SMA': if self.params['actionOptions']['MeanType']=='SMA':
#ans=np.convolve(self.col, np.ones(self.params['actionOptions']['window']), 'valid') / self.params['actionOptions']['window'] #ans=np.convolve(self.col, np.ones(self.params['actionOptions']['window']), 'valid') / self.params['actionOptions']['window']
ans=self.col.rolling(window=self.params['actionOptions']['window']).mean() ans=self.col.rolling(window=self.params['actionOptions']['window']).mean().to_list()
if self.params['actionOptions']['MeanType']=='EMA': if self.params['actionOptions']['MeanType']=='EMA':
ans=self.col.ewm(span=elf.params['actionOptions']['span'], adjust=False).mean() ans=self.col.ewm(span=self.params['actionOptions']['span'], adjust=False).mean().to_list()
if self.params['actionOptions']['MeanType']=='WMA': if self.params['actionOptions']['MeanType']=='WMA':
try: try:
weights=self.params['actionOptions']['weights'] weights=self.params['actionOptions']['weights']
except KeyError: except KeyError:
weights=np.arange(1,self.params['actionOptions']['window']+1) weights=np.arange(1,self.params['actionOptions']['window']+1)
ans=self.col.rolling(window=self.params['actionOptions']['window']).apply(lambda x: np.sum(weights*x) / weights.sum(), raw=False) ans=self.col.rolling(window=self.params['actionOptions']['window']).apply(lambda x: np.sum(weights*x) / weights.sum(), raw=False).to_list()
return(ans) return(ans)